我从Google Play IAB API获得以下内容;
您请求的商品无法购买
然而,我已成功测试了静态响应,此外,以下代码在可用产品列表中返回myProductId
;
ArrayList<String> skuList = new ArrayList<String> ();
skuList.add("myProductId");
Bundle querySkus = new Bundle();
querySkus.putStringArrayList("ITEM_ID_LIST", skuList);
Bundle skuDetails = service.getSkuDetails(3, activity.getPackageName(), "inapp", querySkus);
另外我有;
我正在使用的采购代码是;
Bundle buyIntentBundle = service.getBuyIntent(3, activity.getPackageName(), "myProductId", "inapp", "payload");
PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT");
activity.startIntentSenderForResult(pendingIntent.getIntentSender(), 1001, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));
最后,logcat显示以下内容;
D/Finsky: [1] PurchaseFragment.onStateChange: Error: PurchaseError{type=3 subtype=0}
D/Finsky: [1] PurchaseFragment.onStateChange: Purchase failed: PurchaseError{type=3 subtype=0}
虽然还有其他与此问题有关的问题,但没有一个问题可以帮我解决;
android.test.purchased
,使用静态响应进行测试是成功的在我上次测试后12小时,这是神秘的工作。症状是:
究竟解决了什么我不确定。在等待12个小时之前我;
IInAppBillingService
切换到使用谷歌的IABHelper
。即时效果仍然是产品无法购买,但文本现在显示为红色而不是黑色(什么?)和DFinsky错误更改为子类型4; PurchaseError{type=3 subtype=4}
。我还注意到直接使用IInAppBillingService
时我没有使用base64EncodedKey。即使在所有这些变化之后,问题仍然存在,所以我上床睡觉,今天早上醒来,没有进一步的改变它只是工作。 FML。
必须通过选择加入URL从Playstore安装应用程序。这将有助于应用程序从LICENSING & IN-APP BILLING
(Base64编码)授权。
编辑:我们可以使用adb工具安装在设备上测试已签名的apk。和
1.正在安装的应用程序的AndroidManifest.xml中的android:versionCode和android:versionName属性值与开发人员控制台中的APK值相匹配。
2.您的应用程序使用与您上传到开发者控制台的APK相同的证书进行签名,然后再将其安装到您的设备上。
http://developer.android.com/training/in-app-billing/test-iab-app.html
选择加入的网址为我做了。将其发送给您的用户 - 它会使用自己的Play商店应用注册用户。这是中间人,似乎需要通知该人是测试人员。
经过几天的尝试,我们不小心让它发挥作用。我们不得不“离开程序”(选择加入页面上的链接)并重新进入程序。然后它终于奏效了......