10

Informazioni su come creare un prodotto in abbonamento nella nostra app per Android, ma un po 'oscuro sul modo migliore per conoscere le iscrizioni annullate. L'unico modo per cui stiamo pianificando l'annullamento dell'utente è che possano accedere a Google Play Store e annullare esplicitamente, ma in questo caso il nostro back-end non verrà informato.Come determinare se l'utente annulla l'abbonamento a Google Play?

L'API dello sviluppatore di Google Play indica in modo esplicito che non è necessario interrogare l'API per lo stato di tutte le sottoscrizioni, quindi come si suppone di sapere quali utenti hanno annullato l'abbonamento?

Qualsiasi aiuto molto apprezzato!

risposta

9

In base alla documentazione di sottoscrizione in-app non è disponibile alcun meccanismo per rilevare quando l'utente annulla la sottoscrizione. Dal momento che non è cancellato immediatamente. Aspetta invece la fine del ciclo per la scadenza dell'abbonamento.

Estratto dal documento (source)

Quando l'utente annulla un abbonamento, Google Play non offre un rimborso per il ciclo di fatturazione corrente. Invece, consente all'utente di di avere accesso all'abbonamento annullato fino alla fine del ciclo di fatturazione corrente, momento in cui termina l'abbonamento. Ad esempio, se un utente acquista un abbonamento mensile e lo annulla sul il 15 ° giorno del ciclo, Google Play prenderà in considerazione la sottoscrizione valido fino alla fine del 30 ° giorno (o altro giorno, a seconda del mese )

L'app non riceverà alcun tipo di notifica quando l'utente annulla l'abbonamento.

Il comportamento dell'abbonamento è quando si interroga l'inventario nell'app. L'SKU verrà restituito se l'abbonamento è valido. Alla scadenza dell'abbonamento, lo SKU non verrà restituito quando si esegue una query sull'inventario.

Secondo la documentazione in questo link

E 'bene eseguire una query lotto ogni volta abbonamento si avvicina alla fine

Estratto dal documento (source):

query per lo stato della sottoscrizione solo alla scadenza: una volta che il server ha recuperato la data di scadenza dei token di abbonamento, è necessario che non interroghi i server di Google Play per l'abbonamento stato di nuovo fino a quando l'abbonamento ha raggiunto o ha superato la data di scadenza. In genere, i server potrebbero eseguire una query lotto ogni giorno per controllare lo stato degli abbonamenti in scadenza, quindi aggiornare il database

Il seguente server API ti permette di interrogare lo stato di sottoscrizione:

https://developers.google.com/android-publisher/api-ref/purchases/subscriptions#resource-representations

Le variabili autoRenewing e cancelReason ti informano se l'abbonamento è stato annullato.

Utilizzando l'API di cui sopra si sarebbe in grado di implementare un sistema in cui la scadenza dell'abbonamento in scadenza può essere interrogata per lo stato e quindi determinare se sono stati annullati o meno.

I dettagli completi per la cancellazione della sottoscrizione sono disponibili in questo link.

Nota:
documentazione afferma che si dovrebbe continuare a fornire il contenuto fino a quando l'utente ha di sottoscrizione valido. Se avete intenzione di negare l'accesso al contenuto se qualcuno aveva disdetto l'abbonamento andrà contro la privacy di Google

Estratto dal documento (source)

Importante: In tutti i casi, è necessario continuare a offrire i contenuti che i tuoi abbonati hanno acquistato tramite i loro abbonamenti, come lungo qualsiasi utente è in grado di accedervi. Cioè, non devi rimuovere alcun contenuto mentre un utente ha ancora una sottoscrizione attiva ad esso, anche se quell'abbonamento terminerà alla fine del ciclo di fatturazione corrente .

+1

Grazie Anirudha. Se un utente ha una sottoscrizione che si rinnova una volta all'anno, ma per la quale paga mensilmente, dovremmo interrogare l'API per l'abbonamento scaduto mensilmente alla sua data di fatturazione? –

+0

Non penso che Google Play ti consenta di pagare mensilmente per l'abbonamento annuale. Se lo fa, puoi fornire il link ad esso? –

+0

Penso che tu abbia ragione, appena visto questo: "Per gli abbonamenti mensili e annuali, i cicli di fatturazione corrisponderanno sempre ai cicli di abbonamento, in base alla data di acquisto." su https://developer.android.com/google/play/billing/billing_subscriptions.html –

Problemi correlati