Facebook:使用“共享”对话框共享Play商店链接

时间:2014-06-17 11:05:40

标签: android facebook facebook-android-sdk

我使用Facebook Android SDK中的共享对话框共享链接。我的代码如下所示:

FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this)
          .setName("My app name")
          .setCaption("A caption")
          .setDescription("My description...")
          .setLink("https://play.google.com/store/apps/details?id=com.company.myapp")
          .setPicture("http://link_to_picture")
          .build();

由于我希望将用户重定向到我应用的Play商店页面,因此我将此网址放在链接中。但在这种情况下,帖子不会显示我指定的信息(名称,标题,说明)。相反,它会显示在Play商店中指定的应用名称,并使用"下载它"标题(图片还可以)。

当我设置另一个链接时,此问题不会发生:帖子会按预期显示名称,标题和说明。为什么我不能将自己的文字与Play商店链接放在一起?

修改

我尝试使用App Links。所以我创建了一个App Link对象:

curl https://graph.facebook.com/app/app_link_hosts \
-F access_token="APP_ACCESS_TOKEN" \
-F name="My app link" \
-F android=' [
    {
      "url" : "myapp://share/1234",
      "package" : "com.company.myapp",
      "app_name" : "My app",
    },
 ]' \
-F web=' {
    "should_fallback" : false,
  }'

我得到了这个网址:https://fb.me/494085890722766

现在,帖子看起来很不错,但是当我的应用程序没有安装时,从Facebook应用程序点击它会弹出一个选择器,建议在浏览器中打开链接或安装应用程序,这不是一个好的用户体验。 / p>

3 个答案:

答案 0 :(得分:0)

替换您的链接
 .setLink("market://details?id=com.company.myapp")

See this link

答案 1 :(得分:0)

最后,我找到了使用App Links的解决方法,详细信息请参见:https://developers.facebook.com/docs/applinks/hosting-api

我创建了我的App Link对象没有任何“-F web”参数,如下所示:

curl https://graph.facebook.com/app/app_link_hosts \
-F access_token="APP_ACCESS_TOKEN" \
-F name="My app link" \
-F android=' [
    {
      "url" : "myapp://share/1234",
      "package" : "com.company.myapp",
      "app_name" : "My app",
    },
 ]'

但是,我不明白为什么Facebook API以如此奇怪的方式运作。对于一个简单的问题,这是一个复杂的解决方案。

答案 2 :(得分:0)

在我的情况下,我在Facebook Developer Console中禁用了DeepLink,它运行良好。