如何从应用内购买(应用内购买)获取购买令牌?

时间:2019-09-27 20:09:22

标签: android in-app-purchase in-app-billing subscription

我的目的是推迟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(),因此在必要时我无法访问代码中的购买令牌。吐司或日志也不会出现。

0 个答案:

没有答案