Autore Topic: Chiarimenti sul servizio IN-APP  (Letto 408 volte)

Offline array81

  • Utente junior
  • **
  • Post: 64
  • Respect: 0
    • Mostra profilo
    • MartinZone
  • Dispositivo Android:
    OnePlus One, Nexus S
  • Play Store ID:
    MartinZone
  • Sistema operativo:
    Windows 7
Chiarimenti sul servizio IN-APP
« il: 01 Luglio 2014, 22:23:17 CEST »
0
Ho quasi terminato di scrivere la mia prima app e sto trovando più difficoltà ad implementare il servizio in-app che a scrivere la stessa applicazione.
Ho seguito le iscrizioni trovate su questo sito: https://www.gaffga.de/implementing-in-app-billing-for-android/

Ora però ho necessità di testare il servizio in-app da me implementato e non riesco a capire come fare. Leggendo qua e la in internet e la documentazione ufficiale mi sembra di aver capito che é necessario caricare l'applicazione attraverso la Developer Console, quindi quello che ho fatto fino ad ora é stato:
1. generare un APK dell'applicazione anche se non finita;
2. aggiungere una nuova applicazione nella Developer Console e caricare APK (al momento l'ho caricato come PRODUZIONE ma penso debba farlo come BETA o ALPHA);
3. aggiungere un nuovo prodotto in-app specificando un ID che poi é lo stesso usato come SKU nell'app (almeno penso debba essere lo stesso);

Dispongo di un unico smartphone in cui oltre al mio account Google principale (quello usato anche per la Developer Console) ho aggiunto un secondo account Google in quanto ho letto che i test non si possono compiere con l'account "principale".

Ora vorrei capire come faccio a scaricare l'app sul mio smartphone senza ovviamente pubblicare nel market l'app e sopratutto, visto che voglio fare dei test, come faccio ad evitare di dover comprare la mia stessa applicazione ogni volta che voglio provare la funzione di in-app?

Datemi una mano perchè sto impazzendo?
Magari non ci ho capito nullo e sbaglio proprio tutto.

Grazie.

Offline ciccio

  • Utente junior
  • **
  • Post: 65
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Francesco Cervone
  • Sistema operativo:
    Mac OS X 10.9
Re:Chiarimenti sul servizio IN-APP
« Risposta #1 il: 03 Luglio 2014, 08:37:14 CEST »
0
Ciao, ti rispondo perché anche io ho avuto gli stessi tuoi problemi.
Hai due modi per testare gli acquisti in-app:
  • Puoi specificare degli account di test (non il tuo purtroppo) dalla console del play store. Clicca sull'ingranaggio sulla sinistra (Impostazioni), c'è una voce "Account Gmail con accesso per il test" in cui devi indicare gli account separati da una virgola. Fatto ciò puoi testare l'acquisto solo se l'app è caricata sulla console come release, beta, alpha o bozza. Devi aspettare qualche ora prima che l'app sia pubblicata. In realtà basta che la versione che stai testando abbia lo stesso numero di versione di quella caricata sul play store in una delle modalità che ti ho detto. Gli acquisti verranno effettuati veramente ma non addebitati. Purtroppo per testare sul tuo telefono dovresti cancellare il tuo account definitivamente credo. Io fortunatamente ho un altro cellulare dove ho potuto testare l'acquisto. Sorge però un altro problema: una volta acquistato, anche per finta, non puoi più testare l'acquisto di quel prodotto in quanto risulta acquistato, appunto. O ne crei un altro, oppure usi un'altro account di test... -_-
  • L'altro metodo è quello di usare come sku quelli indicati nella documentazione ufficiale: https://developer.android.com/google/play/billing/billing_testing.html#billing-testing-static . Ognuno ti da una risposta statica, in questo modo puoi testare i vari casi. Il problema di questo sistema è che non saprai mai se il tuo prodotto in-app funziona o meno.
A te la scelta.

Post unito: [time]03 Luglio 2014, 08:48:03 CEST[/time]
Un'altra soluzione c'è riguardo al fatto che dovresti rimuovere il tuo account dal cellulare. Scarica Genymotion, un emulatore di android fatto veramente bene.
Crea un emulatore a tua scelta ed installa Google Play Services in questi semplici passi.
Potrai utilizzare l'emulatore con tutti gli account che vuoi.
« Ultima modifica: 03 Luglio 2014, 08:49:25 CEST da ciccio »

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Chiarimenti sul servizio IN-APP
« Risposta #2 il: 03 Luglio 2014, 09:05:37 CEST »
0
Nota: gli acquisti di test sono validi per 14 giorni (o qualcosa di simile) mi pare, dopodiché vengono annullati.
I numeri contano molto di più del seme.

Offline array81

  • Utente junior
  • **
  • Post: 64
  • Respect: 0
    • Mostra profilo
    • MartinZone
  • Dispositivo Android:
    OnePlus One, Nexus S
  • Play Store ID:
    MartinZone
  • Sistema operativo:
    Windows 7
Re:Chiarimenti sul servizio IN-APP
« Risposta #3 il: 03 Luglio 2014, 09:48:12 CEST »
0
Intanto grazie delle risposte.

Penso e spero di aver risolto. Mi spiego. Inizialmente utilizzavo gli SKU della documentazione ufficiale ma avevo un problema, dopo aver effettuato l'acquisto con successo quando la mia applicazione controllava successivamente se l'acquisto era stato effettuato o meno ottenevo sempre un errore. Dopo una settimana di ricerche su internet penso di aver capito il perché.
A quanto pare nell'ultima versione dei files di "ausilio" usati nel demo fornito con la libreria billing di Google, files che vengono usati anche nel mio programma, Google a cambiato il codice del metodo verifyPurchase() e questo porta all'errore di cui sopra almeno durante i test con i famosi SKU.
A quanto pare il bug é stato già segnalato a Google.
Qui potete trovare maggiori informazioni e un fix manuale che permette di correggere la cosa: http://ngoding.co/read/2014/06/in-app-billing-not-working-after-update-google-store-3/

In sostanza viene detto di sostituire il nuovo codice con il vecchio in attesa del fix ufficiale di google. Confermo che in questo modo la cosa funziona.

Per il momento quindi grazie.