2012-12-15 18 views
13

Cosa voglio? Dopo aver recuperato tutti gli articoli acquistati ho bisogno di verificare l'acquisto sul mio server, questo voglio fare con la firma e i dati firmati ricevuti dal pagamento in-app.Android v3 fatturazione - nessuna firma

Per prima cosa ho utilizzato la fatturazione in-app v2 lì che ho ottenuto ogni volta con il mio account sviluppatore una firma e un segno di firma corretti per il test statico sku android.test.purchased.

Sono passato al nuovo sistema di fatturazione v3 perché sembra molto bello da implementare, tuttavia non ottengo più alcuna firma.

Ho caricato una versione precedente del mio APK su Google (non ancora pubblicata perché non è ancora finita), inoltre ho aggiunto un prodotto in-app attivo per ulteriori test.

L'upload dell'APK era ieri alle 22:00 quindi penso di aver aspettato abbastanza.

Cosa ho provato? ho installato la mia applicazione in versione diversa:

  • APK firmato con il mio sé aggiunto "attiva" prodotto in-app => nessuna firma
  • apk non firmato con lo SKU android.test.purchased => nessuna firma
  • firmato apk con il mio sé aggiunto prodotto "attiva" in-app => nessuna firma
  • APK firmato con lo sku android.test.purchased => nessuna firma

Coloro 4 "ap p afferma: "Ho provato sia il mio telefono sviluppatore (dove il mio account Google principale è lo stesso utente dell'account della sviluppatore) sia un account di prova per l'impostazione di un altro telefono, l'account di prova viene inserito anche nelle impostazioni del mio account in" account di prova " .

Hmm e ora non ho più idee su come ottengo la mia firma. Penso che otterrò la firma con un'app attiva + prodotto in-app attivo perché il processo di pagamento funziona (Il log di adb mostra che ho acquistato il "Android.test.purchased") Il mio prodotto in-app creato da me stesso potrebbe anche non testare perché se utilizzo il mio account sviluppatore, il play store mi dice "non posso acquistare, già di proprietà" e con il mio account di prova ho ricevuto un errore "Questo prodotto non è disponibile per il tuo account".

Hai una soluzione per il mio problema?

+0

@ lunarnet76, ciò che i dati sono, è davvero semplice.i dati di segno sono i dati che Google invia al tuo account, i dati ti dicono sullo stato dell'acquisto e la firma può essere utilizzata con la tua chiave pubblica dell'app per verificare che i dati dei segni non siano stati manipolati e che Google lo abbia inviato a – prdatur

+0

prdarur. Sto avendo lo stesso problema, hai trovato una soluzione? – melodiouscode

+0

Non per ora, ma leggendo altri post che dicono "google ha dichiarato solo che non si dovrebbe usare ma non verrà rimosso" ho deciso di rimanere su V2, perché la mia implementazione ha funzionato come previsto. Ma non smetto di cercare una soluzione con V3. Perché ho verificato il pagamento tramite il mio server V2 permettimi di farlo senza fornire la chiave pubblica all'interno dell'app che è molto bella, ho solo la chiave pubblica sul mio server che verifica. Con la V3 penso che anche questo non sia possibile. – prdatur

risposta

2

Ho trovato con V3 che i prodotti di test non restituiscono dati firmati, ma se si firma l'app con la chiave di rilascio e si completa il flusso di acquisto dei prodotti effettivi si ottengono dati firmati.

+0

Vedere il mio "testings" -> apk firmato con il mio prodotto in-app "attivo" aggiunto => nessuna firma – prdatur

1

Non hai più firme per gli acquisti di prova (android.test. *). Ho fatto il tuffo e ho caricato la mia app sul mercato (semplicemente non l'ho pubblicata) usando i miei prodotti reali.

Basso ed ecco che le firme hanno iniziato a essere restituite! Raccomando di modificare qualsiasi convalida lato server che si sta utilizzando per saltare il controllo della firma quando i dati contengono un ID oggetto android.test. *.

Nota: la parte importante di quanto sopra è la seguente: "utilizzo dei miei prodotti reali".

+0

Ciao, ma guarda il mio test per "apk firmato con il mio prodotto in-app" attivo "aggiunto automaticamente => no firma "ho anche aggiunto un prodotto" reale "e non mi ha dato un etere esclusivo. – prdatur

+0

Ciao, tutto quello che posso dire è che funziona per me. Ovviamente sto usando un account che è registrato come uno degli sviluppatori dell'app. L'unica differenza che posso pensare è che l'app è pubblicata, solo l'apk in questione è in uno stato non pubblicato (prossima versione). – melodiouscode

+0

E penso che questo sia il problema. un'app non pubblicata (mai pubblicata) non riceverà alcuna firma, è stata pubblicata per un po '. la funzione in app non ha bisogno di essere pubblicata al momento, ma l'app stessa. Ma questo comportamento è per me un no go, deve essere possibile ottenere firme con un'app mai pubblicata. – prdatur

Problemi correlati