2017-10-18 18 views
0

Il existe de nombreux fournisseurs de notifications push tierces comme Appboy (Braze), Localytics, Urban Airship, etc. Notre application est en production en utilisant "Fournisseur A" mais nous passons à "Fournisseur B." Les installations récentes reçoivent des notifications push, mais pas les installations de mise à niveau. Lors de l'inspection, il semble que didRegisterForRemoteNotificationsWithDeviceToken ne soit pas appelée. Comment pousser peut être activé sans avoir à ré-inviter l'utilisateur?Comment faire pour basculer les fournisseurs de notifications push sans nouvelle invite pour activer les notifications push?

Répondre

1

Il suffit d'appeler à nouveau registerForRemoteNotifications. iOS ne les ré-invite pas s'ils sont déjà inscrits et didRegisterForRemoteNotificationsWithDeviceToken est appelée avec succès. Voir ci-dessous.

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) 
    } 
    //... 
}