通过推送通知打开应用时将用户与视图进行深层链接,但是如果应用因电话而处于非活动状态,则不希望进行深层链接

问题描述

我们正在AppDelegate中处理didReceiveRemoveNotification

func application(_ application: UIApplication,didReceiveRemoteNotification userInfo: [AnyHashable : Any],fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
    
    switch application.applicationState {
    case .inactive:
    //Parse userInfo,handle deep link and force navigation to a specific view
    case .background:
        break
    case .active:
        break
    }
}

基本上,当用户从推送通知中打开应用程序时,我们会在此处收到消息,并且由于inactive案件受到打击,我们可以说他们从后台打开了推送通知

请注意,如果在收到通知时应用程序处于前台,我们将进入active情况。在该处理程序中似乎不可能处于background状态

我们遇到的问题是,如果用户在应用程序处于前台状态时正在拨打电话,则他们的应用程序将进入inactive状态。当推送通知通过时,即使他们已经打开了我们的应用程序,他们也将被迫导航到另一个视图,这对用户造成了困扰。

我们要描述两个inactive处理程序方案。

  1. 如果notif是从后台inactive)打开的,请导航用户
  2. 如果在inactive(通话)期间收到了notif,请不要导航用户

我们正在尝试在用户周围设置标记,以使应用程序显式后台运行,但这似乎不是一个可靠的解决方案,希望我们在UIKit API中缺少某些内容

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)