如何处理推送应用程序未运行状态?

问题描述:

是否可以根据推送通知内容打开iOS应用程序?我相信这是不可能的。还有别的办法吗?我相信我们可以在iOS10中使用小部件,对吧?请建议一些好的解决方案?如何处理推送应用程序未运行状态?

谢谢!

每当你的有效载荷content-available:1您的应用程序将让你在backgroundstate尽快到达调用,将调用application(_:didReceiveRemoteNotification:fetchCompletionHandler:)。如果用户手动杀死应用程序,它将不会被调用。 (这不启动您的应用程序,它需要你的应用程序将被启动,虽然)

说完,如果您的应用程序被终止(用户),其表示,但用户轻敲notitication那么你的应用程序是从didFinishLaunching推出 ...委托方法。

+0

是的,谢谢!所以它不可能在没有用户操作的情况下在推送接收上启动应用程序,对吗? – Gopik

+0

@ user1591698您能准确定义启动时的含义吗?你的意思是打开并带来神奇的效果吗?或者你的意思是让它在后台启动并执行一些任务? – Honey

+0

对不起,我需要做你的第一点(只要打开并带上神奇地把它带到前台) – Gopik

是的,我们无法在推送通知上打开ios应用程序,但我们可以通过推送通知来唤醒应用程序。它被称为VOIP通知。你可以有关于这个更多信息从下面的链接https://github.com/hasyapanchasara/PushKit_SilentPushNotification

+0

好的,谢谢!会检查。 – Gopik

每当推送通知的应用程序从非运行状态中的AppDelegate FUNC应用程序(应用程序运行状态下启动水龙头用户:UIApplication的,didFinishLaunchingWithOptions launchOptions:[NSObject的:?AnyObject]) - >布尔{

} 
in this function you can check application is launch from push or application icon 

var notification: [AnyHashable: Any]? = (launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey] as? [AnyHashable: Any]) 
if notification != nil { 
    print("app received notification from remote\(notification)") 
    application(application, didReceiveRemoteNotification: notification) 
} 
else { 
    print("app did not receive notification") 
} 
+0

好的,谢谢!如果用户不点击应用程序未运行状态,是否可以打开应用程序? – Gopik

+0

用户可以在应用程序图标上打开应用程序图标,您需要一个后台人员跟踪所有通知并向您发送最后一次未读推送通知的状态 – Optimus