在Android中销售应用内商品的培训课程建议在发出购买请求时使用有效负载:
第五个参数包含一个"开发人员有效负载"字符串,您可以使用该字符串发送有关订单的补充信息(它可以是空字符串).通常,这用于传递唯一标识此购买请求的字符串标记.如果您指定字符串值,Google Play会将此字符串与购买回复一起返回.随后,当您对此次购买进行查询时,Google Play会将此字符串与购买详细信息一起返回.
安全建议:最好传入一个字符串,以帮助您的应用程序识别进行购买的用户,以便您以后可以验证这是该用户的合法购买.对于消耗品,您可以使用随机生成的字符串,但对于非消耗品,您应使用唯一标识用户的字符串.
该实施IAB购买页面也有类似的建议,与有效载荷值应在自己的安全服务器上检查的其他建议:
安全建议:发送购买请求时,创建一个唯一标识此购买请求的字符串标记,并将此标记包含在developerPayload中.您可以使用随机生成的字符串作为标记.当您收到Google Play的购买回复时,请务必检查返回的数据签名,orderId和developerPayload字符串.为了增加安全性,您应该在自己的安全服务器上执行检查.确保验证orderId是您之前未处理过的唯一值,并且developerPayload字符串与您先前使用购买请求发送的令牌相匹配.
查看Google用于演示API的Trivial Drive应用程序的源代码,我发现此警告:
* WARNING: Locally generating a random string when starting a purchase and
* verifying it here might seem like a good approach, but this will fail in the
* case where the user purchases an item on one device and then uses your app on
* a different device, because on the other device you will not have access to the
* random …Run Code Online (Sandbox Code Playgroud) 我已经让IAB v3工作了,我能够购买一个托管项目.但是,为了继续开发和测试,我想退还购买,所以我可以尝试再次购买相同的产品.我登录了Google Checkout商家帐户并成功退款.但是,该应用程序仍然认为用户已购买该项目.我退款已经有好几周了,所以这不是延误问题.
基本上,在我的QueryInventoryFinishedListener实施中,inventory.hasPurchase(SKU_REMOVE_ADS)即使在退款之后总是返回true(SKU_REMOVE_ADS是我销售的商品的SKU).在退款处理完毕后,我原以为它会返回false.
如果您查看IAB参考的"处理退款"部分,它会说您的应用需要收听IN_APP_NOTIFY消息.但是,IN_APP_NOTIFY的文档特定于应用内结算的v2.它似乎不是v3中可用的东西,因为它没有在v3参考中的任何地方提到过,也不能在他们用来演示IAB v3 的示例TrivialDrive应用程序中找到它的任何参考.
那么IAB的v3支持退款/取消购买吗?有没有人试过它并让它工作?
我正在Django中编写一个Web应用程序,它与Read it Later List API(http://readitlaterlist.com/api/docs/)连接.但是,所有API调用都需要在每次请求时发送用户名和密码.为了做到这一点,我似乎需要在我的数据库中以纯文本形式存储用户的密码.我错过了什么,或者这是唯一可行的办法吗?有没有办法在我的数据库中存储加密的密码,但是在进行API调用时能够发送它的解密版本?如果没有,那么我是否应该遵循以保护用户密码的最佳做法?
我很确定这不是唯一需要以纯文本形式发送密码的服务.我很想知道开发人员如何处理这类服务.我是网络开发的新手,所以任何帮助或指针都表示赞赏.
我正在尝试将应用内商品添加到已上传到开发者控制台的草稿Android应用中.但是由于没有发布任何版本的应用程序,开发者控制台给了我这样的信息:
您的应用内商品已标记为在发布应用时激活.
在发布应用程序之前,是否无法测试应用内商品?该指南说您应该能够使用草稿申请:
...当您的APK仍然是草稿时,您可以发布您的应用内商品
但我似乎无法弄清楚如何.有小费吗?
我还应该提一下,我还能够在草案中为另一个应用程序激活产品,但我已经发布了该应用程序的旧版本.这次,我希望应用程序的第一个版本包含一个应用程序内的产品,但如果您还没有(以前)发布的应用程序版本,似乎无法激活产品.