2017-03-09 63 views
0

我有一個成功發送通知的自定義通知服務,但在用戶單擊通知時從不會調用didReceiveRemoteNotification。該應用程序將打開到最後一個狀態,我試圖深入鏈接到應用程序中的特定場景。從自定義服務發送郵件時未調用didReceiveRemoteNotification

以我didFinishLaunchingWithOptions我通過調用此函數」

FUNC registerForPushNotifications(應用:UIApplication的)註冊的通知類型 { 讓notificationSettings = UIUserNotificationSettings(類型:[.badge,.sound,.alert] ,類別:無) UIApplication.shared.registerUserNotificationSettings(notificationSettings) }

我登記我的設備與被叫至 didRegisterForRemoteNotificationsWithDevi後端服務ceToken功能

接下來,我有我的didregister功能

FUNC應用(_應用:UIApplication的,didRegister notificationSettings:UIUserNotificationSettings){ UIApplication.shared.registerForRemoteNotifications() }

最後,我有didReceiveRemoteNotification當我點擊通知時,我預計會被調用。

FUNC應用(_應用:UIApplication的,didReceiveRemoteNotification用戶信息:AnyHashable:任何]){ }

的XML正在被貼到我的後端服務是相當簡單的,似乎是按預期工作: { 「觀衆」:{ 「ios_channel」: 「e06b9r8r-ffce-4fa6-92ec-123456789」 }, 「通知」:{ 「IOS」:{ 「警告」: 「測試音發送」, 「title」:「Test Alert」, 「sound」:「default」 }} , 「DEVICE_TYPEs的」:[ 「IOS」 ] }

如果任何人有輸入至於爲什麼didReceiveRemoteNotification func被不叫,將不勝感激。

+0

我在發佈後不久就解決了這個問題。我使用的是Urban Airship v1.0,UA庫會自動整合到應用程序中,攔截任何回撥到應用程序的電話。要解決這個問題,請在AirshipConfig.plist文件或UAConfig中將「automaticSetupEnabled」添加到NO。 UA在此解釋此更改:http://docs.urbanairship.com/platform/ios.html#automatic-integration – Liedl

回答

0

didReceiveRemoteNotification僅在您的應用程序打開時觸發。要響應用戶點擊通知,您需要檢查參數didFinishLaunching中的UIApplicationLaunchOptionsRemoteNotificationKey值。

相關問題