当前位置: 首页 > 知识库问答 >
问题:

Android计费库V3

章飞章
2023-03-14

也许我做错了什么,但如果是这样的话,我就想不出来了。我正在尝试购买一种产品,无论出于何种原因,购买过程都不正常。当我点击购买一件物品时,它会给我账单流程。然后在付款后,我必须再次点击它才能收到我购买的芯片。任何帮助都会很棒,谢谢!如果你不熟悉这个工具,这里有一个链接https://github.com/anjlab/android-inapp-billing-v3如果你需要更多细节,请告诉我。

    bp = new BillingProcessor(this, base64EncodedPublicKey,
            new BillingProcessor.IBillingHandler() {

                @Override
                public void onProductPurchased(String productId,
                        TransactionDetails details) {
                    Log.v("chip", productId + " purchased");
                    if (bp.consumePurchase(productId)){
                        if(productId=="itemOne" || productId=="one_chip")
                            ChipUpdate.updateChipCount(2500);
                        if(productId=="itemTwo"|| productId=="five_chip")
                            ChipUpdate.updateChipCount(15000);
                        if(productId=="itemThree"|| productId=="ten_chip")
                            ChipUpdate.updateChipCount(35000);
                        if(productId=="itemFour"|| productId=="fifty_chip")
                            ChipUpdate.updateChipCount(200000);
                    }
                }

                @Override
                public void onBillingError(int errorCode, Throwable error) {
                    Log.v("chip", "Error code: " + errorCode);
                    Log.v("chip", "Error: " + error);
                }

                @Override
                public void onBillingInitialized() {
                    Log.v("chip", "billing initialized");
                    readyToPurchase = true;
                }

                @Override
                public void onPurchaseHistoryRestored() {
                    for (String sku : bp.listOwnedProducts())
                        Log.v("chip", "Owned Managed Product: " + sku);
                    for (String sku : bp.listOwnedSubscriptions())
                        Log.v("chip", "Owned Subscription: " + sku);
                }

            });
public void oneChip(String noVal) {
    Log.v("oneChip", "Calling launch purchase flow");
    bp.purchase(this, itemOne);
    Log.v("oneChip", "made it through launch purchase flow");
}

public void fiveChip(String noVal) {
    Log.v("fiveChip", "Calling launch purchase flow");
    bp.purchase(this, itemTwo);
    Log.v("fiveChip", "made it through launch purchase flow");
}

public void tenChip(String noVal) {
    Log.v("tenChip", "Calling launch purchase flow");
    bp.purchase(this, itemThree);
    Log.v("tenChip", "made it through launch purchase flow");
}

public void fiftyChip(String noVal) {
    Log.v("fiftyChip", "Calling launch purchase flow");
    bp.purchase(this, itemFour);
    Log.v("fiftyChip", "made it through launch purchase flow");
}

共有1个答案

周楷
2023-03-14

我想你不应该在onProductPurchased

 类似资料:
  • 启动购买流后,onActivityResult方法需要什么? 来自平凡的驱动器示例: msgstr"在这里,您可以对与应用内计费无关的活动结果执行任何处理" 这是否意味着您需要更新用户的清单或显示警报框?如果是这样,我已经在OnConsumeFinishedListener中这样做了。我已经测试了我的代码,留下了上面的onActivityResult方法,看起来没问题。这可能会导致任何问题吗? 或

  • 我在应用程序中实施计费,并在构建项目时收到以下错误。 C: \Users\user\AndroidStudioProjects\blesd\app\src\main\aidl\IInAppBillingService。aidl:46接口IInAppBillingService应在名为com\android\vending\billing\IInAppBillingService的文件中声明。aid

  • 看看连接到服务器的路由器以及服务器本身的防火墙规则。 确保Telco的服务器打开了1812和1813UDP端口。 那些人很可能连接到现在关闭的Wi-Fi塔。 根据FreeRADIUS,它们仍然是连接的,它限制了它们同时进行的会话。 使用radzap关闭他们的孤立会话。 可能是强制网络门户上的时区或时间不正确。 建议您使用网络时间协议(NTP)确保所有NAS设备和FreeRADIUS服务器之间的时间

  • 新的Android Billing v3文档和帮助程序代码在启动购买流时使用。我想从开始一个购买流程(并接收结果)。 例如,文件建议致电 助手代码调用 它调用。 问题是,调用会导致在父上被调用,而不是在调用它的上(驻留的地方)。 我可以在父级中接收,然后手动调用上的,但是,有没有一种方法可以从

  • 计费项目 \ Region cnbj0 (金山云-北京3) cnbj2 (金山云-北京6) awsbj0 (AWS-北京) awsusor0 (AWS-Oregon) awssgp0 (AWS-Singapore) awsde0 (AWS-Frankfurt) 存储 (每GB) 0.0364 RMB NA 0.524 USD 0.001 USD 0.001 USD 0.001 USD PUT/PO

  • SDS 的计费项包括以下几种 预设表读写配额 写入配额 AWS-北京 ¥0.058 每10单位的每小时的写入容量 AWS-Oregon $0.0064444 每10单位的每小时的写入容量 金山云-北京6 ¥0.01288 每10单位的每小时的写入容量 读取配额 AWS-北京 ¥0.0029 每10单位的每小时的读取容量 AWS-Oregon $0.00032222 每10单位的每小时的读取容量 金