【问题标题】:Open native iOS app from Facebook feed从 Facebook 提要打开原生 iOS 应用
【发布时间】:2016-11-14 21:22:47
【问题描述】:

我正在使用 Facebook 的 SDK 与类型为“video.watches”的FBSDKShareOpenGraphAction 共享FBSDKShareOpenGraphObject。一切正常,帖子出现在 Facebook 提要上,但如果我点击应用程序的名称,我会收到错误消息。这是我用来分享的代码:

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];

结果:

但是当我点击电视频道(盒装的)时,我收到了这个错误:

我想在点击该文本时打开本机应用程序,就像在照片上的“X 在 Instagram 上发布照片”中点击它的名称时打开 Instagram 一样。我在 developer.facebook.com 上的应用程序设置中配置了 Bundle ID 和 iPhone Store ID,但没有成功。我错过了什么?

【问题讨论】:

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

标签: ios facebook facebook-graph-api fbsdk fbsdksharekit


【解决方案1】:

访问 developers.facebook.com 并确保您的应用未处于测试模式。 转到“应用审核”-> 公开? 并将其标记为是。

如果您尚未准备好将其公开,请将您正在使用的 facebook 用户添加到“角色”下的应用测试人员中。

【讨论】:

    猜你喜欢
    • 2016-12-02
    • 1970-01-01
    • 2021-06-05
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 2012-05-01
    • 1970-01-01
    相关资源
    最近更新 更多