OGeek|极客世界-中国程序员成长平台

标题: ios - 如何使用 facebook applink 托管动态内容 - IOS [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 18:22
标题: ios - 如何使用 facebook applink 托管动态内容 - IOS

随着 facebook 的新变化,应用程序的深层链接(通过基本共享共享)不再起作用。

所以,我决定实现应用链接。但是我的移动应用程序没有我想要分享到 Facebook 的内容的相应网站。所以我为应用链接选择了 facebook 的移动托管 API

https://developers.facebook.com/docs/applinks/hosting-api

我生成了一个应用链接并在我的 ios 应用中与其他内容一起分享,如下所示。

// Create an object
    NSDictionary *properties = @{
                                 @"og:type": @"article",
                                 @"og:url": @"https://fb.me/[some id]",
                                 @"og:title": name,
                                 @"og:description": desc,
                                 @"og:image":imageurl
                                 };

    FBSDKShareOpenGraphObject *object = [FBSDKShareOpenGraphObject  objectWithProperties:properties];

    // Create an action
    FBSDKShareOpenGraphAction *action = [[FBSDKShareOpenGraphAction alloc] init];
    action.actionType = @"news.publishes";

    [action setObjectbject forKey"article"];

    // Create the content
    FBSDKShareOpenGraphContent *content = [[FBSDKShareOpenGraphContent alloc] init];
    content.action = action;
    content.previewPropertyName = @"article";


    FBSDKShareDialog *shareDialog = [[FBSDKShareDialog alloc] init];
    shareDialog.fromViewController = self;
    shareDialog.shareContent = content;
    [shareDialog show]; 

通过这样做,我可以在 facebook 中分享内容。点击内容后,我的 iOS 应用程序可以启动。所以没关系。

但我的问题是,我要分享的内容是动态的。我有两个问题。

  1. 我可以为动态内容创建 Facebook 应用链接吗?
  2. 从深层链接打开应用后,我想将用户导航到应用内的内容屏幕。但我不能这样做,因为我看不到与在 - (BOOL)applicationUIApplication *)app 中收到的 url 中共享内容相关的任何内容 openURLNSURL *)url optionsNSDictionary *)options 方法

我想知道这个要求是否可以通过 facebook 的应用链接移动托管 API 来实现。



Best Answer-推荐答案


来自Branch 的粘土在这里。

这两个问题的答案都是肯定的。问题是 Facebook 很难处理,而且他们的链接在很多情况下都会中断。你可以在这里说服自己。 Deep Linking from Facebook in 2017

在充分披露后,我为 Branch 工作,所以请随心所欲。我们实际上支持链接托管,因此您应该能够在不托管您自己的网络域的情况下使用我们。我们还支持我们自己的链接中的所有 Facebook 链接,只需在链接中使用 OpenGraph 参数即可。

OpenGraph Parameters in Branch Links

从概念上讲,Branch 链接内部看起来像这样:

{
    tags: [ 'tag1', 'tag2' ],
    channel: 'facebook',
    feature: 'dashboard',
    stage: 'new user',
    alias: 'myalias',
    data: {
        mydata: 'something',
        foo: 'bar',
        '$desktop_url': 'http://myappwebsite.com',
        '$ios_url': 'http://myappwebsite.com/ios',
        '$android_url': 'http://myappwebsite.com/android',
        '$og_app_id': '12345',
        '$og_title': 'My App',
        '$og_description': 'My app\'s description.',
        '$og_image_url': 'http://myappwebsite.com/image.png'
    }
}

有了它,您可以附加您想要的任何元数据,因此可以通过深度链接支持您的动态内容,同时涵盖 Facebook 链接,以及几乎所有其他平台和设备。我们还报道了deferred deep linking Facebook 应用链接不支持。

对于您正在寻找的基本深层链接,该服务是免费的。

关于ios - 如何使用 facebook applink 托管动态内容 - IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45340227/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4