是否可以将每个NSLog不仅写入控制台,还可以写入文件?我想无需更换准备这个NSLog成someExternalFunctionForLogging.
替换所有人将是真正的问题NSLog.也许有可能从控制台解析数据或捕获消息?
在向用户提供可下载内容之前,我无法找到关于如何验证服务器上的应用内结算购买的直接答案.
我在app-billing版本3中使用.我使用基于TrivialDrive示例代码中的IabHelper类的代码购买托管产品.一切都很好,花花公子,购买成功完成,我得到一个完整的购买对象和以下原始JSON数据:
{
"orderId":"12999763169054705758.1364365967744519",
"packageName":"my package name",
"productId":"77",
"purchaseTime":1366217534000,
"purchaseState":0,
"purchaseToken":"utfwimslnrrwvglktizikdcd.AO-J1OwZ4l5oXz_3d2SAWAAUgFE3QErKoyIX8WuSEnBW26ntsyDmlLgoUd5lshqIY2p2LnlV4tpH4NITB4mJMX98sCtZizH7wGf6Izw3tfW_GflJDKFyb-g"
}
Run Code Online (Sandbox Code Playgroud)
据我所知,我需要传递purchaseToken和我看到的称为服务器签名的东西.然后,服务器使用私钥来验证购买.它是否正确?如果是这样,我从哪里获得签名,是否真的没有关于购买的服务器端验证的体面文档?
所以我想我理解了应用内计费和服务器端验证是如何工作的,这要归功于对我之前的一个问题的回答,但现在我想起来我仍然迷失了......
这就是我拥有的和我想做的事情:
我有一个应用程序,用户可以购买几个"项目".每个项目都存储在服务器上,并且项目应该在购买时可以在应用程序中下载.这些项目是可以只购买一次的管理项目(即非消耗品).我在Google Play开发者控制台中定义项目没有问题,我可以成功购买.
我不明白的是我如何让我的服务器不仅验证购买(使用purchaseToken和签名),还知道它是项目X而不是购买的项目Y?是否有一些Google API,服务器可以与Google通信并询问某个purchaseToken属于哪个商品ID?还有其他方法可以做到这一点吗?