Как получить токен покупки из покупки в приложении (при покупке в приложении)? - PullRequest
0 голосов
/ 27 сентября 2019

Моя цель - отложить подписку пользователя в Android.Сначала мне нужен токен покупки подписки, чтобы сделать вызов API.

У меня есть этот код:

private IAPManager() {
}

public static IAPManager getInstance() {
    return instance;
}

public void init(final Context context) {
    if (!BillingProcessor.isIabServiceAvailable(context)) {
        Log.d(TAG, "In-app billing service is unavailable, please upgrade Android Market/Play to version >= 3.9.16");
    }

    Log.d("DEF_SUB", "billing initd");

    bp = BillingProcessor.newBillingProcessor(context, LICENSE_KEY, new BillingProcessor.IBillingHandler() {
        @Override
        public void onProductPurchased(@NonNull String productId, @Nullable TransactionDetails details) {
            updatePrefsWithPurchaseToken(context, details.purchaseInfo.purchaseData.purchaseToken);
            Toast.makeText(context, "purchased TOAST", Toast.LENGTH_SHORT).show();
            Log.d(TAG, "onProductPurchased: " + productId);
            resultListener.onResult(true);
        }

        @Override
        public void onBillingError(int errorCode, @Nullable Throwable error) {
            Log.d(TAG, "onBillingError: " + Integer.toString(errorCode));
            if (resultListener != null)
                resultListener.onResult(false);
        }

        @Override
        public void onBillingInitialized() {
            Log.d(TAG, "onBillingInitialized");
            readyToPurchase = true;
            bp.loadOwnedPurchasesFromGoogle();
        }

        @Override
        public void onPurchaseHistoryRestored() {
            Log.d(TAG, "onPurchaseHistoryRestored");
        }
    });
    bp.initialize();
}'

Плюс еще немного, но кажется, что он не выполняет код updatePrefsWithPurchaseToken(), поэтому я не могу получить доступ к токену покупки в моем коде, когда это необходимо.Тост или журнал тоже не отображаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...