我的应用程序允许向用户发送远程推送通知。当用户点击推送通知时,如何使其在特定视图控制器中打开?我希望应用根据收到的推送通知打开并导航到特定的视图控制器。当用户点击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