gpt4 book ai didi

ios - iOS 应用收据何时不可用?

转载 作者:可可西里 更新时间:2023-11-01 17:04:25 24 4
gpt4 key购买 nike

我想从应用程序的收据中读取原始应用程序版本。

开发中的应用不包含收据,因为它不是从商店安装的。我需要启动 SKReceiptRefreshRequest 以获得沙盒收据。但这会提示用户登录。

那么问题来了:如果应用程序是在生产环境中从应用商店下载的,它是否保证包含收据?因为如果没有,我将需要启动一个刷新请求,提示用户输入他们的凭据。我不想在没有上下文的情况下这样做。

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

PS:该应用仅适用于 iOS 9+。

最佳答案

编辑

iOS 应用收据何时不可用?这是应用收据丢失的一种情况。如果用户在计算机(非 iOS 设备)上从 iTunes 购买您的应用程序,然后将该应用程序同步到他们的设备,则不会有应用程序收据。

参见 this WWDC 2014 video大约48:30开始


第二次编辑

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


原始答案

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

在启动时,我会寻找以前保留的原始应用程序版本。如果还不存在(这可能是第一次发布),我会检查网络。如果没问题,我会检查应用收据。如果它在那里,我将它发送到应用程序商店进行验证,如果成功,则从响应中获取原始应用程序版本并保留它。在随后的发布中,持久值存在,所以我不再进行收据验证。如果应用收据在启动时不存在,我不会请求刷新收据。我同意你的看法,目前没有上下文。

我猜测这将适用于网络可访问的所有情况,但我在 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 │
└───────────────────────────────────────┘

关于ios - iOS 应用收据何时不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39656700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com