2012-09-28 11 views
7

Sto creando un'app per Android che vende un abbonamento mensile in-app. Prima di immergermi troppo, questo schema di come dovrebbe essere fatto sembra giusto? Sto utilizzando l'API per sviluppatori Android di Google Play.Sto seguendo questi passaggi per verificare l'abbonamento alla fatturazione in-app di un utente?

La prima volta che si installa l'applicazione, inviare il seguente in sendBillingRequest():

  • CHECK_BILLING_SUPPORTED. In caso contrario, non preoccuparti di creare l'interfaccia utente "Acquista".
  • RESTORE_TRANSACTIONS. Se ci sono state transazioni, salva il token di acquisto dell'utente.

Quando l'utente effettua un acquisto:

  • Salva il token di acquisto.
  • Invia una richiesta GET con il token di acquisto all'API sviluppatore di Google Play per verificare l'abbonamento.
    • Se l'abbonamento è valido, salvare la scadenza dell'abbonamento e le date di inizio. Fornire l'accesso ai dati acquistati.
    • Se l'abbonamento non è valido, rimuovere il token di acquisto. Non fornire l'accesso ai dati acquistati e disegnare la versione "non acquistata" dell'interfaccia utente.

Ogni volta che l'applicazione viene avviata, controllare se si dispone di un gettone di acquisto salvato.

Se il token di acquisto non esiste:

  • non forniscono l'accesso ai dati acquisiti e tracciare la versione "non acquistati" dell'interfaccia utente.

Se esiste il token di acquisto, controllare la data di scadenza e l'iniziazione di tempo:

  • Se (scaduto) o (iniziazione era più di un mese fa)
    • Invia una richiesta GET con l'acquisto token all'API sviluppatore di Google Play per verificare l'iscrizione.
    • Se l'acquisto è valido, aggiornare le scadenze salvate e le date di inizio. Fornire l'accesso ai dati acquistati.
    • Se l'acquisto non è valido, rimuovere i token di acquisto salvati e i dati di apertura e di espirazione. Non fornire accesso e disegnare la versione "non acquistata" dell'interfaccia utente.
  • Else
    • fornire l'accesso ai dati acquisiti.

risposta

2

Sì, lo sono.

Ho implementato correttamente la fatturazione in-app in questo modo.

+2

Grazie per la condivisione. Questo è un buon post. –

Problemi correlati