我使用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>
答案 0 :(得分:0)
答案 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,它运行良好。