Errore dell'applicazione: questa versione dell'applicazione non è configurata per la fatturazione di mercato


91

Da un paio di giorni è possibile utilizzare la fatturazione in-app nelle app Android. Molto bello ovviamente. Quindi, ho iniziato a lavorare su un aggiornamento per la mia applicazione per implementarlo. Ma ora mi imbatto in alcuni problemi. Questo è quello che ho fatto:

  • Ho provato per la prima volta gli ID prodotto riservati per testare le risposte di fatturazione in-app statiche. Funziona senza problemi.
  • Ho caricato una bozza di APK sul mercato (con firma di produzione, nessuna firma di debug), che includeva l'autorizzazione com.android.vending.BILLING.
  • Quando l'ho fatto, sono stato in grado di aggiungere un "Prodotti in-app" alla mia app sul mercato e di impostarlo come pubblicato.
  • Ho creato un utente di prova e reimpostato il mio dispositivo per rendere tale utente di prova l'account principale sul mio dispositivo di prova.
  • L'ID del prodotto riservato funziona ancora.

Ora arriva il problema. Quando utilizzo il mio ID prodotto (quello che ho aggiunto prima, vedi sopra) viene visualizzata una finestra di dialogo con il testo seguente:

" Errore dell'applicazione: questa versione dell'applicazione non è configurata per la fatturazione di mercato. Consulta il Centro assistenza per ulteriori informazioni. "

Non c'è niente di strano che riesco a trovare nel registro. Qualcuno sa cosa sto sbagliando qui?

Risposte:


157

Ho appena riscontrato questo problema e mi sono reso conto che era perché stavo eseguendo una versione di debug non firmata della mia app. In Eclipse, quando ho esportato e firmato la mia applicazione e l'ho installata sul telefono, sono stato in grado di utilizzare i miei prodotti in-app senza visualizzare questo messaggio di errore.


8
Le versioni di debug vanno bene ma devono essere firmate.
Barry Fruitman

1
è necessario per pubblicare l'app per testare un elemento inApp. Ho pubblicato l'elemento inapp e ho mantenuto l'app non pubblicata. mi scuso se la domanda è sciocca o non correlata.
Jana,

@ jana no non è necessario pubblicare l'app per i test nell'app, ma sì, è necessario pubblicare il prodotto in-app per essere pubblicato altrimenti riceverai un errore sul tuo dispositivo durante il test del prodotto in-app "Articolo non trovato "
Usman Kurd

21
È importante notare, come in alcune delle altre risposte, il codice della versione della tua app di prova deve essere lo stesso del codice della versione della tua bozza in Google Play. Quindi, se hai iniziato con un segnaposto v1 in Google Play, quindi hai preparato l'app reale come v2: quella vera app deve essere caricata su GP come bozza prima di poter finire di testarla.
Steve Haley

1
Le cose sono cambiate di recente e ora devi pubblicare la tua app sul canale alfa su Google Play prima che i test IAP possano continuare.
tenpn

43

Ho scoperto che una volta caricata una nuova copia del mio APK sul mercato, ho riscontrato "l'errore dell'applicazione" nel corso dell'ora successiva. Dopo che è trascorsa almeno un'ora (a volte devono essere trascorse fino a due ore), allora non ricevo più quell'errore e posso quindi acquistare i miei articoli senza problemi. Sembra che i server di Google impieghino almeno un'ora per elaborare il fatto che hai caricato un nuovo APK (per quanto riguarda l'aspetto Fatturazione InApp dell'APK).

Quindi il mio consiglio è di aspettare da 1 a 2 ore dopo aver caricato il tuo APK, e poi vedere se ricevi ancora "l'errore dell'applicazione".


Volevo solo riaffermare che questa risposta ha funzionato per me. Ho ricevuto questo errore, anche se le versioni dell'app erano corrette. Non ho fatto altro che aspettare qualche ora e ha iniziato a funzionare correttamente (non ho più visto l'errore).
Booger

4
Lo secondo: ha funzionato anche per me aspettare un paio d'ore (in realtà ho aspettato durante la notte quindi non conosco il momento esatto). Come piccolo commento editoriale, è frustrante che Google non abbia potuto fornire un messaggio di errore più accurato per questo e farci risparmiare un sacco di problemi.
M Katz

Ciò significa che l'utente con una versione dell'app precedente a quella attuale, non può utilizzare gli acquisti in-app e deve prima aggiornare l'app?
Kedu

34

Ho anche riscontrato questo problema. Alla fine ho capito che la mia app pubblicata aveva un codice di versione 3, la mia bozza (apk non pubblicato con l'autorizzazione di fatturazione) aveva un codice di versione 4 e l'apk firmato che stavo usando per testare la fatturazione in-app era ancora al codice di versione 3. Una volta che ho cambiato il versionCode in 4, sono stato in grado di accedere alla pagina del prodotto in-app effettiva per l'acquisto che stavo richiedendo.


22

Questo può accadere su build firmate e rilasciate quando l'apk caricato come bozza non corrisponde all'apk in esecuzione sul tuo sistema in modalità test. Assicurati solo che le tue build corrispondano, dovresti stare bene in modalità test e smetteresti di vedere gli errori.

La grande preoccupazione qui è che vedremo questo stesso comportamento in produzione, ovvero, rilasciamo 1.0.0-1 con fatturazione in-app, quindi rilasciamo 1.0.0-2 e gli utenti che eseguono 1.0.0-1 saranno incapace di acquistare o ripristinare i propri acquisti e riceverà lo stesso errore (esperienza utente molto negativa). Ho setacciato la documentazione per la menzione di questo comportamento come specifico per la modalità test, ma finora senza fortuna; abbiamo aggiunto un bug qui: http://code.google.com/p/marketbilling/issues/detail?id=15#c0


3
+1 per ulteriori informazioni, lungimiranza e collegamento al thread sui bug.
Bill The Ape

14

Ho anche riscontrato lo stesso problema ... ma ora il problema è risolto

Le mie osservazioni basate su poche prove:

  1. Il codice della versione deve corrispondere sia su Google Play che sul dispositivo
  2. Anche se le versioni corrispondono, potremmo comunque ricevere questo errore
  3. Attendi circa 1 o 2 ore, quindi prova, non riceveremo questo errore

Spero che questo ti aiuti


1
Ho anche scoperto che il codice della versione dovrebbe corrispondere. Almeno la tua versione di prova non può essere superiore a quella su Google Play. Non sono sicuro che sia vero anche il contrario. Spero di no, perché ciò significherebbe che le persone con una versione precedente dell'applicazione non possono utilizzare la mia fatturazione in-app.
Peter Fortuin

# 3 era il trucco. Se sei sicuro che tutto sia a posto, fai una pausa e riprova più tardi. Serve solo un po 'di tempo per l'aggiornamento :)
nuala

7

Copiato dalla domanda duplicata: https://stackoverflow.com/a/22469253/1321401

Questo errore può verificarsi per diversi motivi.
Di seguito è riportato l'elenco dei requisiti per i test IAB di Google.

Prerequisiti:

  1. AndroidManifest deve includere l' autorizzazione "com.android.vending.BILLING" .
  2. APK è integrato in modalità di rilascio .
  3. L'APK è firmato con i certificati di rilascio .
  4. L'APK viene caricato sul canale di distribuzione alfa / beta (in precedenza - come bozza) nella console per sviluppatori almeno una volta. (richiede un po 'di tempo ~ 2h-24h ).
  5. I prodotti IAB vengono pubblicati e il loro stato impostato su attivo .
  6. Gli account di prova vengono aggiunti nella console per sviluppatori.

Requisiti di prova:

  1. L'APK di prova ha lo stesso codice di versione di quello caricato sulla console per sviluppatori.
  2. L'APK di prova è firmato con gli stessi certificati di quello caricato su dev.console.
  3. Account di prova (non sviluppatore): è l' account principale del dispositivo.

PS: debug con certificato di rilascio : https://stackoverflow.com/a/15754187/1321401 (Thnx @dipp per il collegamento)

PPS: Volevo fare questo elenco già da molto tempo.

Thnx @zlgdev per l'aggiornamento


1
Il versionCode mi ha preso: perché è necessario?
slott

5

La mia soluzione era che dovevo usare la stessa chiave per firmare l'apk in Market (come bozza di APK) e in test. Quindi, invece di eseguire semplicemente l'applicazione, devo sempre esportare l'APK firmato con ogni aggiornamento, disinstallarlo e reinstallarlo nel dispositivo utilizzando i comandi della riga di comando apk. In linea di principio è possibile utilizzare il proprio keystore anche come keystore di debug, ma è necessario utilizzare password e nomi hardcoded specifici per le chiavi.


0

Ho pensato di condividere un'altra possibile soluzione se ricevi questo errore. Inizialmente ho caricato su Google una bozza del mio apk con l'autorizzazione di fatturazione abilitata, quindi sono stato in grado di configurare gli acquisti di app. Successivamente ho caricato un altro apk senza il permesso di fatturazione mancante dal mio AndroidManifest, che ha provocato l'errore. Sicuramente sembra un caso improbabile, ma per me è successo quindi è possibile.

Modifica: lungo la stessa piega, se la versione che hai inviato come bozza a Google non è firmata, si verificherà anche l'errore.


0

Per buttare i miei due centesimi, sono stato in grado di testarlo caricando la versione Beta e creando un account Gmail con accesso di prova nella scheda delle impostazioni con una nuova versione della mia app ...

Ora lo sto spostando in produzione ...

Grazie! Nathan


-2

Vecchio thread, ma aggiungendo la mia esperienza ...

Ho installato un apk con un codice di versione 1 superiore a quello del negozio. Ho giocato su 2 diversi account sul mio Nexus 7 e ho riscontrato questo problema. Quindi ho disinstallato e reinstallato dallo store per assicurarmi che versionCode corrispondesse. Anche aspettando durante la notte l'errore non è stato cancellato.

È venuto fuori che avevo bisogno di disinstallare da tutti e 3 gli account Google che avevo collegato al mio Nexus 7. Si è ripristinato quando ho disinstallato esplicitamente l'app da tutti e tre gli account sul mio Nexus 7 e poi reinstallato dallo store.

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.