实施应用内购买
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。从这两个方面我应该遵循什么来实施。
两者都可以,但是 Google 当前推荐的方法是使用 Play Billing class which has a complete training class 如何使用它。这是根据 Google Play 添加 In-app 计费的最现代和推荐的方式,并且可以让您访问最新功能。
在 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。从这两个方面我应该遵循什么来实施。
两者都可以,但是 Google 当前推荐的方法是使用 Play Billing class which has a complete training class 如何使用它。这是根据 Google Play 添加 In-app 计费的最现代和推荐的方式,并且可以让您访问最新功能。