【发布时间】:2018-02-28 00:02:55
【问题描述】:
当我使用测试帐户在应用程序中测试订阅时,它会返回成功回调,并且根据回调我将一些信息存储在我的远程服务器上......但是当我发布它并使用其他帐户测试时订阅已扣除并且执行成功,但我无法收到成功回调,因为我无法访问内容。我们如何从购买模型或库存模型中获取交易信息,而不是我们如何获取有关特定订单 ID 的信息,例如剩余时间等,这些信息由谷歌自行管理。我们如何在每台设备上识别用户和(他/她)订阅以访问内容
mHelper = new IabHelper(this, "Key");
mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
public void onIabSetupFinished(IabResult result) {
if (!result.isSuccess()) {
Log.d(TAG, "In-app Billing setup failed: " + result);
} else {
Log.d(TAG, "In-app Billing is set up OK");
}
// Hooray, IAB is fully set up!
}
});
levelSubscriptionPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {
public void onIabPurchaseFinished(IabResult result,
Purchase purchase) {
if (result.isFailure()) {
Log.d(TAG, "failed billing");
} else {
Log.d(TAG, "purchase success Callback billing");
Log.d(TAG, purchase.getToken());
setSubscription(session.getUserDetail().getEmail());
}
}
};
mReceivedInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
public void onQueryInventoryFinished(IabResult result,
Inventory inventory) {
if (!result.isFailure()) {
Log.d(TAG, "Query Inventory failed Callback billing");
/*Toast.makeText(Dashboard.this, "InventoryListener", Toast.LENGTH_SHORT).show();
// Handle failure
mHelper.consumeAsync(inventory.getPurchase(ITEM_SKU),
mConsumeFinishedListener);*/
} else {
Log.d(TAG, "Query Inventory success Callback billing");
}
}
};
mConsumeFinishedListener = new IabHelper.OnConsumeFinishedListener() {
public void onConsumeFinished(Purchase purchase,
IabResult result) {
if (result.isSuccess()) {
Log.d(TAG, "Consume finish success Callback billing");
} else {
Log.d(TAG, "Consume finish failed Callback billing");
}
}
};
【问题讨论】:
标签: android in-app-billing subscription