Search code examples
androidin-app-billingplay-billing-library

Where to initialize BillingClient from Google Play Billing Library?


I’d like to use the Google Play Billing Library for in-app billing in my Android app. When the app launches, I’d like to initialize the BillingClient, start the connection, and retrieve some product data. The actual purchase would happen from a different activity (not the launch activity).

Should I make some kind of singleton billing manager that contains the BillingClient, so I can start it when the app launches and still use it in the other activity? Or is there a better approach?


Solution

  • There is an example provided by Google. In this example, they use additional BillingManager class which can be accessed from different places of your application but it isn't a singleton because it's not only about BillingClient you also have to have PurchasesUpdatedListener which is receiving updates from the BillingManager.

    If you want to make BillingClient a singleton you can use BillingManager from the sample app and manage the list of BillingUpdatesListener by yourself.