从Facebook动态打开原生iOS应用

8

使用Facebook的SDK,我正在分享一个类型为“video.watches”的FBSDKShareOpenGraphObjectFBSDKShareOpenGraphAction。一切顺利,帖子出现在Facebook的Feed上,但如果我点击应用程序名称,会出现错误。这是我用来分享的代码:

FBSDKShareOpenGraphObject *object = [FBSDKShareOpenGraphObject objectWithProperties:@{@"og:type": @"video.other",
                                                                                              @"og:title": @"TV Show",
                                                                                              @"og:image": @"http://cdn1.tnwcdn.com/wp-content/blogs.dir/1/files/2013/02/tv-set.jpg",
                                                                                              @"og:url": show_url}];

FBSDKShareOpenGraphAction *action = [[FBSDKShareOpenGraphAction alloc] init];
[action setActionType:@"video.watches"];
[action setObject:object forKey:@"video"];
[action setNumber:@(7200000) forKey:@"expires_in"];

FBSDKShareOpenGraphContent *content = [[FBSDKShareOpenGraphContent alloc] init];
[content setPreviewPropertyName:@"video"];
[content setAction:action];

_shareDialog = [[FBSDKShareDialog alloc] init];
_shareDialog.fromViewController = [self.delegate collectionViewControllerForCell:self];
_shareDialog.shareContent = content;
_shareDialog.delegate = self;
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fbauth2://"]]){
    _shareDialog.mode = FBSDKShareDialogModeNative;
} else {
    _shareDialog.mode = FBSDKShareDialogModeAutomatic;
}
[_shareDialog show];

结果如下:

结果:

分享结果

但是当我点击 TV Channel(框起来的那个)时,出现了这个错误:

在此输入图片描述

我希望在点击该文本时能够打开原生应用程序,就像在照片上 "X 在 Instagram 上发布了一张照片" 中点击其名称时会打开 Instagram 一样。我已经在 developer.facebook.com 的应用设置中配置了 Bundle ID 和 iPhone Store ID,但没有成功。我错过了什么吗?


当您点击“电视频道”时,您能显示它尝试打开的URL值吗? - Eric Murphey
当我在桌面浏览器中点击它时,它会跳转到应用设置中配置的“网站URL”。当我在移动浏览器(iOS上的Safari)中点击它时,它会跳转到http://m.facebook.com/appcenter/fb_id_of_the_app。不幸的是,当在Facebook应用程序中打开链接时(因为它在应用内部打开),我看不到任何获取URL的方法。 - ov1d1u
1个回答

0

前往developers.facebook.com,确保您的应用程序不处于测试模式。

进入“应用审核”->“公开发布?”

将其标记为是。

如果您还没有准备好将其公开发布,请在“角色”下将您正在使用的Facebook用户添加到应用程序的测试人员中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接