当应用被终止时,iOS推送通知

时间:2018-07-12 09:54:54

标签: ios apple-push-notifications whatsapp

我想知道当应用程序从后台被杀死时,WhatsApp如何处理视频推送通知。考虑到单击了应用程序图标而不是通知。

1-推送通知每5秒钟不断显示

2-铃声只播放一次,尽管该应用持续显示推送通知约30秒。

2 个答案:

答案 0 :(得分:2)

当应用程序处于终止状态时,将不会调用didReceiveRemoteNotification方法。然后在点击通知应用程序时将调用(_:didFinishLaunchingWithOptions)方法。如果通过点击通知启动应用程序,launchOption将包含有效负载。为此,请使用以下方法编写给定代码:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
       if launchOptions != nil{
         let userInfo = launchOptions? 
         [UIApplicationLaunchOptionsKey.remoteNotification]
          if userInfo != nil {
        // Perform action here
         }
    }

您的所有有效载荷数据都将在launchOptions中可用吗?[UIApplicationLaunchOptionsKey.remoteNotification]并从此处执行应用逻辑(导航..)。

请参阅this link以进行有效的推送通知处理

答案 1 :(得分:2)

您可以使用iOS VoIP推送通知来执行此操作。 VoIP推送使应用程序甚至可以在后台激活,并被用户强行杀死。所有语音和视频呼叫应用程序都使用此优先级推送服务。

很棒Apple guide about Voice Over IP (VoIP) Best Practices。主要用例之一–使用VoIP推送通知来避免持久连接。

要使用VoIP推送,您必须连接iOS PushKit framework。您可以config your own server或其他第三方提供商。