0

在我的 iOS 应用程序中,我有一些需要用户许可的东西。例如:接收推送通知的权限。

我想不时要求这些用户启用权限,直到他们批准为止。我不想每次用户启动应用程序时都询问。

我有打开应用程序设置的功能,用户可以在其中启用通知

extension UIApplication {
    class func openAppSettings() {
        if #available(iOS 8.0, *) {
            UIApplication.shared.openURL(URL(string: UIApplicationOpenSettingsURLString)!)
        }
    }
}

我考虑过存储最后一次权限请求的日期以及每次应用程序启动时 - 检查用户上次被要求权限的天数。我不知道为什么,但这对我来说似乎并不优雅。

你能建议更优雅的方法来解决它吗?

4

1 回答 1

1

优雅的方式:

  • 在用户进行(应用内)购买后立即再次请求许可,认为您想提醒未来的优惠

  • 在用户进行(远程)订阅/预订后立即再次请求许可,认为您想要提醒事件/预订/交付状态

  • 在用户触发需要超过 1 小时才能完成的(游戏内)操作后立即再次请求许可,认为您想提醒完成状态

如果你的应用不提供购买任何东西的服务,不触发任何对现实生活有影响的东西,并且没有长时间的游戏会话,那么它可能表明你没有对这些通知进行有意义的触发。

于 2018-05-17T11:25:04.527 回答