【问题标题】:How can implement deep linking in new facebook sdk in ios?如何在 ios 的新 facebook sdk 中实现深度链接?
【发布时间】:2015-08-18 10:16:45
【问题描述】:

如何在 iOS 的新 Facebook SDK 中实现深度链接?

【问题讨论】:

    标签: ios xcode facebook deep-linking


    【解决方案1】:

    要在 Facebook 上进行深度链接,您需要在您的网站上使用他们的 App Links 元标记。 Facebook 的 App Links 最令人困惑的是,它们实际上并不是链接,它们是您网站上的元标记。例如,IMDB 如何将应用链接添加到他们的 The Rock 电影网站:

    <html prefix="og: http://ogp.me/ns#">
    <head>
    <title>The Rock (1996)</title>
    ...
    <meta property="al:ios:app_store_id" content="342792525" />
    <meta property="al:ios:url" content="imdb://title/tt0117500" />
    <meta property="al:ios:app_name" content="IMDb Movies & TV" />
    
    <meta property="al:android:package" content="com.imdb.mobile" />
    <meta property="al:android:url" content="imdb://title/tt0117500" />
    <meta property="al:android:app_name" content="IMDb Movies & TV" />
    ...
    </head>
    ...
    </html>
    

    您可以看到他们的深层链接 URI 和路径是 imdb://title/tt0117500,他们必须在他们的网站上指定它,以便 Facebook 机器人可以抓取它。

    一旦元标签出现在网站上,当链接发布到 Facebook 的提要时,如果应用程序已通过调用元标签中指定的 URI 进行安装,他们将直接打开该应用程序。然后,在您应用的 App Delegate 中,您可以接收在 openUrl 方法中指定的 URI,如下所示:

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
        NSLog(@"opened app from URL %@", [url description]);
        return YES;
    }
    

    您可以在该方法中解析 URL 并打开将显示与该 URL 关联的适当数据的视图控制器。

    【讨论】:

    • 除了这个很棒的答案;你可以在这里阅读更多内容:developers.facebook.com/products/app-links
    • 我已经做了这个功能并且我的应用链接可以正常工作。但我无法在 facebook 上获取数据发布。我想要以下功能------- 任何用户点击 facebook 上的任何帖子然后获取此帖子数据并打开 ios app.if 应用程序已安装。
    • Alpesh - Facebook 似乎不承认 iOS 上的应用链接。我在 Branch (branch.io) 工作以帮助开发人员做到这一点,我们仍然必须依靠 Javascript 技巧在 iOS 上打开应用程序。 Android 运行良好。
    猜你喜欢
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多