我想发布一个具有自动续订订阅的iOS应用。尽管有大量有关此方面的信息,但很多信息已经过时了,因此我将陈述到目前为止所取得的成就。
我正在使用Swift 2.0,因此任何客观的C代码都无济于事。
我不会使用自己的服务器与Apple进行通讯以验证收据,因此我相信我需要使应用程序直接与Apple服务器进行通讯,或者我可以在设备上本地解析收据。
我可以使用以下代码在设备上找到收据(不确定是否有多张收据)
func checkForReceipt() {
let receiptUrl = NSBundle.mainBundle().appStoreReceiptURL
let fileExists = NSFileManager.defaultManager().fileExistsAtPath(receiptUrl!.path!)
if fileExists {
let receiptData = NSData(contentsOfURL: receiptUrl!)
//Now what do I do to decode the data and validate the receipt
} else{
requestReceipt()
}
}
Run Code Online (Sandbox Code Playgroud)但是,我无法弄清楚如何对收据进行解码,因此可以确定到期日期和其他验证步骤以确保它是有效的收据。
我不得不说,令人沮丧的是,对于开发人员来说非常重要和有用的事情必须如此难以遵循和定位。我们非常感谢您的帮助,希望对其他许多人有所帮助。
从本教程开始!我知道我们可以通过appStoreReceiptURL获取自动可再生订阅的状态。
我想知道appStoreReceiptURL是否自动刷新,以及在自动续订的续订期间何时发生。
在Objective C中是否有任何可用的教程?
我在生产服务器上使用Let的加密来处理SSL证书.我的网站证书将在下周到期,所以我使用letsencrypt-auto renew命令重新生成它(我还没有设置cron任务)
我得到的最后一个日志是2016-08-20 17:12:20,305:DEBUG:certbot.renewal:no renewal failures哪个平均证书已成功重新生成
但当我回到我的网站并检查证书属性时,它仍然表示它将在下周到期.
所以:
有人可以帮我澄清证书到期日的工作方式吗?
谢谢你的帮助 !
我发现在应用程序处于活动状态并正在运行时,永远不会交付已过期的自动续订订阅的续订,而是在应用程序从后台或启动时唤醒时.
换句话说,如果您正在使用该应用程序,并且订阅到期,则在用户继续使用该应用程序时,它将不会被传递到应用程序(假设它是自动续订和有效等).
Apple似乎没有记录此行为,其他任何有此经验的人都可以确认或以其他方式吗?
显然,人们可以检测到子已经过期,然后为用户提供检查其订阅状态的机会,并且恢复完成的订阅将会恢复新的订阅 - 但我只是想知道我们是否做错了,或者这个行为是正常.
谢谢.
我对自动续订有一些疑问。如果有这些问题,我事先表示歉意,但我认为在这里提出这些问题是我最好的起点。
有谁知道自动续订的最佳教程?我发现的那些都在某个地方有问题。我要它设置的方式是,一旦用户购买,它将运行一个php脚本并更新数据库,然后将用户重定向到成员资格部分。
检查用户是否仍在为其会员付费并没有取消会员资格的最佳方法是什么?如果取消,那么我将运行php脚本来更新数据库。
如果可能的话,用户如何从应用程序中取消自动更新订阅?假设用户删除了自己的帐户,然后在后端Swift中,我也想取消订阅。