6

我刚刚开始使用安卓应用内计费系统。我测试了地下城应用程序示例,没有任何问题。

所以我试图将应用内集成到我自己的应用程序中,但是当我使用声明的 productId 或静态测试 id 时,我得到了同样的错误:

无法购买此项目。(错误代码:IAB-DPTL)

该应用程序已经上市。我上传了一个签名版本,我也在手机上推送了(所以两边的版本都是一样的)。我添加了在手机上使用的电子邮件作为测试帐户。我应该激活我的应用程序吗?(有删除当前发布的应用程序的风险?)

我看不到我缺少什么,也无法在网络上找到有关此错误代码的任何信息。

我做错了什么?

4

1 回答 1

15

好的,我找到了解决方案!

该错误是由我在购买请求期间与 productId 关联的“payloadContent”直接引起的。

我曾经将我的可购买项目转换为 JSON 并将其作为开发人员有效负载内容。(认为​​对恢复阶段有用......)

我测试了删除这个payloadContent,然后我没有更多问题了。

我认为在不同事务中使用的数据格式是 JSON,因此 JSON 有效负载内容字段应该会干扰一些等待的字段..(例如“标题”或“链接”)

更新:

正如 Nikolay Elenkov 所说,错误很可能是由有效载荷的长度引起的,而 JSON 似乎可以工作。所以开发者有效载荷大小有一个限制:256 个字符。

我们认为错误代码:“IAB-DPTL”直接表示:“In App Billing - Developer Payload Too Long”

谢谢尼古拉!

于 2012-04-18T16:11:54.083 回答