我从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
答案 0 :(得分:5)
在我上次测试后12小时,这是神秘的工作。症状是:
究竟是什么确定了这个我不确定。等我12个小时之前;
IInAppBillingService
直接转到使用Google的IABHelper
。即时效果仍然是产品无法购买,但文本现在显示为红色而不是黑色(什么?)和DFinsky错误更改为子类型4; PurchaseError{type=3 subtype=4}
。我还注意到,直接使用IInAppBillingService
时我没有使用base64EncodedKey。即使在所有这些变化之后,问题仍然存在,所以我上床睡觉,今天早上醒来,没有进一步的改变它只是工作。 FML。
答案 1 :(得分:3)
必须通过选择加入网址从Playstore安装应用。这有助于应用从alpha^4/q
进行授权(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
答案 2 :(得分:0)
选择加入的网址为我做了。将其发送给您的用户 - 它会使用自己的Play商店应用注册用户。这个中间人似乎需要被通知该人是测试人员。
答案 3 :(得分:0)
经过几天的努力,我们意外地完成了它的工作。 我们不得不“离开程序”(选择加入页面上的链接)并重新进入程序。然后它终于奏效了......
答案 4 :(得分:0)
在购买应用程序内订阅时,我将以下列出的所有内容放在正确的位置。
创建签名的APK,并发布到 alpha频道
在许可测试
将测试者的电子邮件ID添加到了封闭轨道alpha测试
选择作为测试员
测试ID与开发者帐户的ID 不同
在android设备上,不在模拟器上
从Play商店下载了应用程序
仍然出现此错误,提示“找不到您要查找的商品” 。
浪费2-3天后,我发现只有在Play商店中设置了某些付款方式后,该功能才有效。
虽然大多数答案与旧的IAB购买有关,但是我实现了新的结算客户端API,该API是-
implementation 'com.android.billingclient:billing:1.0'
,要找到解决方案并不容易。
如果某些情况相同,则添加付款方式可能有助于您克服此错误。您甚至需要添加一个进行测试,但是,对于作为许可证测试人员添加的电子邮件ID,将不收费。