Acquisti in App: Come configurarli con Google
In questo articolo si vuole aiutare chiunque abbia la necessità di interrogare con il proprio backend lo stato delle proprie sottoscrizioni ottenute tramite i meccanismi di In-App Purchase di Google.
Com'è nata l'esigenza
Da poco abbiamo aggiornato la nostra applicazione Emb3d sugli store iOS e Android, totalmente rivista con l'utilizzo di Flutter come framework di sviluppo.
In questa applicazione stiamo valutando la possibilità di aggiungere la gestione delle sottoscrizioni con i meccanismi nativi di Google Pay e Apple Pay.
Se l'integrazione a livello di codice è stata rapida, anche grazie anche a questo articolo che spiega come unificare la gestione delle sottoscrizioni tra i due sistemi, non lo è stato altrettanto attivare gli account per permettere al backend di effettuare richieste per conoscere lo stato della sottoscrizione.
Andremo a discutere della sola integrazione con Google, l'integrazione con Apple sarà oggetto di un altro articolo.
Integrazione
I metodi che mette a disposizione Google per interrogare le proprie api sono semplici e descritti qui.
Questi metodi richiedono naturalmente l'autenticazione e per permettere al proprio server di effettuare richieste deve essere generato un file JSON di configurazione.
Sono necessari diversi passaggi per la creazione che verranno descritti di seguito, armatevi di calma e pazienza perché sono parecchi:
Andare nella propria Play Console
Dal menu di sinistra selezione API Access ed effettuare un link ad un Google Cloud project, consiglio di creare un nuovo progetto dedicato.
- Una volta creato il progetto si può notare la presenza della sezione Account di servizio, a questa dobbiamo collegare un account che sarà appunto quello necessario per interrogare la Play Console
Per continuare è necessario spostarsi nella Google Cloud Platform, lo si può fare rapidamente tramite il tasto Visualizza Progetto.
Dalla Google Cloud Platform è necessario andare su Api e Servizi -> Credenziali
- Questa pagina ci permette di creare dal tasto in alto Crea Credenziali, un nuovo account di servizio.
- La schermata richiederà di inserire un nome da dare all'account e una sua descrizione. Inseriteli e cliccate su Crea e continua facendo attenzione a non saltare il passo 2.
- Al punto seguente aggiungere le capability come da immagine
- Creato l'account verremo riportati alla schermata precedente, anche se, creato l'account ancora non è completamente configurato per poter essere utilizzato, infatti dobbiamo richiedere l'autorizzazione per Client OAuth di Google Workspace Marketplace.
- Per farlo è necessario configurare la schermata di accesso di OAuth
12. Il passaggio successivo richiede di creare una chiave che userà il backend per effettuare richieste con questo account di servizio, per farlo selezionare l'account di servizio e quindi selezionare Crea una nuova chiave
14. Adesso che abbiamo un Account di Servizio configurato dobbiamo ritornare alla Google Play Console nella sezione e condividere le dovute autorizzazioni all'account.
15. La schermata ha più tab, selezionare adeguatamente i permessi per l'account e anche le app per cui l'account ha accesso.
Account di Servizio alla vostra Google Play Console, fate molta attenzione nel dare i giusti permessi.
Acquisti in App come configurarli con Google