【问题标题】:What is the best practice to define the routing logic in branch deep links?在分支深层链接中定义路由逻辑的最佳实践是什么?
【发布时间】:2015-12-10 06:48:32
【问题描述】:

我在回调下浏览了Branch on Cocoapods 的参考文档,它建议保留路由逻辑。这是我需要实现的逻辑,但除了 if-else 逻辑之外我无法弄清楚任何东西。我想诱导一个key-->功能逻辑,应该怎么做?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    Branch *branch = [Branch getInstance];
    [branch initSessionWithLaunchOptions:launchOptions isReferrable:YES andRegisterDeepLinkHandler:^(NSDictionary *params, NSError *error) {
        // route the user based on what's in params
        // currently implemented as if-else logic
       if ([params objectForKey:@"key1"]){
           /*Do something*/
       }
       else if ([params objectForKey:@"key2"]){
          /*Do something else*/
       }
    }];
    return YES;
}

【问题讨论】:

    标签: ios viewcontroller deep-linking branch.io


    【解决方案1】:

    这样做的一个好方法是传递一个包含许多组件而不是单个键的 url。 例如,您传递的元数据可能是:

    abc.com/val1/val2
    

    而不是将单独的值作为key1,key2...

    这样,您可以解析 url 以获取单独的路径组件并相应地分支您的路由。

    这还可以让您拥有多个路由和值,而无需每次都在仪表板中添加新的键值对。

    希望这能回答您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-24
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-22
      • 2015-11-21
      相关资源
      最近更新 更多