Perché il Google Play Store dice che la mia app Android non è compatibile con il mio dispositivo?


91

Sono riluttante a porre questa domanda, perché sembra che molte persone abbiano un problema simile e tuttavia non ho trovato alcuna soluzione che risolva il mio caso particolare.

Ho sviluppato un'app per Android ( collegamento all'app attuale ) e l'ho caricata nel Play Store. Il Play Store dice

"This app is incompatible with your XT Mobile Network HTC HTC Wildfire S A510b."

Ovviamente questo è il telefono su cui ho sviluppato l'app, quindi dovrebbe essere compatibile. Alcune persone con altri dispositivi dicono che segnala compatibile, altri dicono che segnala incompatibile, ma non riesco a trovare alcuna tendenza. (A quanto pare non conosco molte persone con dispositivi Android.)

Ho provato quanto segue:

  • spostare un file di grandi dimensioni fuori dalla res/rawdirectory come suggerito da questa risposta . L'unico file presente era un file di testo di ~ 700 kB, ma l'ho spostato assets/senza modifiche apparenti.

  • aggiungendo le seguenti due asserzioni di funzionalità:

    <uses-feature android:name="android.hardware.faketouch" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
    

    pensando che forse il mio telefono non pretende di supportare la solita android.hardware.touchscreenfunzionalità, ma ancora una volta, senza cambiamenti apparenti.

Quando carichi l'APK nel Play Store, l'unico filtro che segnala come attivo è la android.hardware.faketouchfunzione.

Il seguente è l'output di aapt dump badging bin/NZSLDict-release.apk:

package: name='com.hewgill.android.nzsldict' versionCode='3' versionName='1.0.2'
sdkVersion:'4'
targetSdkVersion:'4'
uses-feature:'android.hardware.faketouch'
uses-feature-not-required:'android.hardware.touchscreen'
application-label:'NZSL Dictionary'
application-icon-160:'res/drawable/icon.png'
application: label='NZSL Dictionary' icon='res/drawable/icon.png'
launchable-activity: name='com.hewgill.android.nzsldict.NZSLDictionary'  label='NZSL Dictionary' icon=''
main
other-activities
supports-screens: 'small' 'normal' 'large'
supports-any-density: 'true'
locales: '--_--'
densities: '160'

e per completezza, il mio file manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.hewgill.android.nzsldict"
      android:versionCode="3"
      android:versionName="1.0.2">
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="4" />
    <uses-feature android:name="android.hardware.faketouch" />
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
    <application android:label="@string/app_name"
        android:icon="@drawable/icon">
        <activity android:name="NZSLDictionary"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".WordActivity" />
        <activity android:name=".VideoActivity" />
        <activity android:name=".AboutActivity" />
    </application>
</manifest> 

Nella sezione "Device Availability" del Play Store, posso vedere che tutti i dispositivi HTC, incluso Wildfire S, sono supportati ad eccezione di "G1 (trota)" e "Touch Viva (opale)", qualunque essi siano. In realtà vedo che sia "Wildfire S (meraviglia)" che "Wildfire S A515c (meraviglia)" sono elencati come supportati, ma il mio "Wildfire S A510b" non è specificamente menzionato. Può questo tipo di identificatore di sotto-modello avere così tanta importanza? Sono stato in grado di scaricare diverse altre app da Google Play sul mio telefono senza problemi.

L'unica cosa che non ho fatto a questo punto è aspettare 4-6 ore dopo aver caricato l'ultima versione (come in questo commento ) per vedere se dice ancora che è incompatibile con il mio telefono. Tuttavia, la pagina del Play Store mostra attualmente 1.0.2 che è l'ultima che ho caricato.


Qualcosa che mi ha aiutato moltissimo con i problemi relativi al telefono è stato configurare ACRA: code.google.com/p/acra Lo eseguo al primo avvio dell'applicazione per tirare giù le specifiche complete di un telefono e utilizzare il handleSilentExceptionmetodo per segnalare in silenzio. Almeno ti dirà su quale hardware sta lavorando l'app.
Gavin Miller

2
@GavinMiller: Grazie, ma non sono sicuro che questo aiuterà quando il Play Store si rifiuterà di fornire l'app.
Greg Hewgill

Forse ho frainteso il tuo commento: "Alcune persone con altri dispositivi dicono che segnala compatibile, altri dicono che segnala incompatibile, ma non riesco a trovare trend". Se molte persone che non conosci possono scaricare e installare l'app, puoi raccogliere un pool più ampio di dati hardware per provare a formare una tendenza. In tal modo alleviando il "Non conosco molte persone con dispositivi Android". problema.
Gavin Miller

@GavinMiller: Tuttavia, questo mi dirà solo su quali dispositivi Google Play ritiene di poter essere installato e non fornirà informazioni su quali dispositivi Google Play ritiene non possa essere installato. Inoltre, anche sapere con certezza quali dispositivi erano ok e quali no, non mi aiuterebbe davvero a risolvere questo problema.
Greg Hewgill

verificare questa soluzione il suo lavoro per me stackoverflow.com/a/14020303/3392323~~V~~singular~~3rd
SAndroidD

Risposte:


84

La risposta sembra essere esclusivamente correlata alla dimensione dell'applicazione. Ho creato una semplice app "hello world" senza niente di speciale nel file manifest, l'ho caricata nel Play Store ed è stata segnalata come compatibile con il mio dispositivo.

Non ho cambiato nulla in questa app tranne per l'aggiunta di più contenuti nella res/drawabledirectory. Quando la .apkdimensione ha raggiunto circa 32 MB, il Play Store ha iniziato a segnalare che la mia app non era compatibile con il mio telefono.

Cercherò di contattare l'assistenza per gli sviluppatori di Google e chiedere chiarimenti sul motivo di questo limite.

AGGIORNAMENTO : Ecco la risposta del supporto degli sviluppatori di Google a questo:

Grazie per la vostra nota. Attualmente il limite di dimensione massima del file per il caricamento di un'app su Google Play è di circa 50 MB.

Tuttavia, alcuni dispositivi potrebbero avere una partizione cache inferiore a 50 MB, rendendo l'app non disponibile per il download da parte degli utenti. Ad esempio, alcuni dei dispositivi HTC Wildfire sono noti per avere partizioni cache da 35-40 MB. Se Google Play è in grado di identificare un dispositivo che non dispone di una cache sufficientemente grande per memorizzare l'app, potrebbe filtrare la visualizzazione dell'utente.

Ho finito per risolvere il mio problema convertendo tutti i file PNG in JPG, con una piccola perdita di qualità. Il .apkfile è ora di 28 MB, che è al di sotto della soglia che Google Play impone al mio telefono.

Ho anche rimosso tutte le <uses-feature>cose e ora ho solo questo:

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />

Informazioni molto interessanti e preziose. E così fastidioso che questo non è documentato da nessuna parte.
Michael A.

2
In effetti, non avrei mai nemmeno saputo del problema se non mi fosse capitato di avere un telefono Wildfire.
Greg Hewgill

Ho 3 giochi: 32 MB, 35 MB e 44 MB di dimensione. Il mio HTC bravo vede i primi due giochi e non vede il terzo sullo store. L'HTC Desire S del mio amico vede solo il primo gioco. Quindi, apparentemente la dimensione dei giochi dovrebbe essere inferiore a 33 MB o giù di lì per essere visibile alla maggior parte (?) Dispositivi. Sfortunatamente ho visto questa risposta troppo tardi e non sapevo del problema per mesi ... Ero sicuro che dipendesse dal tipo di processore del dispositivo, dalla versione OpenGL supportata, dai limiti impostati nel manifest o qualcosa del genere. Sigh ..
iseeall

7
È folle che Google non elenchi il motivo dell'incompatibilità sul Play Store. Ho sempre pensato che almeno gli sviluppatori di app avrebbero ricevuto queste informazioni e avrebbero scelto consapevolmente di non supportare il mio dispositivo. Come è rimasta così a lungo la situazione?
Gerry

1
@GregHewgill Ciao Greg. Ho contattato l'assistenza di Google per un tipo di problema simile. Poiché la dimensione della mia app era di soli 5 MB, stavo cercando diverse opzioni per cui Google Play ha filtrato la mia applicazione su un particolare dispositivo. Sono passate 72 ore da quando li ho contattati e non sono tornati con alcun tipo di spiegazione. C'è un modo per contattare il supporto di Google diverso dal normale Contattaci?
hemanth kumar

15

Mi sono imbattuto anche in questo: ho fatto tutto il mio sviluppo su un Lenovo IdeaTab A2107A-F e ho potuto eseguire build di sviluppo su di esso e persino rilasciare APK firmati (installati con adb install) senza problemi. Una volta pubblicato in modalità Alpha test e disponibile su Google Play, ho ricevuto il messaggio di errore "incompatibile con il tuo dispositivo".

Si scopre che avevo inserito nel mio AndroidManifest.xmlquanto segue da un tutorial:

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.CAMERA" />

Bene, il Lenovo IdeaTab A2107A-F non ha una fotocamera con messa a fuoco automatica (che ho appreso da http://www.phonearena.com/phones/Lenovo-IdeaTab-A2107_id7611 , sotto Contro: manca la fotocamera con messa a fuoco automatica). Indipendentemente dal fatto che stessi utilizzando quella funzione, Google Play ha detto di no. Una volta rimosso, ho ricostruito il mio APK, l'ho caricato su Google Play e sicuramente il mio IdeaTab era ora nell'elenco dei dispositivi compatibili.

Quindi, ricontrolla ogni <uses-feature>e se hai fatto un po 'di copia-incolla dal web controlla di nuovo. È probabile che tu abbia richiesto alcune funzionalità che non stai nemmeno utilizzando.


3
Grazie ! Stavo usando un altro <uses-feature>: <uses-feature android: name = "android.hardware.camera2" /> E per questo motivo avevo dispositivi ZERO compatibili. Ho rimosso la linea e ora ne ho 10000.
Jack

Puoi impostarlo per utilizzarlo ancora, ma non richiederlo: <uses-feature android: name = "android.hardware.camera.autofocus" android: required = "false" />
DrChandra

<uses-feature android: name = "android.hardware.camera2" /> rende la mia app incompatibile, quindi non sono riuscito a trovare l'app su Playstore. Salvami la vita
Anand Savjani

11

Ho riscontrato questo problema anche durante lo sviluppo di un'applicazione per un cliente che desiderava avere video offline disponibili dalla propria applicazione. Ho scritto un post sul blog sul motivo per cui l'app su cui ho lavorato per mesi non veniva visualizzata nel Play Store per il mio dispositivo (il post può essere trovato qui ). Ho trovato lo stesso di @Greg Hewgill trovato: limitazioni della partizione della cache su alcuni dispositivi .

Il viaggio per me non si è fermato lì. Il cliente desiderava avere questi video nell'applicazione e non voleva che la qualità del video venisse ridotta. Dopo alcune ricerche ho capito che usare i file di espansione era la soluzione perfetta al nostro problema.

Per condividere le mie conoscenze con la comunità Android, ho tenuto una conferenza a droidconNL 2012 sui file di espansione. Ho creato una presentazione e un codice di esempio per illustrare quanto sia facile iniziare a utilizzare i file di espansione. Per chiunque di voi voglia utilizzare i file di espansione per risolvere questo problema, non esitate a controllare il post contenente la presentazione e il codice di esempio


4
Il link dell'assistenza Google menzionato nel tuo post è ora obsoleto, il nuovo link è support.google.com/googleplay/android-developer/answer/… . Spero che tu aggiorni l'articolo con l'ultimo link e btw, bel post. !!
Rohan Kandwal

7

Potresti provare a impostare l'attributo supports-screens:

<supports-screens
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:xlargeScreens="true" >
</supports-screens>

Wildfire ha uno schermo piccolo e, secondo la documentazione, questo attributo dovrebbe essere impostato su "true" in tutti i casi, ma ci sono problemi noti con le impostazioni delle schermate di supporto su telefoni diversi, quindi lo proverei comunque.

Inoltre, come suggerisce David, compila sempre e scegli come target la versione più recente dell'API Android, a meno che tu non abbia validi motivi per non farlo. Quasi tutti gli SDK precedenti alla 2.2 hanno qualche problema serio o un comportamento strano; il secondo SDK aiuta a risolverne o coprirne molti (anche se non tutti). Puoi (e dovresti) utilizzare lo strumento Lint per verificare che la tua app rimanga compatibile con l'API 4 durante la preparazione di una versione.


Grazie, attendo una risposta dal supporto degli sviluppatori di Google per la mia ultima richiesta di supporto. Lo proverò dopo aver ricevuto una risposta da loro (non voglio confonderli caricando ancora un altro APK). Ti farò sapere come va a finire.
Greg Hewgill

Spero che tu non debba aspettare troppo a lungo. Non hanno esattamente la reputazione di risposte rapide. :-)
Michael A.

Sono già andato avanti e indietro con loro un paio di volte, ma la mia ultima domanda è rimasta senza risposta per 22 ore. È frustrante dover aspettare, ma almeno questo non è mission critical o altro.
Greg Hewgill

Volevo solo farti sapere che ho trovato il problema, vedere la mia risposta su questa domanda. Grazie per l'aiuto.
Greg Hewgill

7

Finlay, ho riscontrato lo stesso problema nella mia applicazione. Ho sviluppato l'app Phone Gap per la android:minSdkVersion="7" & android:targetSdkVersion="18"quale è la versione recente della piattaforma Android.

Ho riscontrato il problema utilizzando Google Docs

Il problema potrebbe essere che ho scritto alcune funzioni JS che funzionano KEY-CODEper convalidare solo alfabeti e numeri ma la tastiera ha un codice tasto diverso specialmente per la tastiera del computer e la tastiera del cellulare. Quindi questo era il mio problema.

Non sono sicuro che la mia risposta sia corretta o meno e potrebbe essere possibile che sia più sorridente alla risposta sopra, ma cercherò di elencare alcuni punti che dovrebbero essere presi in considerazione mentre stiamo costruendo l'app. risolvere questo tipo di problema.

  • Usa il android:minSdkVersion="?"secondo i tuoi requisiti e android:targetSdkVersion="?"dovrebbe essere l'ultimo in cui la tua app sarà indirizzata. Vedi altro

  • Prova ad aggiungere solo quelle autorizzazioni che verranno utilizzate nella tua applicazione e rimuovi tutte quelle non necessarie.

  • Controlla la schermata supportata dall'applicazione

    <supports-screens 
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:resizeable="true"
    android:smallScreens="true"
    android:xlargeScreens="true"/>
  • Potrebbe essere che tu abbia implementato un codice costume o un widget costume che non può essere eseguito in qualche dispositivo o scheda in ritardo, quindi prima di scrivere il codice lungo prova prima a scrivere un codice beta e testalo se il tuo codice verrà eseguito su tutti i dispositivi o meno .

  • E spero che Google pubblichi uno strumento in grado di convalidare il tuo codice prima di caricare l'app e dica anche che per qualche motivo specifico non siamo autorizzati a eseguire l'app su alcuni dispositivi in ​​modo che possiamo risolverlo facilmente.


6

Ho un paio di suggerimenti:

  1. Prima di tutto, sembra che tu stia utilizzando l'API 4 come obiettivo. Per quanto ne so, è buona norma compilare sempre con l'ultimo SDK e configurare di android:minSdkVersionconseguenza.

  2. Con questo in mente, ricorda che l' android:requiredattributo è stato aggiunto nell'API 5 :

La dichiarazione di funzionalità può includere un android:required=["true" | "false"]attributo (se si sta compilando con API di livello 5 o superiore), che consente di specificare se l'applicazione (...)

Pertanto, suggerirei di compilare con l'SDK 15, impostare anche targetSdkVersionsu 15 e fornire tale funzionalità.

Mostra anche qui, sul sito di Play, come incompatibile con qualsiasi dispositivo che ho (coincidenza?) Gingerbread (Galaxy Ace e Galaxy Y qui). Ma risulta compatibile con il mio Galaxy Tab 10.1 ( Honeycomb ), Nexus S e Galaxy Nexus (entrambi su ICS ).

Anche questo mi ha lasciato a chiedermi, e questa è un'ipotesi molto selvaggia, ma poiché android.hardware.faketouch è API11 + , perché non provi a rimuoverlo solo per vedere se funziona? O forse è comunque tutto correlato, dal momento che stai cercando di utilizzare features ( faketouch) e l' requiredattributo che non sono disponibili nell'API 4. E in questo caso dovresti compilare con l'ultima API.

Vorrei provare prima e rimuovere il faketouchrequisito solo come ultima risorsa (ovviamente) --- poiché funziona durante lo sviluppo, direi che è solo una questione che l'app compilata non riconosce la funzionalità (a causa dei requisiti SDK) , lasciando così problemi di filtro imprevisti su Play.

Scusa se questa ipotesi non risponde alla tua domanda, ma è molto difficile diagnosticare questo tipo di problemi e individuare la soluzione senza effettivamente testare. O almeno per me senza tutta la conoscenza adeguata di come Play filtra davvero le app.

In bocca al lupo.


Grazie, questo mi dà alcune idee specifiche. Inizialmente non avevo alcun <uses-feature>tag, era un tentativo di renderlo compatibile con più dispositivi anziché con meno. Proverò a cambiare i tag della versione SDK, che sembra l'approccio più probabile. Devo aggiungere che ho usato minSdkVersion="4"perché quella versione non implicava più alcune autorizzazioni (leggere lo stato del telefono, modificare la scheda SD) di cui la mia app non ha bisogno.
Greg Hewgill

Anche la modifica delle versioni dell'SDK in android:minSdkVersion="5" android:targetSdkVersion="15"non ha aiutato. Ho contattato l'assistenza per gli sviluppatori di Google Play e spero che possano spiegarmi il motivo. Sarebbe sicuramente bello se il motivo del filtro fosse mostrato nella pagina dell'app Play.
Greg Hewgill

Si sarebbe fantastico. Intanto hai provato a settare faketouchcome required= false?
davidcesarino

L'ultima iterazione rimuove tutti i <uses-feature>tag perché il supporto di Google mi ha detto che il motivo per cui non era disponibile per il mio dispositivo era a causa della android.hardware.faketouchfunzione. Sembra ridicolo, soprattutto perché una delle mie versioni precedenti non aveva nemmeno i <uses-feature>tag, ma qualunque cosa. Sto aspettando la loro risposta e non voglio confonderli caricando l'ennesima versione. Sarebbe bello se ci fosse un modo per testarlo senza caricare e pubblicare ripetutamente nuovi APK.
Greg Hewgill

Non direi ridicolo, perché è un flag aggiunto nelle versioni successive di sdk (api 11), quindi perché ho suggerito di compilare e indirizzare api15 (ricordati di cambiare project.properties, non solo manifest). Sono ancora sorpreso impostarlo come richiesto = false non ha funzionato però.
davidcesarino

6

Autorizzazioni che implicano requisiti di funzionalità

Ad esempio, la funzione android.hardware.bluetooth è stata aggiunta in Android 2.2 (livello API 8), ma l'API Bluetooth a cui si riferisce è stata aggiunta in Android 2.0 (livello API 5). Per questo motivo, alcune app sono state in grado di utilizzare l'API prima di poter dichiarare di richiedere l'API tramite il sistema.

Per evitare che tali app vengano rese disponibili involontariamente, Google Play presume che determinate autorizzazioni relative all'hardware indichino che le funzionalità hardware sottostanti sono richieste per impostazione predefinita. Ad esempio, le applicazioni che utilizzano Bluetooth devono richiedere l'autorizzazione BLUETOOTH in un elemento: per le app legacy, Google Play presume che la dichiarazione di autorizzazione significhi che la funzione android.hardware.bluetooth sottostante è richiesta dall'applicazione e imposta il filtro in base a tale funzione .

La tabella seguente elenca le autorizzazioni che implicano requisiti di funzionalità equivalenti a quelli dichiarati negli elementi. Tieni presente che le dichiarazioni, incluso qualsiasi attributo android: required dichiarato, hanno sempre la precedenza sulle funzionalità implicite nelle autorizzazioni seguenti.

Per le autorizzazioni seguenti, puoi disabilitare il filtro in base alla funzione implicita dichiarando esplicitamente la funzione implicita in modo esplicito, in un elemento, con un attributo android: required = "false". Ad esempio, per disabilitare qualsiasi filtro basato sull'autorizzazione CAMERA, dovresti aggiungere questa dichiarazione al file manifest:

<uses-feature android:name="android.hardware.camera" android:required="false" />


<uses-feature android:name="android.hardware.bluetooth" android:required="false" />
<uses-feature android:name="android.hardware.location" android:required="false" />
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />

http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions


Grazie! Non avevo idea che usi l'autorizzazione predefinita per la funzione richiesta.
Jim Pekarek

5

Per fornire una soluzione aggiuntiva al problema precedente "Questa app non è compatibile con il tuo ...", permettimi di condividere la mia soluzione per una diversa causa del problema. Ho provato a installare un'app su un dispositivo Samsung Galaxy Y (GT-S6350) di fascia bassa e ho ricevuto questo errore dal Play Store. Per testare varie configurazioni di AndroidManifest, ho creato un account e ho seguito la routine come descritto in https://stackoverflow.com/a/5449397/372838 fino quando il mio dispositivo non è stato visualizzato nell'elenco dei dispositivi supportati.

Si è scoperto che molti dispositivi diventano incompatibili quando si utilizza l'autorizzazione della fotocamera:

<uses-permission android:name="android.permission.CAMERA" />

Quando ho rimosso quella specifica autorizzazione, l'applicazione era disponibile per 1180 dispositivi invece che per 870. Spero che possa aiutare qualcuno


7
Forse, questo può aiutare: <uses-permission android: name = "android.permission.CAMERA" /> <uses-feature android: name = "android.hardware.camera" android: required = "false" />
user1205415


3

Sebbene ci siano già alcune risposte, ho pensato che la mia risposta potrebbe aiutare alcuni che hanno esattamente lo stesso problema del mio. Nel mio caso, il problema è causato dalle seguenti autorizzazioni aggiunte su suggerimento di una rete pubblicitaria:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

La conseguenza delle autorizzazioni di cui sopra è che le seguenti funzionalità vengono aggiunte automaticamente:

android.hardware.LOCATION
android.hardware.location.GPS
android.hardware.location.NETWORK

Il motivo è che "Google Play tenta di scoprire i requisiti delle funzionalità implicite di un'applicazione esaminando altri elementi dichiarati nel file manifest, in particolare gli elementi". Due dei miei dispositivi di test non hanno le funzionalità di cui sopra, quindi l'app è diventata incompatibile con loro. La rimozione di tali autorizzazioni ha risolto immediatamente il problema.


2

Ho trovato un altro modo in cui si verifica questo problema:
il sistema operativo originale del mio telefono LG era Froyo (Android 2.2) ed è stato aggiornato a ICS (Android 4.0.4). Ma la Console per gli sviluppatori di Google Play mostra che rileva il mio telefono come un dispositivo Froyo. (Google Play non ha consentito il download dell'app a causa della falsa "incompatibilità", ma in qualche modo rileva ancora l'installazione.)

Le impostazioni del telefono, in "software", mostrano ICS V4.0.4. Sembra che le informazioni sul server di Google Play per il telefono non siano aggiornate per riflettere l'aggiornamento ICS sul dispositivo. L'app manifest minSDK è impostata su Honeycomb (3.0), quindi ovviamente Google Play esclude l'app.

Di ulteriore interesse:
l'app utilizza la fatturazione in-app V3. La prima volta tramite IabHelper consente all'app di effettuare acquisti tramite il servizio Google Play. Ma dopo aver effettuato l'acquisto, l'acquisto NON viene inserito nell'inventario e IabHelper segnala che nessun articolo è di proprietà. I messaggi di debug mostrano un risultato "acquisto non riuscito" dall'acquisto anche se la finestra di Google Play annuncia "acquisto riuscito".


0

Ho avuto lo stesso problema. È stato causato dall'avere diversi codici e numeri di versione nel mio script di build manifest e gradle. L'ho risolto rimuovendo il codice della versione e il numero di versione dal mio manifest e lasciando che gradle se ne occupasse.


0

Ho anche avuto lo stesso problema. Ho pubblicato un'app in modalità Test creata con React Native 59. non era compatibile con alcuni tester. Il messaggio non era chiaro sul motivo per cui l'app non è compatibile, dopo aver scoperto di aver limitato l'app in modo che fosse disponibile solo per determinati paesi. questo era il problema, ma come ho detto il messaggio non era chiaro. nella WebApp Play Store il messaggio è: "questa app non è compatibile con il tuo dispositivo". nell'app mobile il messaggio "Questa app non è disponibile nel tuo paese"


0

Se sei qui nel 2020 e pensi che il dispositivo che riceve il messaggio di errore dovrebbe essere compatibile:

Diverse altre app importanti si sono imbattute in questo, tra cui Instagram (1B + installazioni) e Clash of Clans (100M + installazioni). Sembra essere un problema con il sistema operativo Android di Google.

Per correggere il messaggio di errore "il tuo dispositivo non è compatibile con questa versione", prova a svuotare la cache di Google Play Store e quindi i dati. Quindi, riavvia il Google Play Store e prova a installare nuovamente l'app.

[ https://support.getupside.com/hc/en-us/articles/226667067--Device-not-compatible-error-message-in-Google-Play-Store]

Ecco un collegamento alla pagina di supporto ufficiale di Google che puoi collegare ai tuoi utenti su come svuotare la cache: https://support.google.com/googleplay/answer/7513003

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.