Facebook FBSDKAppInviteContent - 缺少应用程序 Link URL

Facebook FBSDKAppInviteContent - Missing App Link URL

您的应用是否需要拥有带有 meta 标签的自己的网站 link url 才能使用 FBSDKAppInviteContentFBSDKAppInviteDialog 邀请好友?。如果我只将应用 link url 放在那里,

它显示了一个错误,类似于

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.

我正在使用 facebook-sdk iOS 和 fbsdksharekit。有谁知道如何解决这个错误或警告?

是的,您必须在您的网站中添加应用的元标记 link url。


iOS

例如,假设您有一个页面位于:

http://example.com/applinks

在该页面中,您需要添加一些元数据来描述应用程序将处理它:

<html>
<head>
    <meta property="al:ios:url" content="example://applinks" />
    <meta property="al:ios:app_store_id" content="12345" />
    <meta property="al:ios:app_name" content="Example App" />
    <meta property="og:title" content="example page title" />
    <meta property="og:type" content="website" />
    <!-- Other headers -->
</head>
<!-- Other HTML content -->
</html>
</head>

对于那些想知道并询问其工作原理的人,appLinkUrl 不是市场上您的应用程序url。这是我这样做的方式。

  • 您需要制作自己的 appLinkUrl 并将其放入您的 info.plist(参见:http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html) 您将用于深度链接。
  • 然后在您的 info.plist 上声明之后,您必须至少拥有 一个 html 网页,您可以在其中放置 appLinks 的元标记 ios 或 android(https://applinks.org)。请注意,您放在 info.plist 上的 appLinkUrl 应该与您的 meta 属性="al:ios:url
  • 上的相同
  • 调试您的网站 url 并使用 facebook url 调试器检查您的元标记。按 "Fetch new scrape information" 更新元标记以获取任何更改。
  • 使用具有元标记的网页的 link,并像在示例中一样使用它 在 Facebook 文档上

    FBSDKAppInviteContent *content =[[FBSDKAppInviteContent alloc] init]; content.appLinkURL = [NSURL URLWithString:@"your_website_link_with_metatags"];

  • 只需确保您的元标记包含正确的信息即可 它!

添加元标记可以解决此问题,这是通过 FB 创建的应用 link 中 html 的片段。 Facebook 正在其应用程序 link url 页面上添加一些额外的元标记,如果在浏览器中打开它也会直接重定向到 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>

除了其他答案之外,很高兴知道您可以使用 https://developers.facebook.com/tools/debug/ 来刷新您的应用 link url 的抓取信息。如果您最初在元标记中放置了不正确的值,除非您转到 link 并明确刷新它,否则它不会立即刷新。

也许 Facebook 应用程序链接托管 API 会有所帮助

“如果您的应用程序没有包含您要分享到 Facebook 的内容的网站,则您没有 public 可以注释以支持应用程序链接的网址。

对于这些类型的应用程序,Facebook 提供了一个应用程序链接托管服务 API,它将为您托管应用程序链接。通过托管 API,您可以为您支持的所有移动环境创建和管理您的应用程序链接。"

来源: https://developers.facebook.com/docs/applinks/hosting-api