什么时候iOS应用程序收据不可用?

什么时候iOS应用程序收据不可用?,第1张

概述我想从应用程序收据中阅读原始应用程序版本. 在开发过程中,应用程序不包含收据,因为它没有从商店安装.我需要启动SKReceiptRefreshRequest才能获得沙盒收据.但这会提示用户登录. 所以这就是问题:如果应用程序是从生产中的商店下载的,它是否保证包含收据?因为如果不是,我需要启动刷新请求,这会提示用户输入凭据.如果没有上下文,我不想这样做. 如果它不可用,这个案例的最佳做法是什么?将 我想从应用程序的收据中阅读原始应用程序版本.

在开发过程中,应用程序不包含收据,因为它没有从商店安装.我需要启动SKReceiptRefreshRequest才能获得沙盒收据.但这会提示用户登录.

所以这就是问题:如果应用程序是从生产中的商店下载的,它是否保证包含收据?因为如果不是,我需要启动刷新请求,这会提示用户输入凭据.如果没有上下文,我不想这样做.

如果它不可用,这个案例的最佳做法是什么?将SKReceiptRefreshRequest合并到“恢复购买”例程中?

PS:该应用仅适用于iOS 9.

解决方法 编辑

什么时候iOS应用程序收据不可用?这是一个缺少应用收据的场景.如果用户在计算机(非iOS设备)上从iTunes购买应用程序,然后将该应用程序同步到其设备,则不会有应用程序收据.

从大约48:30开始查看this WWDC 2014 video

第二次编辑

应用收据缺失的另一种情况是用户恢复到新设备.应用程序收据是特定于设备的,需要为新设备重新获取.

原始答案

我正在将应用程序从付费转换为免费增值,因此我还需要原始应用程序版本.我不知道你的答案“它是否保证存在”的问题,但这就是我决定如何处理的问题.

在启动时,我寻找以前持久的原始应用程序版本.如果那还不存在(这可能是第一次启动),我会检查网络.如果没关系,我会检查应用收据.如果它在那里我将它发送到应用程序商店进行验证,如果成功,从响应中获取原始应用程序版本并保留它.在随后的启动中,持久值是有的,所以我不再进行收据验证.如果启动时没有应用收据,我不会要求收据刷新.我同意你的观点,目前没有任何背景.

我猜这可以在网络可以访问的所有情况下工作,但我会在IAP点进行另一次检查.像这样…

┌────────────┐                                                                                             │  Tap Add   │                                                                                             └────────────┘                                                                                                    │                                                  ┌───────────────────────────────────────────────────────┤                                                  │                                                       │                                                  │                                                       ▼                                                  │                                            ┌────────────────────┐                ┌──────────────────────┐│              ┌──Don't KNow─────────────────│ Pre-IAP customer?  │───Yes─────────▶│   Create new thing   ││              │                             └────────────────────┘                └──────────────────────┘│              │                                        │                                                  │              │                                        │                          ┌──────────────────────┐│              │                                        └──────No─────────────────▶│         IAP          ││              │                                                                   └──────────────────────┘│              │                                                                                           │              ▼                        ┌────────────────────────────────────────┐                         │  ┌──────────────────────┐             │Maybe: Allow one grace thing. Warn that │                         │  │  Network Reachable?  │────No──────▶│ the user must connect to the internet  │                         │  └──────────────────────┘             │      before adding another thing.      │                         │              │                        └────────────────────────────────────────┘                         │             Yes                                                                                          │              │                                                                                           │              ▼                        ┌────────────────────────────────────────────────────┐             │  ┌──────────────────────┐             │  Maybe,depending on your requirements: Alert the  │             │  │   Receipt Present?   │────No──────▶│user that the app receipt is not present and the app│             │  └──────────────────────┘             │        store may ask for their credentials.        │             │              │                        └────────────────────────────────────────────────────┘             │             Yes                                                  │                                       │              │                                     ┌─────────────┘                                       │              ▼                                     ▼                                                     │  ┌──────────────────────┐             ┌────────────────────────┐                                         │  │        ValID?        │◀────────────│  Refresh the receipt.  │                                         │  └──────────────────────┘             └────────────────────────┘                                         │              │                                                                                           │              └─Yes───┐                                                                                   │                      ▼                                                                                   │  ┌───────────────────────────────────────┐                                                               └──│ Persist original_application_version  │                                                                  └───────────────────────────────────────┘@H_404_42@                            	          总结       

以上是内存溢出为你收集整理的什么时候iOS应用程序收据不可用?全部内容,希望文章能够帮你解决什么时候iOS应用程序收据不可用?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1209488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存