实施InApp购买

问题描述 投票:1回答:1

在OnCreate()

helper=new IabHelper(getApplicationContext(),base64EncodedPublicKey);
    helper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
        @Override
        public void onIabSetupFinished(IabResult result) {
            if(!result.isSuccess()){
                Log.d(TAG_BILLING,"In app failed "+result);
            }else{
                Log.d(TAG_BILLING,"billing success");
            }
        }
    });

按钮附加到购买功能如下。

try {
                helper.launchPurchaseFlow(MainActivity.this,ITEM_SKU,10001,purchasedFinishedListener,"my_purchase_token");
            } catch (IabHelper.IabAsyncInProgressException e) {
                e.printStackTrace();
            }


IabHelper.OnIabPurchaseFinishedListener purchasedFinishedListener=new IabHelper.OnIabPurchaseFinishedListener() {
    @Override
    public void onIabPurchaseFinished(IabResult result, Purchase info) {
        if(result.isFailure()){
            return;
        }else if(info.getSku().equals(ITEM_SKU)){

            try {
                helper.consumeAsync(info,consumedFinishedListener);
            } catch (IabHelper.IabAsyncInProgressException e) {
                e.printStackTrace();
            }

            //consumeItem();
            //mRootRef.child(userForDatabase.getUid()).child("Bought").setValue(10);
        }
    }
};




IabHelper.OnConsumeFinishedListener consumedFinishedListener=new IabHelper.OnConsumeFinishedListener() {
    @Override
    public void onConsumeFinished(Purchase purchase, IabResult result) {
        textView.setText(10);
    }
};

这是在https://www.youtube.com/watch?v=vpnNEGOF3ck&list=PLvPqrYVmSBHeCbUccEYkkaqggtYkoJrXX之后完成的

但通过研究Android开发者网站,我发现有几种方法可以实现这一点。

In App Billing

这两者有什么区别。我该怎么做来实施应用程序结算。从这两个方面我应该遵循什么来实施。

android google-play in-app-purchase in-app-billing
1个回答
1
投票

这两种方法都可行,但Google目前推荐的方法是使用Play Billing class,它有complete training class如何使用它。这是根据Google Play添加应用内结算的最现代和推荐的方式,可让您访问最新功能。

© www.soinside.com 2019 - 2024. All rights reserved.