从 Google Play Billing Library 哪里初始化 BillingClient?

Where to initialize BillingClient from Google Play Billing Library?

我想使用 Google Play Billing Library for in-app billing in my Android app. When the app launches, I’d like to initialize the BillingClient,开始连接,并检索一些产品数据。实际购买会发生在另一个 activity(不是发布 activity)。

我是否应该制作某种包含 BillingClient 的单例计费管理器,以便我可以在应用程序启动时启动它并在另一个 activity 中继续使用它?或者有更好的方法吗?

Google 提供了一个 example。在此示例中,他们使用额外的 BillingManager class 可以从应用程序的不同位置访问它,但它不是单例,因为它不仅与 BillingClient 有关,您还必须具有 PurchasesUpdatedListenerBillingManager 接收更新。

如果您想使 BillingClient 成为单例,您可以使用示例应用中的 BillingManager 并自行管理 BillingUpdatesListener 的列表。

您可以尝试以下方法:

mBillingManager = new BillingManager(this, getUpdateListener());

mBillingManager.startServiceConnection(new Runnable() {

    @Override
    public void run() {

        // Do AnyThing Here
      }
});