当用户选择退出推送通知时,这是您应该执行的操作

因此,在用户登录并有机会熟悉一下您的应用之后,您已经深思熟虑地放置了Apple的推送通知提示,因为您知道在全新安装时显示该提示是有帮助的。

用户点击不允许

我们知道加入推送通知对于提高用户参与度的重要性,因此我们可以考虑添加一个预提示来解释启用推送的好处。 事实证明,根据增长工程师John Egan所说,这实际上可能会损害我们的选择率。

我们可以采用一种侵入性较小的方法,而不是在不需要的警报上堆积,并在应用程序设置的第一部分的正面和中心显示推送权限。 尽管我们无法再次显示Apple的提示,但是我们可以引导用户使用其设备上的“设置”。

将一个UISwitch添加到Push Notifications单元中,该开关的状态由UIApplication.shared.isRegisteredForRemoteNotifications的返回值设置。

选中后,我们可以显示我们自己的警报。

从这里,我们可以将用户直接带到UIAlertAction完成块中的常规设备设置。

 如果让settingsURL = URL(字符串:UIApplicationOpenSettingsURLString){ 
UIApplication.shared.open(settingsURL)
}

用户将自动导航到“设置”,在此他们可以重新打开通知。

作为一项很好的措施,我们还可以添加一个NotificationCenter观察器,并且当检测到推送通知订阅更改时,重新加载单元格以显示更新的UISwitch状态。

这样一来,推力又恢复了。

通过在设备上自动导航到“设置”,用户不必花时间在应用程序外部搜索应用程序的通知权限,并且我们不必再为每次安装时分配的Apple设置担心。