如何在不重新提示启用推送通知的情况下切换推送通知提供程序?
问题描述:
有许多像Appboy(Braze),Localytics,Urban Airship等第三方推送通知提供程序。我们的应用程序正在使用“提供程序A”生产,但我们正在切换到“提供程序B”。全新安装获取推送通知,但升级安装不会。在检查后,它看起来像没有调用didRegisterForRemoteNotificationsWithDeviceToken
。如何在无需重新提示用户的情况下启用推送?如何在不重新提示启用推送通知的情况下切换推送通知提供程序?
答
只需再次拨打registerForRemoteNotifications
即可。如果他们已经注册并且成功调用了didRegisterForRemoteNotificationsWithDeviceToken
,iOS将不会再次提示他们。见下文。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
//...
let key = "OneTimeSync"
let didReSync = UserDefaults.standard.bool(forKey: key)
if didReSync == false{
UIApplication.shared.registerForRemoteNotifications()
UserDefaults.standard.set(true, forKey: key)
}
//...
}