Facebook应用程序邀请iOS v4 SDK错误

我已经加倍检查了一切,从我的理解这是我所需要做的:

self.inviteContent = [[FBSDKAppInviteContent alloc] initWithAppLinkURL:[NSURL URLWithString:@"http://mywebsite.com"]]; [FBSDKAppInviteDialog showWithContent:self.inviteContent delegate:self]; 

在mywebsite.com我有这个在标题(示例值显示在这里):

 <html> <head> <title>My Website</title> <meta property="al:ios:url" content="appurl://action"> <meta property="al:ios:app_store_id" content="1234567"> <meta property="al:ios:app_name" content="My App"> </head> <body> ... </body> </html> 

所以对话框切换到最新的Facebook iOS应用程序。 我写了一条消息,select我想发送邀请的人,点击发送,我得到这个错误:

 Missing App Link URL The app link used with this invite does not contain an Android or iOS URL. Developers are required to enter a URL for at least one platform. 

我究竟做错了什么?

我的应用程序处理自定义url,因为如果我在Mobile Safari中inputappurl://action ,它会打开我的应用程序。

您需要从这里创build一个AppLink URL, https://developers.facebook.com/quickstarts/? platform = app-links-host

  1. 从列表中select您的应用程序
  2. 用相同的信息填写表格
  3. 点击下一步!
  4. 你完成了。

现在,您可以使用该链接与您的代码进行邀请。

 self.inviteContent = [[FBSDKAppInviteContent alloc] initWithAppLinkURL:[NSURL URLWithString:APP_LINK_HERE]]; [FBSDKAppInviteDialog showWithContent:self.inviteContent delegate:self]; 

该链接的格式将是这样的,

https://fb.me/xxxxxxxxxxxxxxxx

PS所有的x将被一个数字取代。

尝试添加og:title和og:type属性,它适用于我

 <meta property="og:title" content="My App" /> <meta property="og:type" content="website" /> 

添加元标记可以解决这个问题,这是通过FB创build的应用程序链接的HTML代码片段。 Fb在它的应用链接url页面上添加了一些额外的元标记,并且如果在浏览器上打开,它也直接redirect到iTunes。

 <html> <head> <title>app name</title> <meta property="fb:app_id" content="your fb app id" /> <meta property="al:ios:url" content="Your app link url" /> <meta property="al:ios:app_name" content="your app name" /> <meta property="al:ios:app_store_id" content="your app id" /> <meta property="al:web:should_fallback" content="false" /> <meta http-equiv="refresh" content="0;url=https://itunes.apple.com/WebObjects/MZStore.woa/wa/redirectToContent?id=your app store id" /> </head> <body> Redirecting... </body> </html>