我正试图将谷歌的应用内计费API3整合到我一直使用API2的html" target="_blank">代码中。
我对mHelper(IabHelper对象)的调用成功,所以我正在连接谷歌的服务器。似乎我可以确定拥有的物品,因为我的QueryInventoryFinishedListener会返回一个包含我所有购买物品的有效库存。我也能够执行购买。
但是,查询sku详细信息失败(getSku细节())。以下是Eclipse中所有与IabHelper相关的LogCat输出(我删除了包名和产品SKU),导致失败:
12-31 11:47:04.642: D/IabHelper(13633): Starting in-app billing setup.
12-31 11:47:04.832: D/IabHelper(13633): Billing service connected.
12-31 11:47:04.832: D/IabHelper(13633): Checking for in-app billing 3 support.
12-31 11:47:04.832: D/IabHelper(13633): In-app billing version 3 supported for com.XXXX.XXXX
12-31 11:47:04.832: D/IabHelper(13633): Subscriptions AVAILABLE.
12-31 11:47:04.842: D/IabHelper(13633): Starting async operation: refresh inventory
12-31 11:47:04.842: D/IabHelper(13633): Querying owned items, item type: inapp
12-31 11:47:04.842: D/IabHelper(13633): Package name: com.XXXX.XXXX
12-31 11:47:04.842: D/IabHelper(13633): Calling getPurchases with continuation token: null
12-31 11:47:04.912: D/IabHelper(13633): Owned items response: 0
12-31 11:47:04.912: D/IabHelper(13633): Sku is owned: com.XXXX.XXXX.item_one
12-31 11:47:04.922: D/IabHelper(13633): Sku is owned: com.XXXX.XXXX.item_two
...
(and 45 other items)
...
12-31 11:47:05.012: D/IabHelper(13633): Continuation token: null
12-31 11:47:05.012: D/IabHelper(13633): Querying SKU details.
12-31 11:47:05.012: D/IabHelper(13633): getSkuDetails() failed: 5:Developer Error
12-31 11:47:05.012: D/IabHelper(13633): Ending async operation: refresh inventory
这看起来不像是一个签名问题,因为我可以成功连接并购买。
有没有其他人在getSkuDetails()出现“开发者错误”消息时遇到过问题,而应用内计费的其他方面也在工作?
谢谢你抽出时间!
SKU的数量并不总是原因。谷歌改变了开发者游戏商店的工作方式后,这种情况也开始出现。
以前,我们只需要上传已签名的APK而不发布它。
现在,有Beta和Alpha两个部分需要上传签名的APK并发布,以便用户在应用程序内购买。不要忘记将自己添加到测试人员列表中,并正确设置测试用户列表。
我也经历过同样的问题。当库存中的SKU超过20个时,问题似乎就会出现。
解决方案是将SKU的详细信息分块获取。替换IabHelper中的
具有:querySkuDetails
。java
int querySkuDetails(String itemType, Inventory inv, List<String> moreSkus)
throws RemoteException, JSONException {
logDebug("Querying SKU details.");
ArrayList<String> skuList = new ArrayList<String>();
skuList.addAll(inv.getAllOwnedSkus(itemType));
if (moreSkus != null) {
for (String sku : moreSkus) {
if (!skuList.contains(sku)) {
skuList.add(sku);
}
}
}
if (skuList.size() == 0) {
logDebug("queryPrices: nothing to do because there are no SKUs.");
return BILLING_RESPONSE_RESULT_OK;
}
while (skuList.size() > 0) {
ArrayList<String> skuSubList = new ArrayList<String>(
skuList.subList(0, Math.min(19, skuList.size())));
skuList.removeAll(skuSubList);
Bundle querySkus = new Bundle();
querySkus.putStringArrayList(GET_SKU_DETAILS_ITEM_LIST, skuSubList);
Bundle skuDetails = mService.getSkuDetails(3,
mContext.getPackageName(), itemType, querySkus);
if (!skuDetails.containsKey(RESPONSE_GET_SKU_DETAILS_LIST)) {
int response = getResponseCodeFromBundle(skuDetails);
if (response != BILLING_RESPONSE_RESULT_OK) {
logDebug("getSkuDetails() failed: "
+ getResponseDesc(response));
return response;
} else {
logError("getSkuDetails() returned a bundle with neither an error nor a detail list.");
return IABHELPER_BAD_RESPONSE;
}
}
ArrayList<String> responseList = skuDetails
.getStringArrayList(RESPONSE_GET_SKU_DETAILS_LIST);
for (String thisResponse : responseList) {
SkuDetails d = new SkuDetails(itemType, thisResponse);
logDebug("Got sku details: " + d);
inv.addSkuDetails(d);
}
}
return BILLING_RESPONSE_RESULT_OK;
}
这种方法将SKU分成18块。这对我很管用。
我想获得关于一个发布我的应用程序的Beta测试的程序的信息,但没有在商店上发布,因为他们不愿意进行任何发布。 我会解释哪一个是我的问题。我已经在Beta测试部分加载了apk,以便将您的用户发送到测试。 我不得不说,该应用程序目前没有加载的APK,在制造部分,然后该部分是空的,该应用程序没有发布。 在加载并在“beta testing”部分的链接部分进行了滚动后,我看到它给了我以下消息:“当你发布你
我需要谷歌oauth谷歌登录我的opencart商店。我的应用程序仅请求以下作用域,应用程序是公共的。 https://googleapis.com/auth/plus.me https://googleapis.com/auth/userinfo.profile https://googleapis.com/auth/userinfo.email 这些不是敏感范围,在我的 oauth 同意屏幕上
开发人员协议 请务必认真阅读和理解本《360浏览器应用开放平台开发人员协议》(以下简称"协议")中规定的所有权利和限制。在您参与360浏览器应用开放平台并使用应用中心分发产品时,您首先应接受本《协议》条款,如果您不接受本协议或违反了协议,奇虎360有权采取以下措施:驳回应用审核、下线产品、删除帐户、拒绝访问等。 本《协议》是开发人员与北京奇虎科技有限公司(下称"奇虎360")之间关于利用360浏览
Project V Project V 由以下几部分组成: V2Ray 核心: v2ray.com/core V2Ray 手册: v2ray.com 周边项目: 详见客户端 V2Ray 项目组 V2Ray 项目组最初是为了 V2Ray 核心的开发而建立,现在已推广到整个 Project V 生态环境。我们欢迎你加入组织参与开发。当然你也选择可以使用自己的 V2Ray 之外的环境。 加入 V2Ray
本文向大家介绍测试人员和开发人员区别?相关面试题,主要包含被问及测试人员和开发人员区别?时的应答技巧和注意事项,需要的朋友参考一下 ①人员不同 测试:开发人员和测试人员 开发:只有开发人员 ②所处阶段不同 测试:贯穿整个软件开发生命周期 调试:在软件开发编码阶段以及测试过程中对BUG进行调试 ③对bug处理结果不同 测试:只找出错误,不解决 调试:找出错误并解决
我正在尝试在同一台机器上设置ElasticSearch、Logstash和Kibana。我设置了: elasticsearch-1.4.0 logstash-1.4.2 kibana-3.1.2 根据本文,我遵循了所有步骤:http://aarvik.dk/a-bit-on-elasticsearch-logstash-kibana-the-elk-stack/ 我运行了ElasticSearch