Ami*_*ail 45 android in-app-purchase in-app-billing google-play google-play-services
这是我第一次在android中处理In-App Billing 1)我正在使用API v3 2)我已上传我的应用程序的alpha版本,以便能够测试然后
3)我创建了一个订阅产品
4)这是我在产品中订阅的代码
mSubscribeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
Bundle subscribeIntentBundle = mService.getBuyIntent(3, getPackageName(), "my_product_id", "subs", "bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ");
PendingIntent pendingIntent = subscribeIntentBundle.getParcelable("BUY_INTENT");
if (subscribeIntentBundle.getInt("RESPONSE_CODE") == 0) {
startIntentSenderForResult(pendingIntent.getIntentSender(), 4002, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));
} else {
Toast.makeText(MainActivity.this, "Error Code: " + subscribeIntentBundle.getInt("RESPONSE_CODE"), Toast.LENGTH_SHORT).show();
}
} catch (RemoteException e) {
e.printStackTrace();
} catch (SendIntentException e) {
e.printStackTrace();
}
}
});
Run Code Online (Sandbox Code Playgroud)
5)我收到以下错误
我尝试使用不同的设备并且都有相同的错误,我也使用我的Google帐户登录,可以打开Google Play商店并查看我的应用
我还试图从应用管理器中清除Google Play商店的数据
有人可以帮忙吗?
mmw*_*610 40
我之前有同样的问题.转到您的谷歌开发者控制台,并确保您的应用程序已出版的任何版本(α,β或正式版).然后,In app购买将工作:)
a.d*_*cco 19
与可怕的消息有同样的问题:
需要身份验证.您需要登录自己的Google帐户.
我有两个问题:
"com.argonnetech.wordswriting.noads"
但在Google Play Developer(GPD)控制台中配置的应用内商品名称只是"noads"它起作用了.错误消息具有误导性,如"在应用程序项目中不存在会更好"这样的错误.
针对应用内购买帐户的Android Developer测试应遵循此键.
Base64EncodedPublicKey
//测试base64EncodedPublicKey
public static final String base64EncodedPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCg" +
"KCAQEAhNe2XQ70DceAwE6uyYJGK1dIBbZcPdlER/9EEzylr6RDU6tnGj0Tk7kceN03GKvRf/ucT+ERLL3O" +
"aHR22PXRXLZ17NZ81x6oS2vGmLyXBnjrU/I+asl8cNuLGySaoCdXxPAV+A9g6OG13dk+KY9i0O1roGpFH" +
"fsAFyKCgSqR0PMJZ1bS+wFFBYf3M4IxgBcxuuZKDmR+MztCgm5N4zc6w2CwFZn3mXeDoTg15mWDU3sZO" +
"WeRwFeynhV+FCYdDp8DpAkLk1b5IiXYFQ53wxCh/GxiKqBB6uQMmAixFjAcZV1QWfcBABae9vxiV5" +
"VAEJvOOnhPxnaT9HYadW0pQ/UbJwIDAQAB";
Run Code Online (Sandbox Code Playgroud)
和项目购买的关键是这样的
ITEM_PURCHASED
//测试ITEM_PURCHASED
public static final String ITEM_PURCHASED = "android.test.purchased";
Run Code Online (Sandbox Code Playgroud)
并开始将此代码onCreate()放到初始化IabHelper类进行 应用内购买,
IabHelper helper = new IabHelper(this, Constants.base64EncodedPublicKey);
helper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
public void onIabSetupFinished(IabResult result) {
if (!result.isSuccess()) {
Log.d("#InAppStartSetup#", "In-app Billing setup failed: " + result);
} else {
Log.d("#InAppStartSetup#", "In-app Billing setup successful.");
}
}
});
Run Code Online (Sandbox Code Playgroud)
最后在这里代码处理上购买了时间,
helper.launchPurchaseFlow(YOUR_ACTIVITY, Constants.ITEM_PURCHASED,
YOUR_REQUEST_CODE, mPurchaseFinishedListener, "");
Run Code Online (Sandbox Code Playgroud)
感谢你们...
归档时间: |
|
查看次数: |
20945 次 |
最近记录: |