In App Purchase Google iOS

Alessandro Oddo

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: 

        1. Andare nella propria Play Console

        2. Dal menu di sinistra selezione API Access ed effettuare un link ad un Google Cloud project, consiglio di creare un nuovo progetto dedicato.


        1. 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


        1. Per continuare è necessario spostarsi nella Google Cloud Platform, lo si può fare rapidamente tramite il tasto Visualizza Progetto.

        2. Dalla Google Cloud Platform è necessario andare su Api e Servizi -> Credenziali


        1. Questa pagina ci permette di creare dal tasto in alto Crea Credenziali, un nuovo account di servizio.



        1. 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.


        1. Al punto seguente aggiungere le capability come da immagine


        1. 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.


        1. Per farlo è necessario configurare la schermata di accesso di OAuth


        11. Una volta configurata la schermata di accesso, ritornare nella modifica dell'account di servizio e cliccare su Crea Client di OAuth compatibile

        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


        13. La chiave da generare il più delle volte sarà utile conservarla in formato json ma dipende dal servizio che si vuole integrare. Fate attenzione che questa chiave una volta persa non ha modo di essere recuperata.

        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.




         

        Conclusioni

        Se siete arrivati a questo punto significa che avete eseguito tutti i passaggi necessari per associare il vostro
        Account di Servizio alla vostra Google Play Console, fate molta attenzione nel dare i giusti permessi.

        Come avete potuto capire Google non ci ha reso la vita facile a noi sviluppatori per eseguire questa associazione e spero che le future modifiche alle console non rendano questa guida obsoleta a breve.

        Se vi si sono stato di aiuto e/o avete qualche dubbio scrivetemi pure