我已经仔细检查了一切,根据我的理解,这就是我需要做的全部:
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应用程序。我写了一条消息,然后选择我要发送邀请的人,点击发送,我收到此错误:
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.
我做错了什么?
我的应用处理自定义网址很好,因为如果我在Mobile Safari中输入appurl://action
,它会打开我的应用。
答案 0 :(得分:10)
您需要从此处创建一个AppLink网址https://developers.facebook.com/quickstarts/?platform=app-links-host
现在,您可以将该链接与您的代码一起用于邀请。
self.inviteContent = [[FBSDKAppInviteContent alloc] initWithAppLinkURL:[NSURL URLWithString:APP_LINK_HERE]];
[FBSDKAppInviteDialog showWithContent:self.inviteContent delegate:self];
该链接的格式将是这样的,
https://fb.me/xxxxxxxxxxxxxxxx
P.S。所有x将被数字替换。
答案 1 :(得分:0)
尝试添加og:title和og:type properties,它适用于我
<meta property="og:title" content="My App" />
<meta property="og:type" content="website" />
答案 2 :(得分:0)
添加元标记可以解决这个问题,这是通过FB创建的应用程序链接的html片段。 Fb在其应用链接网址页面上添加了一些额外的元标记,如果在浏览器上打开,它还会直接重定向到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>
&#13;