Я разрабатываю android SDK, и мне нужно запросить существующие подписки пользователя через BillingClient, приобретенные перед установкой моего SDK. Я планирую сделать это с помощью метода BillingClient.getPurchases (), но я не знаю, есть ли в приложении в это время активный и подключенный BillingClient. Поэтому сначала я создам объект BillingClient и использую этого клиента для запроса существующих покупок. Я не хочу влиять на процесс покупки приложения при этом. Насколько безопасно использовать несколько экземпляров BillingClient одновременно?
BillingClient billingClient = BillingClient.newBuilder(EmptyActivity.this).enablePendingPurchases().setListener(this).build();
billingClient.startConnection(new BillingClientStateListener() {
@Override
public void onBillingSetupFinished(BillingResult billingResult) {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
Purchase.PurchasesResult result = billingClient.queryPurchases(BillingClient.SkuType.SUBS);
for (int i=0; i<result.getPurchasesList().size();i++) {
Purchase purchase = result.getPurchasesList().get(i);
if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
purchases.add(purchase);
}
}
}
}
@Override
public void onBillingServiceDisconnected() {
}
});