实施应用内购买

Implementing InApp Purchases

在 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

这两个有什么区别。我应该怎么做才能实施 In App Billing。从这两个方面我应该遵循什么来实施。

两者都可以,但是 Google 当前推荐的方法是使用 Play Billing class which has a complete training class 如何使用它。这是根据 Google Play 添加 In-app 计费的最现代和推荐的方式,并且可以让您访问最新功能。