在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开发者网站,我发现有几种方法可以实现这一点。
这两者有什么区别。我该怎么做来实施应用程序结算。从这两个方面我应该遵循什么来实施。
这两种方法都可行,但Google目前推荐的方法是使用Play Billing class,它有complete training class如何使用它。这是根据Google Play添加应用内结算的最现代和推荐的方式,可让您访问最新功能。