微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在android应用程序中测试谷歌订阅不起作用

如何解决在android应用程序中测试谷歌订阅不起作用

enter image description here

这是我在日志中遇到的错误。我不知道这意味着我拥有最新的一切。我使用红米 Note 8 作为测试设备。

我在清单中的权限设置为“

我在他们的页面上关注了如何设置应用订阅以及如何测试它的整个指南。整个代码被复制。在我兄弟的 S10 galaxy 手机上,它只显示小对话窗口,但没有显示他可以购买的项目。

这是我创建的类:

public class SubscriptionInitializer {
private BillingClient mBillingClient;
private PurchasesUpdatedListener mpurchasesUpdatedListener;



public SubscriptionInitializer(Context context){
    initPurchasesListener();
    buildBillingClient(context);
}


public void startBillingConnection(Context context){
    
    mBillingClient.startConnection(new BillingClientStateListener() {
        @Override
        public void onBillingSetupFinished(@NonNull BillingResult billingResult) {

            if (billingResult.getResponseCode() ==  BillingClient.BillingResponseCode.OK) {
                // The BillingClient is ready. You can query purchases here.

                Log.d("ARRAY","Billing setupFinished");

                List<String> skuList = new ArrayList<>();
                skuList.add("inner_monthly_sub");
                SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();
                params.setSkusList(skuList).setType(BillingClient.SkuType.SUBS);
                mBillingClient.querySkuDetailsAsync(params.build(),(billingResult1,skuDetailsList) -> {
                            // Retrieve a value for "skuDetails" by calling querySkuDetailsAsync().
                            BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder()
                                    .setSkuDetails(skuDetailsList.get(0))
                                    .build();

                            int responseCode = mBillingClient.launchBillingFlow((Activity)context,billingFlowParams).getResponseCode();
                        });

            }
            else {
                Log.d("ARRAY",billingResult.getDebugMessage());
            }
        }
        @Override
        public void onBillingServicedisconnected() {
            // Try to restart the connection on the next request to
            // Google Play by calling the startConnection() method.
            Log.d("ARRAY","Billing disconnected");
            mBillingClient.startConnection(this);
        }
    });

}


private void initPurchasesListener(){

    mpurchasesUpdatedListener = (billingResult,purchases) -> {
        Log.d("ARRAY","Purchase Listener initialization");
    };
}

private void buildBillingClient(Context context){
    mBillingClient = BillingClient.newBuilder(context)
            .setListener(mpurchasesUpdatedListener)
            .enablePendingPurchases()
            .build();
}

}

startBillingConnection 方法我在 setContentView 之后调用 MainActivity 。

我在 Google Play 控制台的内部测试中上传了应用程序,并在那里发布,我已将我拥有的每封电子邮件都设置为许可电子邮件

请帮忙,因为谷歌开发者页面没有帮助,因为我给他们发送的每封邮件都没有回复,而且指南已经过时。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。