l'articolo richiesto non è disponibile per l'acquisto


95

Sto cercando di integrare gli acquisti in-app di Android Market nella mia app, ma purtroppo mi imbatto in un fastidioso errore ogni volta che provo ad acquistare un vero prodotto inapp.

Ho preso l'applicazione di esempio (Dungeons) e l'ho aggiunta alla mia app. Ho aggiornato la chiave pubblica e ho anche aggiornato l'elenco dei prodotti come segue:

/ ** Una matrice di voci dell'elenco di prodotti per i prodotti che possono essere acquistati. * /

private static final CatalogEntry[] CATALOG = new CatalogEntry[] {
    new CatalogEntry("full", "Full v", Managed.MANAGED),

};

Ho esportato l'applicazione utilizzando Eclipse, l'ho installata sul mio telefono e l'ho caricata anche sul sito web di Android Market. Anche sul sito web di Android Market ho aggiunto full come acquisto in-app e l'ho pubblicato.

Ho anche aggiunto il mio account googlemail come account di prova (che è quello a cui ho effettuato l'accesso sul mio telefono).

Quando eseguo l'applicazione sul mio telefono ottengo un messaggio Android dell'articolo che hai richiesto non disponibile per l'acquisto ogni volta che provo ad acquistarlo per intero, ma se provo ad esempio android.test.purchased, funziona perfettamente.

La documentazione per l'articolo che hai richiesto non disponibile per l'acquisto Android afferma quanto segue:

Indica che Android Market non riesce a trovare l'elemento richiesto nell'elenco dei prodotti dell'applicazione. Ciò può accadere se l'ID prodotto è scritto in modo errato nella tua richiesta REQUEST_PURCHASE o se un articolo non è pubblicato nell'elenco dei prodotti dell'applicazione.

L'ID del prodotto è decisamente lo stesso, è pubblicato in modo definitivo e la richiesta deve passare correttamente in quanto è l'applicazione di esempio.

Sto usando la stessa versione di apk e ho pubblicato anche prodotti inapp e attivato anche apk. ma sto ancora affrontando lo stesso problema, per favore aiutami a risolverlo.

Ogni pensiero sarebbe apprezzato!


1
pubblichi il tuo prodotto?
Mohsin Naeem

l'account Google che hai utilizzato Merchant Accountè diverso dall'account del dispositivo?
Mohsin Naeem

1
Assicurati che il prodotto che hai aggiunto nel Play Store mostri lo stato "attivo"
Ali

Assicurati che i tuoi tester abbiano fatto clic sul link di attivazione ...
Pixel

Risposte:


181

La mia esperienza su questo errore è:

  1. Assicurati di caricare l'APK firmato nella Console per gli sviluppatori.

  2. Assicurati di installare l'APK firmato sul tuo dispositivo, non avviare l'app nel debugger.

  3. Assicurati di creare un account di prova nella tua console per sviluppatori.

  4. Imposta il tuo account di prova

    1. Assicurati di accedere al tuo dispositivo con il tuo account di prova.
    2. In caso di test alpha / beta chiusi, assicurati di aver aggiunto il tuo account di test al gruppo di tester selezionati, puoi farlo nella pagina di gestione della tua versione alpha / beta.
    3. In caso di test alpha / beta chiusi, assicurati che il tuo account di test abbia accettato la partecipazione al test di questa applicazione tramite uno speciale link di invito
  5. Assicurati di creare la fatturazione in app nella tua console per sviluppatori e infine attiva l'elemento dalla console !!! (questo è quello che mi ha preso dopo aver seguito completamente il tutorial di Google)

  6. Assicurati di impostare VersionCode e VersionName nel manifest in modo che corrispondano alla versione nella console per sviluppatori (Alpha, Beta o Production. Drafts non funziona più). La risposta di @alexgophermix ha funzionato per me.

Se stai cercando pagamenti di prova senza prelievo di denaro effettivo, devi anche aggiungere il tuo account di prova a un altro elenco speciale di account "Account Gmail con accesso di prova", puoi trovarlo nell'impostazione dell'account di gioco (non di progetto!). Nella pagina in cui puoi vedere un elenco dei tuoi progetti vai alle impostazioni, quindi nella pagina "Dettagli account" (scorri verso il basso, è quasi in fondo alla pagina) troverai l'elenco "Account Gmail con accesso di prova".


5
Ricordarsi sempre di testare l'applicazione utilizzando build firmata. +1
Vamsi Challa

36
Assicurati di impostare VersionCode e VersionName nel manifest in modo che corrispondano alla versione nella console per sviluppatori (Alpha, Beta o Production. Drafts non funziona più). La risposta di @alexgophermix ha funzionato per me. +1
i.shadrin

6
Inoltre, assicurati che l'utente di prova abbia optato per l'Alpha (se stai usando quell'obv). Non è sufficiente aggiungerli al License Testing.
ADB

4
Assicurati di aver approvato come tester aprendo l'URL di attivazione e utilizzando l'account di prova.
bogumil

1
I codici di versione devono corrispondere, grazie per l'avviso, risparmiato un momento di puro panico.
Meanman

97

Ecco alcune cose da controllare:

  1. Hai creato un apk e l'hai pubblicato nella dashboard di GooglePlay in versione Alpha o Beta .
  2. L'app nella dashboard di GooglePlay NON è in modalità Bozza , ma in Pubblicato (dovrai rendere verdi tutti i piccoli cerchi con l'icona di spunta sul lato sinistro dello schermo prima di poter pubblicare).
  3. Hai impostato un altro account di prova di diverso da quello "allegato" alla dashboard di GooglePlay. Puoi farlo creando un gruppo Google+, aggiungere il tuo account di prova a quel gruppo e specificare il gruppo Google+ nella dashboard di GooglePlay.
  4. L'apk che stai utilizzando per testare l'acquisto ha lo stesso codice di versione, nome di versione e, cosa più importante, è firmato con lo stesso keystore dell'apk che hai pubblicato nello store.
  5. si aspetta un paio d'ore tra quando si cambia qualcosa nel cruscotto in modo che le modifiche si propagano. Ci vogliono un paio d'ore per farlo.
  6. Assicurati che il valore sku sia un valore sku valido (confrontalo con quello che hai inserito nella dashboard GP).
  7. Si tenta di acquistare un oggetto già acquistato . Ottieni gli articoli acquistati e mostrali nel registro per vedere se è così. In tal caso, consuma quel prodotto o rimborsa il denaro sul tuo account di prova (dovrai attendere la propagazione del rimborso. Ci vorranno un paio d'ore).
  8. Assicurati che gli Inapp siano attivi !

Quello che ha fatto per me, dopo 6 ore, è stata quest'ultima parte:

  1. Assicurati di aver effettuato l'accesso a Google (nel tuo browser) con l'account di prova e apri questo link (contrassegnato con il rosso) e approvi a diventare un tester !!!! http://i.stack.imgur.com/VSgAV.png

AGGIORNARE

  1. Se stai utilizzando le versioni per creare apk mirati a CPU diverse e costruisci per arm, armv7 e x86 e li carichi tutti nello store, ricorda di usarne uno per testare le inapp. Se usi una build "universale" che contiene tutte le librerie della cpu (fondamentalmente un'altra build rispetto a quella in negozio) non funzionerà.

14
Ho avuto la stessa situazione con te. tutto 1-8 non è un problema, ma il problema è 9. Sprecare la mia intera giornata per trovare questo. Sei il mio salvavita.
Paiboon Panusbordee

2
Sì, l'ultima parte è la più importante, sembra che Google abbia cambiato le regole, funzionava senza il passaggio 9, ma ora, per chiudere la beta o aprire la beta, è necessario fare clic sul collegamento. Grazie uomo!
Siyuan Zhang

il mio problema era 4. Il codice della versione dell'apk installato non era lo stesso dell'apk di Google Play. Una volta creata la stessa versione ha funzionato, questa risposta è preziosa.
Thupten

Odio così tanto questo "paio d'ore" di incertezza! Durante questo "paio d'ore" il mio capo di solito va fuori di testa! A proposito, se hai un APK installato manualmente non riceverai alcun aggiornamento! Ed è stupido che con il proprio APK firmato lo IAB non funzioni. Immagino che dovremo aspettare che avvenga il dannato aggiornamento!
WindRider

1
Grazie per il passaggio 9
zdd

45

Ciò accade quando il prodotto è Inactivesul Play Store, Activateil prodotto e dovrebbe funzionare correttamente.


Non ci avevo mai pensato ...: D Grazie per aver risparmiato più ore!
Kamran Ahmed

Cosa intendi per Inattivo ? Gli sviluppatori dovrebbero utilizzare solo la versione Alpha dell'APK.
IgorGanapolsky

23

C'è un'altra possibile causa di questo errore, che mi ha quasi fatto impazzire per un'intera giornata fino a quando non ho scoperto qual era il problema: la versione apk. Se stai lavorando con un apk locale (firmato correttamente, chiave corretta, ID prodotto corretti) con un numero di versione superiore a quello caricato nel Play Store, riceverai anche questo errore.

Spero che questo aiuti qualcuno


Questo non fornisce una risposta alla domanda. Una volta che avrai una reputazione sufficiente, potrai commentare qualsiasi post ; fornire invece risposte che non richiedono chiarimenti da parte del richiedente . - Dalla recensione
tttony

11
Le informazioni di questa risposta sono effettivamente buone da sapere e potrebbero essere la risposta giusta per alcune persone come me
AlexioVay

6
@tttony ho segnalato un'altra causa dell'errore, non ho chiesto nessun chiarimento. Non è un'ipotesi o una domanda, se si installa manualmente un APK con un numero di versione superiore a quello pubblicato, acquisti in-app saranno restituire questo errore.
DavidBVal

2
È stata un'informazione molto utile da avere. Grazie mille per aver risparmiato così tanto del mio tempo. Pollice su.
Aritra Roy,

22

Questo errore si verifica quando tutto ciò che hai fatto è perfetto, hai usato l'APK firmato con l'ID prodotto corretto, ma devi notare che l' account che stai utilizzando potrebbe non avere i dettagli della carta di credito validi .

Pertanto, ogni volta che desideri acquistare un prodotto anche con un account di prova , tale account dovrebbe avere dettagli di credito validi.


Questa risposta è vera e rara da trovare. Quindi grazie mille per aver fatto il possibile e non aver aggiunto ancora un'altra risposta "attiva il tuo prodotto".
Don

19

Forse ho sbagliato, ma riceverai questo errore anche se la versione su cui stai provando non è sul Play Store come Alpha, Beta o Produzione.

Spesso aggiorno il mio VersionCode e VersionName mentre sto ancora testando una nuova versione (PRIMA di caricarla su Play Store) e poi mi ritrovo con questo errore quando vado a testare le funzionalità specifiche di IAB.


4
Inoltre, consenti almeno 45-90 minuti dopo il caricamento nel Play Store affinché inizi a funzionare.
mm2001

9

Per il mio caso è necessario andare a ottenere il collegamento dalle schede APK Opt-in URL . Apri un browser e utilizza il collegamento. Quindi registrati come tester in quella pagina.


9

devi accettare di diventare tester

Gestione delle versioni -> versioni dell'app -> gestisci tester, quindi apri questo collegamento (URL di attivazione) con la modalità di navigazione in incognito per accedere all'account del tester

inserisci qui la descrizione dell'immagine


Sono un tester e ho lo stesso problema.
Jorgesys

4

controlla se stai utilizzando lo stesso ID di posta dell'account di prova o meno


Se il mio dispositivo accede come un altro ID di posta, dopo aver impostato l'ID di posta di testaccount è l'ID principale, questo problema è stato risolto.
laxman

3
Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti a un autore, lascia un commento sotto il suo post: puoi sempre commentare i tuoi post e, una volta che avrai una reputazione sufficiente, potrai commentare qualsiasi post .
Aziz Shaikh

Ho ricevuto questo errore quando il mio dispositivo accede come diverso dall'ID di posta dell'account di prova (ID di posta dell'account di prova specificato nella console per sviluppatori sotto chiave pubblica) .Se ho impostato l'ID di posta dell'account di prova come ID di posta principale del mio dispositivo
laxman

4

Ultime aggiunte (2016/11):

  1. il tester deve ACCETTARE la richiesta di test presa dal collegamento preso dalla Developer Console (sezione: APK)

  2. l'app deve essere PUBBLICATA : è consentito pubblicare in beta / alpha testing; INFO: se premi "Pubblica" nella Developer Console non pubblicherà l'app in Produzione a meno che non la propaghi nella scheda Produzione (nella sezione APK);


2

Se lo stato del prodotto è "Inattivo", attivalo. questo risolto per me. Ovviamente Google impiega un po 'di tempo per aggiornarsi

Assicurati anche che la tua mail di prova sia stata registrata.


1

"Open Alpha Testing" o "Open Beta Testing" hanno risolto il problema per me, dopo aver provato tutti i metodi suggeriti su Internet.

Vai alla Console per gli sviluppatori Android -> La tua app -> APK, quindi attiva i test Open Alpha / Beta. Invia il link fornito a te stesso o ai tester.

Finché hanno effettuato l'accesso con quell'account sul proprio dispositivo Android, possono testarlo.

In bocca al lupo


1

Ho riscontrato lo stesso problema, la soluzione per me era caricare la versione corrente della tua app nel Play Store, se è per il test, caricala sul canale Alpha o Beta, l'ho fatto e l'errore è sparito e i dettagli del prezzo vengono visualizzati correttamente ..


0

Ci potrebbero essere tre possibilità:

  1. Salva il tuo APK su Google Play come Bozza e non dimenticare di attivarlo e pubblica i tuoi prodotti con ID univoci.
  2. Verifica che i tuoi ID siano gli stessi degli ID prodotto su Google Play.
  3. oppure verifica che i tipi di elementi siano gli stessi, ad esempio Gestito sia in Google Play che nel tuo codice.

Se stai testando, non è necessario pubblicare l'app. Basta salvarlo come bozza. E quindi attendere un po 'di tempo per attivarlo.


3
sopra tre condizioni sono soddisfatte ma mostra lo stesso errore
laxman

0

Per risolvere questo problema, segui questi passaggi:

  1. Crea il prodotto sulla console per sviluppatori di Google Play.

  2. Salvare e impostarlo su "Attivo".

  3. Carica l'APK su Google Play.

NB La fatturazione in-app potrebbe non funzionare fino a dopo 6 ore dalla creazione del prodotto nel passaggio 1.


0

La risposta più votata copre praticamente tutto, ma se sei stato stupido come me a correre attraverso il processo di rilascio dell'app per andare avanti con i test IAP, assicurati di pubblicare l'app nel Play Store del paese che stai testando nel! Un modo semplice per verificarlo sul dispositivo è toccare il link "scaricalo su Google Play" quando si apre l'URL di attivazione del test. Se viene visualizzato il messaggio di errore "Articolo non trovato" durante il tentativo di apertura tramite Google Play Store, è probabile che la tua app non sia stata pubblicata lì. Ho riscontrato questo problema perché stavo caricando correttamente l'app firmata tramite ADB e sebbene gli IAP vengano visualizzati nella build, riceverai questo errore quando proverai ad acquistarli.


0

Durante l'acquisto di un abbonamento in-app, avevo tutte le cose dell'elenco sottostante nel posto giusto.

  1. Creato apk firmato e pubblicato sul canale alfa

  2. Aggiunti ID e-mail del tester al test della licenza

  3. Aggiunti gli ID e-mail dei tester per chiudere i test alpha della traccia

  4. Ha scelto di essere un tester

  5. L'ID di prova era diverso dall'ID dell'account sviluppatore

  6. Era sul dispositivo Android e non sull'emulatore

  7. Scaricata l'app dal Play Store

Ancora ho ricevuto questo errore che diceva "Impossibile trovare l'elemento che stavi cercando" .

Dopo aver sprecato 2-3 giorni ho scoperto che funzionava solo se una modalità di pagamento era stata configurata nel Play Store .

Sebbene la maggior parte delle risposte sia correlata al vecchio acquisto IAB e ho implementato la nuova API del client di fatturazione che è - implementation 'com.android.billingclient:billing:1.0', non è stato facile trovare la soluzione.

Se questo è lo stesso caso per qualcuno, l'aggiunta di una modalità di pagamento potrebbe aiutarti a superare questo errore. È necessario aggiungere uno anche per testarlo, tuttavia, sarà non addebitato per e-mail ids aggiunto come tester di licenza.

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.