0
我已经在应用程序中与“应用内结算购买”集成,但是我有几个活动需要复制所有代码。如何在类中留下应用内结算购买
所以我想着把所有的东西都集中在一个单独的课堂上,我在课堂上做了wastancio,如果这个东西被买了,我就到了。
只是,我有一个很大的问题“的应用内计费购买”使用监听器OnIabPurchaseFinishedListener
和QueryInventoryFinishedListener
我怎么能离开这一切都在一个类组织,只是一个简单的调用来检查我的活动?
调用代码:
Billing bl = new Billing(getActivity().getApplicationContext());
if (bl.Comprado())
Toast.makeText(getActivity(), "Comprado", Toast.LENGTH_SHORT).show();
else
Toast.makeText(getActivity(), "Erro comprado", Toast.LENGTH_SHORT).show();
类我创建了被称为多次
public class Billing {
// Item name for premium status
private static final String SKU_PREMIUM = "premium";
// private static final String SKU_PREMIUM = "tirarbanner";
// Flag set to true when we have premium status
private static boolean mIsPremium = false;
// In-app Billing helper
private IabHelper mAbHelper;
public Billing(Context context) {
String base64EncodedPublicKey = "xxx";
// Create in-app billing helper
mAbHelper = new IabHelper(context, base64EncodedPublicKey);
// and start setup. If setup is successfull, query inventory we already
// own
mAbHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
public void onIabSetupFinished(IabResult result) {
if (!result.isSuccess()) {
return;
}
mAbHelper.queryInventoryAsync(mGotInventoryListener);
}
});
}
public static boolean Comprado() {
return mIsPremium;
}
/**
* Listener that is called when we finish purchase flow.
*/
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {
public void onIabPurchaseFinished(IabResult result, Purchase purchase) {
if (result.isFailure()) {
return;
}
// Purchase was successfull, set premium flag and update interface
if (purchase.getSku().equals(SKU_PREMIUM)) {
mIsPremium = true;
}
}
};
/**
* Listener that's called when we finish querying the items and
* subscriptions we own
*/
IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
// Have we been disposed of in the meantime? If so, quit.
if (mAbHelper == null)
return;
// Is it a failure?
if (result.isFailure()) {
return;
}
// Do we have the premium upgrade?
Purchase premiumPurchase = inventory.getPurchase(SKU_PREMIUM);
mIsPremium = premiumPurchase != null;
}
};
}
但我已经使用这个库正是我需要的,而是使用相同的代码在我的课集中一切 – Will