使用 AppInviteDialog 邀请用户

Invite users with AppInviteDialog

我很高兴 Facebook 终于允许用户使用 SDK 版本 4 邀请他们的朋友,但我不知道该怎么做。 documentation至少暂时清楚了:

if (appInviteDialog.canShow()) {
      AppInviteContent content = new AppInviteContent.Builder()
          .setApplinkUrl("https://play.google.com/store/apps/details?id=com.myapp.android")
          .setPreviewImageUrl("http://www.myapp.com/Images/stub.jpg")
          .build();
      appInviteDialog.show(MainActivity.this, content);
}

到目前为止,这再简单不过了。但是一旦我 select 一个用户邀请我得到 Missing App Link URL 错误:

我知道我需要创建一个应用程序 Link URL,但我真的不知道怎么做。根据 documentation,我应该在开发者控制台的 Settings/Site URL 部分中将元标记放在与我的 Facebook 应用关联的网站的 <head></head> 部分之间。

所以我把这些放在我的网站上:

<meta property="al:android:url" content="https://fb.me/1047359658624810" />
<meta property="al:android:app_name" content="MyApp" />
<meta property="al:android:package" content="com.myapp.android" />
<meta property="al:web:url" content="http://myapp.com" />

https://fb.me/1047359658624810 是用 App link generator 创建的。

This part 完全晦涩难懂。在示例中 url 是 sharesample://story/1234 并且 sharesample 被定义为意图过滤器中的方案,但是 story/1234 是什么?

在应用程序中 Link 生成器

  1. 我使用 <data android:scheme="com.myapp.android" />

  2. 方案将意图过滤器添加到 AndroidManifest
  3. 我在启动器 class 中将深层链接设置为

    Uri targetUrl = AppLinks.getTargetUrlFromInboundIntent(this, getIntent()); if (targetUrl != null) { Log.i("ACTIVITY", "App Link Target URL: " + targetUrl.toString()); }

  4. 我将 App Link Name 设置为 App Link URL for MyApp

  5. 我把URL设为Google播放URL
  6. 我将 App Name 设置为 MyApp
  7. 我把包名设置为com.myapp.android
  8. 然后我在网站上设置生成的AppLinkURL为

<meta property="al:android:url" content="https://fb.me/1047359658624810" />

现在我所需要的只是能够发送应用程序邀请,当用户点击它们时,他们应该被带到应用程序的 Google 播放 URL。就好像我离完成这件事只差一步,但我不知道我错过了什么。

你必须创建你的应用程序 url 彻底的 facebook 看看波纹管 url

如何创建App Link URL

它将显示页面喜欢。如果您的应用仅适用于 android

,则无需填写 iOS 信息

填写完必填信息后点击下一步,会生成App Link Url.

使用生成的url和干杯