2017-10-18 23 views
0

Appboy(Braze)、Localytics、Urban Airshipなどのサードパーティプッシュ通知プロバイダが多数あります。アプリは「プロバイダA」を使用して生産されていますが、「プロバイダB」に切り替わります。新鮮なインストールではプッシュ通知が得られますが、アップグレードインストールでは通知されません。検査の結果、didRegisterForRemoteNotificationsWithDeviceTokenが呼び出されていないようです。ユーザーに再度プロンプトを表示せずにプッシュを有効にするにはどうすればよいですか?プッシュ通知を有効にするよう再入力せずにプッシュ通知プロバイダを切り替えるにはどうすればよいですか?

答えて

1

registerForRemoteNotificationsをもう一度呼び出すだけで十分です。 iOSはすでに登録されており、didRegisterForRemoteNotificationsWithDeviceTokenが正常に呼び出された場合には、再度プロンプトを表示しません。下記参照。

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) 
    } 
    //... 
} 
関連する問題