Quando vendi prodotti digitali tramite la tua app, devi considerare l'intera esperienza utente. L'integrazione in-app ti consente di avviare flussi di acquisto e gestire l'esperienza utente, ma è fondamentale mantenere aggiornato il backend in merito ai diritti che gli utenti acquistano. Questo è importante per il monitoraggio degli acquisti e la gestione di altri aspetti dell'esperienza utente, come i diritti multipiattaforma.
Per monitorare gli eventi del ciclo di vita degli acquisti e rispondere rapidamente alle modifiche dei diritti degli utenti, devi creare un sistema di gestione dello stato degli acquisti nel backend sia per gli abbonamenti che per gli acquisti una tantum. Questo sistema garantisce un'elaborazione rapida e sicura degli acquisti, indipendentemente dallo stato del dispositivo, mantiene i diritti dell'utente coerenti su tutte le piattaforme e offre la possibilità di consultare la cronologia degli acquisti e i dati sui diritti nel backend.
Google Play offre le notifiche in tempo reale per lo sviluppatore (RTDN) per monitorare gli eventi del ciclo di vita degli acquisti e le API Play Developer per abbonamenti e acquisti in-app possono essere utilizzate per intraprendere le azioni necessarie in base a questi eventi. Utilizzando questi strumenti e creando un sistema di gestione del ciclo di vita degli acquisti solido, puoi offrire un'esperienza utente fluida e gestire acquisti e diritti in modo efficiente.
Crea un client di notifiche in tempo reale per lo sviluppatore
Gli acquisti effettuati sul sistema di fatturazione di Google Play possono subire diverse modifiche ai diritti durante il loro ciclo di vita. Queste modifiche possono essere attivate da varie azioni, tra cui le seguenti:
- Azioni avviate dagli utenti nella tua app.
- Azioni avviate dagli utenti tramite l'app Play Store.
- Azioni avviate direttamente dai tuoi sistemi di backend.
- Azioni che avvii tramite Google Play Console.
Ad esempio:
- Un utente che annulla un abbonamento tramite il Centro abbonamenti di Play Store.
- Uno sviluppatore che posticipa la fatturazione degli abbonamenti utilizzando l'API Google Play Developer.
- Uno sviluppatore che emette un rimborso e revoca il diritto per un acquisto tramite Google Play Console.
È fondamentale che il backend sia a conoscenza dei diversi stati che un acquisto può attraversare e che adotti tutte le misure necessarie per adeguare tempestivamente il diritto di conseguenza.
Sebbene sia possibile utilizzare l'API Google Play Developer per controllare manualmente lo stato di un acquisto, fare affidamento su controlli periodici è un modo molto inefficiente per monitorare le modifiche ed è soggetto a errori e ritardi. Le notifiche in tempo reale possono aiutarti a rispondere immediatamente alle modifiche senza dover creare una logica di monitoraggio del ciclo di vita per i tuoi acquisti su Google Play.
Questa sezione spiega come creare un client per le notifiche in tempo reale. RTDN è una funzionalità creata utilizzando Google Cloud Pub/Sub, che invia al backend una notifica istantanea quando lo stato del diritto di un utente cambia. Il sistema Pub/Sub è costituito da un publisher che invia notifiche e da un client che si iscrive a queste notifiche. Implementando le notifiche in tempo reale per lo sviluppatore, puoi monitorare tutte le modifiche allo stato dei diritti dell'utente in tempo reale e rispondere tempestivamente.
Publisher RTDN
Il backend di Google Play funge da editore per le notifiche in tempo reale. Per configurare RTDN per la tua app, segui le istruzioni riportate nella guida Configurazione. Questi passaggi consentono al sistema di fatturazione di Google Play di fungere da editore per le notifiche in tempo reale del tuo abbonamento. Per completare questa configurazione, devi familiarizzare con la console Google Cloud per configurare una configurazione Pub/Sub di base.
Abbonato alle notifiche in tempo reale per lo sviluppatore
Dopo aver configurato l'editore, devi preparare il backend per utilizzare le
RTDN. Per farlo, devi creare un client per ricevere i messaggi Google Cloud Pub/Sub. La funzione di base del client RTDN consiste nel ricevere istanze di
PubSubMessage,
tramite richieste HTTPS in un endpoint registrato o utilizzando le librerie client
Cloud Pub/Sub. Consulta la
documentazione di Pub/Sub per scoprire di più sull'utilizzo di una strategia
push o
pull oppure la documentazione sulla configurazione di RTDN per linee guida sulla
scelta della strategia più adatta alle tue esigenze.
Per ogni messaggio ricevuto, il backend deve:
- Decomprimi il campo
datacon codifica Base64, che contiene l'oggetto RTDN. - Controlla l'unicità del campo
messageIde assicurati che le notifiche duplicate non vengano elaborate. In questo modo si evita l'elaborazione ridondante e si garantisce di non esaurire la quota API. - Attiva tutti i processi di backend richiesti relativi alla modifica dei diritti notificata dall'evento RTDN.
Gestire le transizioni di stato degli acquisti
Gli acquisti singoli e gli acquisti in abbonamento hanno cicli di vita diversi in base ai diversi stati ed eventi che possono influire su di essi. Grazie a RTDN, non devi creare una logica per confermare le transizioni di stato. Tutto quello che devi fare è definire cosa succede quando il backend riceve ogni tipo di notifica.
Per saperne di più su questi scenari, consulta le seguenti guide: