【问题标题】:Facebook: sharing a Play Store link using the Share DialogFacebook:使用共享对话框共享 Play 商店链接
【发布时间】:2014-08-07 08:51:10
【问题描述】:

我使用 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 商店页面,所以我将此 url 放在链接中。但在这种情况下,帖子不会显示我指定的信息(名称、标题、描述)。相反,它会显示在 Play 商店中指定的应用名称,并带有“下载它”的标题(图片没问题)。

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

编辑

我尝试使用应用链接。所以我用这个创建了一个 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 应用中单击它会弹出一个选择器,建议在浏览器中打开链接或安装应用程序,这不是一个好的用户体验。

【问题讨论】:

  • 嗨,你能告诉我你是怎么得到这个“fb.me/494085890722766”网址的吗?我们需要做什么才能获得 App Link?它的步骤或程序?我是否需要在我的网站上创建一个新的 html 页面?
  • 我们如何运行 curl 代码?什么是 APP_ACCESS_TOKEN 以及用什么代替“myapp://share/1234”
  • 要创建您的 App Link 对象,请按照此处描述的说明进行操作:developers.facebook.com/docs/applinks/hosting-api 您获得了您的应用令牌,请阅读:developers.facebook.com/docs/facebook-login/… Curl 是一个命令行工具,您可以使用它来发出 HTTP POST 请求.
  • @Superthib,一个简单的问题,你对生成的网址“fb.me/494085890722766”做了什么?文档似乎对此没有任何建议。

标签: android facebook facebook-android-sdk


【解决方案1】:

将您的链接替换为

 .setLink("market://details?id=com.company.myapp")

See this link

【讨论】:

  • 这只能在 Android 应用程序中使用,并且我的链接旨在显示在 Facebook 中。但是,我尝试了这个,我从 Facebook SDK 收到以下错误:“链接 URL 格式不正确”。
  • 我明白了。那这个怎么样? developers.facebook.com/docs/applinks/android
  • 我试过这个,效果好一点:帖子看起来不错,但是从 Facebook 应用程序中单击它会显示一个对话框,建议在浏览器中打开链接或安装应用程序。第一个选择从网络重定向到 facebook 登录,然后重定向到 Play 商店,第二个选择直接重定向到 Play 商店......不是很好的用户体验,但它可能是可以接受的。
  • 您能告诉我您在应用链接中使用的标签以及示例网址吗?它不应该弹出选择器。另外,你有什么版本的 FB 应用程序?
  • 我用应用链接详细信息更新了我的问题。我的 Facebook 版本是 10.0.0.28.27
【解决方案2】:

最后,我找到了一个使用 App Links 的解决方法,这里有详细说明:https://developers.facebook.com/docs/applinks/hosting-api

我创建了我的应用链接对象没有任何“-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 会以如此奇怪的方式工作。这是一个简单问题的复杂解决方案。

【讨论】:

  • 我已使用此方法在 fb 上发布我的应用程序及其工作(谢谢)。但是,如果安装了该应用程序并且我点击了 Facebook 应用程序中的共享帖子,我会收到错误消息“打开此应用程序时出现问题”。如果分享的帖子被点击,我希望我的应用程序打开,有什么建议吗?
  • 别担心,我搞定了。为了将来参考,这是我所做的:我将此代码添加到 Android Manifest ''
  • @superthib 这里的 APP_ACCESS_TOKEN 是什么以及我们如何在 android 中获取它。请指导我。即使我有同样的问题。
  • 在此处了解更多关于 APP_ACCESS_TOKEN 的信息:developers.facebook.com/docs/facebook-login/…
【解决方案3】:

就我而言,我在 Facebook 开发者控制台中禁用了 DeepLink,它运行良好。

【讨论】:

  • 这个选项在哪里?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-02
  • 1970-01-01
  • 1970-01-01
  • 2017-06-03
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
相关资源
最近更新 更多