int*_*_32 24 android in-app-billing google-play
我正在尝试使用应用内结算:
mIabHelper = new IabHelper(this, BILLING_KEY);
mIabHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
@Override
public void onIabSetupFinished(IabResult result) {
if (!result.isSuccess()) {
Log.d(TAG, "Problem setting up In-app Billing: " + result);
}
}
});
Run Code Online (Sandbox Code Playgroud)
并得到错误:
Problem setting up In-app Billing: IabResult: Billing service unavailable on device. (response: 3:Billing Unavailable)
Run Code Online (Sandbox Code Playgroud)
为什么?试图清除Play商店的缓存,对我来说不起作用.
sok*_*kie 38
好吧,如果没有太多信息,我们无法帮助你.相反,我会尝试为你做一个清单,因为你错过了一些东西:
1)您是否在模拟器上进行测试?计费服务应该在设备上进行测试,但如果您真的需要在模拟器上进行测试,请确保模拟器已经安装并设置了Google Play.这非常重要!
2)您是否在清单中设置了正确的权限?(com.android.vending.BILLING)
3)如果您仍在测试应用程序,您是否从Playstore获得了测试应用程序许可证,在您的sdk中导入了lvl,设置了许可证验证库?(你可以按照这里:设置
4)关于你的活动onActivityResult你是否正确处理了活动结果?正如谷歌的例子所示,你应该这样做:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.i(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," + data);
// Pass on the activity result to the helper for handling
if (!inappBillingHelper.handleActivityResult(requestCode, resultCode, data)) {
super.onActivityResult(requestCode, resultCode, data);
}
else {
Log.i(TAG, "onActivityResult handled by IABUtil.");
}
}
Run Code Online (Sandbox Code Playgroud)
还有更多信息可能很有用,例如,如果您在模拟器或设备上测试,设备名称,Android版本等.
此错误表示您已连接到设备上的应用内结算服务,但该服务不支持IAB版本3.可能是您设备的Google Play版本仅支持IAB版本2.您的设备上运行的是哪个版本的Google Play?
您的Google Play版本是否正常运行(例如,您可以打开Google Play商店)吗?有时,如果设备上的日期已关闭,或者存在其他问题,Google Play本身可能会向南移动.
最后,你的logcat输出中有什么?如果您提供更多详细信息,提供帮助会更容易.
| 归档时间: |
|
| 查看次数: |
55770 次 |
| 最近记录: |