• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 将首次启动检测添加到*已经存在的* iOS 应用程序

[复制链接]
菜鸟教程小白 发表于 2022-12-13 03:02:50 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

对于尚未首次发布的应用,很容易弄清楚如何检测首次启动:在 UserDefaults 中查找是否缺少“wasLaunched” bool 值或版本号。然后设置它的值。这在 StackOverflow 上的多个地方都有问答。

但是...我正在更新一个已经存在的应用程序,该应用程序在其第一个版本中没有保存任何 UserDefaults 信息(任何类型)。有什么方法可以在新版本发布时检测到以前的版本已经存在并运行?我想不出一个,但这并不能证明太多。

这很重要,因为新版本对某些过去免费的功能收费。我希望早期用户不要突然面临功能丧失的问题。

之前也有人问过这个问题 (Detecting the first launch of an app with previous versions),但所有答案都忽略了应用程序已经存在的意义。

请注意,写入 UserDefaults 也不是万无一失的。如果用户在重新安装或升级之前删除了应用程序,则 UserDefaults 将消失。但是,这是一个边缘情况,我可以忽略。



Best Answer-推荐答案


根据您对评论中前几个问题的回答,您发布的问题确实应该改写为:

我目前有一个免费的应用程序。在下一次更新中,我希望使用应用内购买将一些当前免费的功能变成付费功能。但是,我不希望该应用程序的任何现有用户必须为他们已经使用的功能付费。只有从此更新开始的应用程序新用户才需要为应用程序内购买付费。如何实现我更新的应用程序,以便以前版本应用程序的下载者无需付费?

鉴于此,您的问题与任何类型的“首次启动”检测无关。您需要查看用户是否“购买”(或下载)了您应用的旧版本。

这可以通过执行收据验证来完成。获取并验证收据后,您可以检查收据并获取原始购买日期和原始购买版本。如果该版本是添加付费应用内购买之前的版本,请将用户视为他们已经进行了应用内购买,并向他们展示您的应用的付费功能。否则,请检查收据以查看其是否包含有关应用内购买的数据并酌情授予用户访问权限。

关于ios - 将首次启动检测添加到*已经存在的* iOS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46853645/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap