【问题标题】:iOS 9 Universal Links - no parameters recievediOS 9 通用链接 - 未收到任何参数
【发布时间】:2016-03-22 14:00:27
【问题描述】:

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

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

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

有人遇到过,可以帮帮我吗?

【问题讨论】:

    标签: objective-c ios9 ios-universal-links


    【解决方案1】:

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

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

    - (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;
    }
    

    此外,在测试时请记住,不幸的是,通用链接在任何地方都可以使用:

    P.S.,想问一下...既然您已经找到了 Branch 博客,您是否考虑过使用该服务为您处理链接路由?它绝对可以帮助简化事情!

    【讨论】:

    • 这个答案很中肯,谢谢。是的,我们已经考虑过了,但我们更愿意将控制权留在我们手中。
    • @user3778974 绝对明白。如果您遇到任何重定向问题,请随时删除 our support 注释。我们已经处理了数百个边缘案例,即使您没有使用 Branch SDK,我们也很乐意提供建议!
    猜你喜欢
    • 1970-01-01
    • 2016-01-17
    • 2016-01-28
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-06
    • 2016-04-08
    相关资源
    最近更新 更多