OGeek|极客世界-中国程序员成长平台

标题: iOS 从付费应用切换到免费应用,如何知道谁之前购买了该应用? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:01
标题: iOS 从付费应用切换到免费应用,如何知道谁之前购买了该应用?

我有一个在 iOS 4 上发布的付费应用程序。它尚未更新,我现在正在对其进行修改以与 iOS 10 一起使用。由于在应用程序内购买不是一件事,我制作了一个免费 (lite)和付费版本的应用程序。我想将付费版本更新到 iOS 10,并将其从付费更改为免费,并通过广告和应用内购买来删除广告。

我尝试研究各种方法,但我没有找到一种万无一失的方法或证据表明一种方法适用于所有情况。我发现的两种最流行的方法:

  1. 使用现有的 UserDefaults 键值来确定他们是否打开了旧应用,然后在新版本中不授予他们任何广告。

我认为这种方法行不通,就好像应用被卸载或用户在更新后重新下载一样,他们将没有那个值(value)。

  1. 我相信 iOS 7 提供了收据检查功能。使用收据检查来确定用户是否已为应用付款并检查日期是否早于新版本日期。

我也不确定这是否可行。我在文档中看到要在本地进行验证。如果应用程序最初是 iOS 4 应用程序,我需要的一切都会存在吗?这对通过促销代码拥有该应用程序的用户有用吗?如果他们在打开应用程序时没有互联网连接怎么办?我无法找到用于测试此选项的示例代码。

我该怎么做呢?以上任何方法是唯一方法还是有其他方法?



Best Answer-推荐答案


在我找到的有关此主题的所有资源中,检查收据似乎是您唯一可行的选择。如果您有一个购买应用程序的帐户,您可以使用该帐户通过 Xcode 运行该应用程序的新版本,并查看收据验证是否为您提供了预期的信息。虽然通过 Xcode 安装应用程序可能会更改帐户的收据,但您可能需要检查一下。

如果您在 iOS 4 版本上为 NSUserDefaults 设置任何值,

NSUserDefaults 选项可能会起作用。

关于iOS 从付费应用切换到免费应用,如何知道谁之前购买了该应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42303294/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4