0

使用新的 iOS 9 功能 - 据我了解,通用链接应该在浏览器(或其他应用程序?)中打开特定域时打开我的应用程序。我已经阅读了文档和本指南

但是,当应用程序打开时,我没有收到旨在帮助我打开正确页面供用户查看的参数......

我会分享我正在使用的代码,但它是一个相当大的基础设施,而不是几行代码(服务器端 JSON、plist 行和开发人员门户上的一些 ID)。

有谁遇到过,可以帮我看看吗?

4

1 回答 1

1

不幸的是,您链接到的 Branch 指南(完全披露:我与 Branch 团队合作)没有涵盖一个相当重要的步骤:打开应用程序后要做什么。这正是您遇到的问题:)。但好消息是您已经完成了所有服务器和权利配置的困难部分。

完成循环所需的是AppDelegate.m文件中的continueUserActivity处理程序。这将向您传递一个包含打开您的应用程序的通用链接的实际 URL 的属性,然后您可以对其进行解析并用于路由。它看起来像这样:webpageURL

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *))restorationHandler {
    if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
     NSString *myUrl = [userActivity.webpageURL absoluteString];
        // parse URL string or access query params
    }
    return YES;
}

此外,在测试时请记住,不幸的是,通用链接还不能在任何地方工作:

在此处输入图像描述

PS,想问一下……既然你已经找到了Branch博客,你有没有考虑过使用该服务来为你处理链接路由?它绝对可以帮助简化事情!

于 2016-03-22T14:38:52.290 回答