Facebook ios应用程序在点击共享帖子时没有启动我的应用程序

时间:2016-02-19 13:59:33

标签: ios facebook facebook-graph-api ios9 applinks

更新 我正在使用Facebook版本48.0和iOS 9.2.1

我一直在努力与Facebook分享并在iOS9上深入链接到我的应用程序几天,而且我无法让我的应用程序在点击共享内容时自动启动。

在iOS8上,一切似乎都按预期工作。

当我点击共享内容时,我看到的只是Facebook自己的网页浏览中的空白页面。 在右上角的“分享”按钮下,我可以选择在safari中打开链接,以及打开我的应用程序。这两个选项实际上都会打开应用程序。但我想要的是提示直接打开我的应用程序。

事实是,当我从浏览器分享我的网址时,这实际上是有效的。 不同之处在于,一个是链接共享,而我尝试从我的应用程序共享的是一个开放图表共享。

我知道类似的问题(like this one),但没有一个答案对我有用。可能是因为我的设置有点不同。

我的设置:

分享到Facebook有效,但为了完成,我已经包含了我的共享代码。 我正在使用FBSDKShareDialog分享FBSDKShareOpenGraphContent:

FBSDKShareDialog *shareDialog = [[FBSDKShareDialog alloc] init];
shareDialog.fromViewController = self.parentViewController;

NSDictionary *properties =  @{@"fb:app_id": <fb_app_id>, @"og:type": @"video.other", @"og:locale": @"sv_SE", @"og:url": <url_to_applink_host>, @"og:title": @"Title", @"og:description": @"my description", @"og:image": <image_url>};

FBSDKShareOpenGraphObject *object = [FBSDKShareOpenGraphObject objectWithProperties:properties];

// Create an action
FBSDKShareOpenGraphAction *action = [[FBSDKShareOpenGraphAction alloc] init];
action.actionType = @"video.watches";
[action setObject:object forKey:@"video"];

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



shareDialog.shareContent = [self getFBContentWithProperties:mutableProperties];
shareDialog.delegate = self;
shareDialog.mode = FBSDKShareDialogModeNative;

if (![shareDialog canShow]) {
    shareDialog.mode = FBSDKShareDialogModeFeedBrowser;
}

[shareDialog show];

用于内容的网址指向生成的网站,如下所示:

<html>
    <head>
        <meta property="al:ios:url" content="myappscheme://?type=series&contentId=61b768777300eb6e&providerId=3" />
        <meta property="al:ios:app_store_id" content="<app_store_id>" />
        <meta property="al:ios:app_name" content="MyApp" />
        <meta property="al:web:should_fallback" content="false" />
    </head>
</html>

最后这是我的plist文件的样子:

...

<key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>myappscheme</string>
                <string>fbAppIdScheme</string>
            </array>
        </dict>
    </array>

...

<key>FacebookAppID</key>
    <string>12345</string>
    <key>FacebookDisplayName</key>
    <string>MyAppName</string>
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>fbapi</string>
        <string>fb-messenger-api</string>
        <string>fbauth2</string>
        <string>fbshareextension</string>
    </array>

...

我觉得必须有一些明显我不知道的东西,或者是facebook的网页视图被打破了?

欢迎任何提示或指导!

更新

以下是一个示例链接: http://shared.streamler.tv/f883439972d67d733e2c855b1ce224c6d4b1c727

0 个答案:

没有答案