如何基于API响应触发应用内导航

时间:2019-07-17 14:14:56

标签: android ios swift

这个问题与ios(swift)和android有关。

我正在为我们的移动应用程序需要集成的横幅系统构建后端实现。某些横幅广告在按下时需要将用户重定向到应用程序的一部分。

根据API调用中返回的数据触发路线导航的最佳做法是什么?

例如,JSON中的横幅对象列表(其中一个键引用了要导航的页面)将在此处应用深层链接,这对应用程序创建我可以通过传递字符串来引用的路由映射有意义吗? ?

我觉得这里必须有一个简单的解决方案,但是与我合作的移动团队似乎很坚定。

1 个答案:

答案 0 :(得分:0)

在我当前的项目(iOS)中,我们使用深层链接将导航映射到应用程序的特定选项卡。因此,您可以通过JSON发送它,然后发布一个通知(您的主控制器正在侦听该通知)(例如TabBarController),然后选择要访问的所需索引或您需要的任何其他导航逻辑。

///在DeepLinkKit pod(https://github.com/button/DeepLinkKit)中注册深度链接

    self.router?.register("a/created/path") { link in
                if let link = link {
                    debugPrint("Router: \(String(describing: link.url))")
                    NotificationCenter.default.post(
                        name: Notification.Name(Configuration.App.kGoToSomewhere),
                        object: nil
                    )
                }
            }

或者只是从JSON中提取出来,然后设置通知

    call { URL in
      NotificationCenter.default.post(
                            name:   Notification.Name("ANotification"),
                            object: nil
                        )
    }

然后在您的主控制器中

    class MainTabBarController: UITabBarController {
       func viewDidLoad() {
           super.viewDidLoad()
          NotificationCenter.default.addObserver(
                self,
                selector: #selector(selectTab),
                name: Notification.Name("ANotificaton"),
                object: nil
            )
    }
    }

func selectTab() {
 // Do your navigation logic here
}

希望对您有帮助!