- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我和许多其他人一样,只是在验证静态响应有效后尝试测试我的应用内购买。但是当我阅读文档、帖子和答案时,似乎没有任何结果。我变得非常沮丧。
我的最终目标是弄清楚我是否可以在不收费的情况下进行测试。
这个文档说我可以 - link
Once authorized with testing access, those users can side-load your app and test the full merchandising, purchase, and fulfillment flow for your products. Test purchases are real orders and Google Play processes them in the same way as other orders. When purchases are complete, Google Play prevents the orders from going to financial processing, ensuring that there are no actual charges to user accounts, and automatically canceling the completed orders after 14 days.
和相同的链接
During a test purchase, users can test the actual merchandising, purchase, and fulfillment flow in your app. During purchase, the inapp item is displayed as a normal item with an actual price. However, Google Play marks test purchases with a notice across the center of the purchase dialog, for easy identification
但是在这个页面上,它说 - link
Login to the test device by using a tester account. Test your In-app Billing application by purchasing a few items, and fix any issues that you encounter. Remember to refund the purchases if you don’t want your testers to be actually charged!
WTF...所以有人知道吗?可以做检测不收费吗?如果是这样,怎么做到的?
最佳答案
如果您使用的是应用内结算版本 3,那么您只需使用 product id="android.test.purchased"。它是虚拟产品,您不应将其添加到您的开发人员控制台中。您可以免费购买该产品。
android.test.purchased
当您使用此产品 ID 发出应用内结算请求时,Google Play 会做出响应,就像您成功购买了商品一样。响应包括一个 JSON 字符串,其中包含伪造的购买信息(例如,伪造的订单 ID)。在某些情况下,JSON 字符串已签名并且响应包含签名,因此您可以使用这些响应测试您的签名验证实现。
希望对你有所帮助。
关于Android In App Billing...为什么会有矛盾的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17227985/
在 Coq 中,我有两个假设 H 和 H0 ,它们相互矛盾。问题是,它们只是在某些特化方面相互矛盾,而在证明的这一刻,上下文并不是那么特化。 此时我的证明上下文如下所示: color : Vertex
根据 RubyMonk section 8.1模块只保存行为而不保存状态,类可以保存行为和状态。 然而,模块是 Ruby 中类的父类(super class)。怎么会这样? 最佳答案 哦兄弟,如果你忘
来自此处的文档:http://facebook.github.io/react/docs/pure-render-mixin.html 脚注说如果复杂数据(深层数据结构)的结构发生变化,你应该使用fo
我有一个简单的类(class) function TrueNinja() { this.vanish = function() { return this; }; } 由此创建一个新对象 var
这个问题在这里已经有了答案: How do Python's any and all functions work? (10 个答案) 关闭 4 年前。 无意中发现了Numpy中的一些东西,实在看不
这个问题在这里已经有了答案: C++ doesn't tell you the size of a dynamic array. But why? (7 个回答) 关闭3年前。 我到处都读到,在 C+
编辑以提供完整的代码示例和特定问题 我正在编写一个函数来生成股票价格的时间序列图。但是,出现以下错误 eval(expr,envir,enclos)中的错误:找不到对象'df1234' 这是该函数的示
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我正在阅读 Stroustrup 的 C++(1997 年第 3 版)以了解他是如何实现 RAII 的,在第 365 页上我发现了这一点: class File_ptr{ FILE* p; p
A class S is a standard-layout class if it: [class.prop]/(3.7) : has no element of the set M(S) of t
我是一名优秀的程序员,十分优秀!