我的應用程序允許向用戶發送遠程推送通知。當用戶點擊推送通知時,如何使其在特定視圖控制器中打開?我希望應用根據收到的推送通知打開並導航到特定的視圖控制器。當用戶點擊iOS上的推送通知時在特定視圖中打開應用程序Swift
8
A
回答
19
要做到這一點,你需要爲你的應用程序可以與打開每個ViewController
一個identifier
,然後檢查在application:didFinishLaunchingWithOptions:
的launchOptions
參數在AppDelegate
下面是步驟來這樣做:
在你
PFPush
,使用setData
一鍵添加到您的有效載荷與標識符:notification.setData(["alert":"your notification string", "identifier":"firstController"])
設置
identifier
上的各ViewController
通過選擇它並改變下列值
- 讓您的推送通知發送故事板ID在其與鍵
identifier
- 檢查應用程序中的ID:didFinishLaunchingWithOptions:在該函數的末尾添加以下內容:
if let payload = launchOptions?[UIApplicationLaunchOptionsRemoteNotificationKey] as? NSDictionary, identifier = payload["identifier"] as? String {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier(identifier)
window?.rootViewController = vc
}
2
在AppDelegate中,你會得到一個委託回調「didFinishLoading」或「didReceivePushNotification」的方法(根據您的應用程序在背景或前景)。在該方法中,獲取最頂層的視圖控制器的實例,然後創建您想要顯示的特定視圖控制器,並從最頂層的視圖控制器呈現/推送。
+3
薩蒂揚,感謝您的回答,這也是正確的。但是我給了kabiroberai的答案,因爲他是我的問題最完整的解決方案。 – mechdon
0
UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (notification)
{
[self application:application didReceiveRemoteNotification:(NSDictionary*)notification];
}
相關問題
- 1. 如何在用戶點擊推送通知時禁用打開應用程序
- 2. 當用戶點擊推送通知時打開Safari瀏覽器
- 3. 當用戶收到推送通知時打開特定選項卡/視圖
- 4. 如何關閉當前打開的應用程序,當點擊推送通知
- 5. 使應用程序不能打開推送通知點擊
- 6. 當應用程序打開時,推送通知不起作用
- 7. 如何在用戶點擊通知時打開特定課程?
- 8. 從推送通知中打開應用程序時打開特定的視圖控制器
- 9. Phonegap推送插件。點擊通知後打開一個特定的應用程序視圖
- 10. 當應用程序打開時停止推送通知振動
- 11. android:如何在點擊推送通知時打開應用程序
- 12. iOS推送通知給特定用戶?
- 13. iOS推送通知打開不同的應用程序
- 14. 當應用程序打開時未收到Android上的推送通知
- 15. Azure的移動推送通知未在iOS的Xamarin觸發當用戶點擊應用程序圖標
- 16. 在Azure Reach推送通知中單擊時打開Android應用程序
- 17. iOS - 用戶終止應用程序時檢測推送通知
- 18. 每當通過推送通知打開應用程序時調用rest-api
- 19. 當推送通知到來時,如果用戶單擊應用程序圖標而不是單擊通知以打開此應用程序
- 20. 當在Ionic 2中打開應用程序時處理推送通知
- 21. IOS應用程序在後臺不顯示推送通知。 Swift
- 22. 如何檢測應用程序打開時的推送通知
- 23. iOS 5橫幅推送通知消失,用戶點擊應用程序圖標啓動應用程序
- 24. 推送通知在實時iOS應用程序上停止
- 25. iOS應用程序推送通知
- 26. 當應用程序終止時iOS 10推送通知?
- 27. iOS:當點擊一個推送通知時,其他人推送相同應用的通知正在消失
- 28. 如何在應用程序關閉時打開推送通知時推送新視圖?
- 29. 解鎖iPad時,推送通知提醒打開應用程序
- 30. 推送通知提醒打開iPhone時解鎖應用程序
我正在使用PFPush,此刻,我的推送通知只包含一串文字 – mechdon
@mechdon在推送通知中使用'setData'方法發送數據以及使用字典'[「identifier」:「 firstController「]'或任何你的標識符應該是 – kabiroberai
@mechdon你打算如何指定'ViewController'打開它? – kabiroberai