Facebook 应用请求打开 Google Play 而不是已安装的应用

Posted

技术标签:

【中文标题】Facebook 应用请求打开 Google Play 而不是已安装的应用【英文标题】:Facebook app request opens Google Play instead of the installed app 【发布时间】:2016-02-19 09:32:13 【问题描述】:

不久前(可能是一年前),我们在 iosandroid 上使用 Facebook sdk 实现了“发送礼物”应用请求功能。我们在 Android 上使用 v3.19 fb sdk,在 iOS 上使用 v3.24。应用请求具有 action_type 和 object_id。那时一切都很好。

最近我们注意到 Android 深层链接不再有效。当玩家在 Facebook 应用程序上收到礼物应用程序请求并单击该通知时,它会重定向到 Google Play 商店,而不是启动我们的应用程序。

看 logcat,好像 Facebook 只是尝试打开 Google Play 商店

02-18 20:11:15.624: I/ActivityManager(587): START u0 act=android.intent.action.VIEW dat=market://details?id=myapp_id&referrer=utm_source=apps.facebook.com&utm_campaign=fb4a&utm_content=%7B%22app%22%3A469616456758238%2C%22t%22%3A1455123006%7D&fb_source=notification flg=0x10000000 cmp=com.android.vending/com.google.android.finsky.activities.LaunchUrlHandlerActivity (has extras) from pid 5289

我们在 Facebook 开发者设置中启用了深度链接并添加了 Key Hash。这个问题在 iOS 上不会出现,在 iOS 上点击 Fb 应用中的通知会启动我们的 iOS 应用。

有一篇与Facebook deep link opens Google Play instead of app (even when installed) 非常相似的帖子。帖子提到我们需要将以下内容添加到清单中,这是否意味着我们的旧版本应用程序在没有代码块的情况下不再工作?此外,我们的应用程序没有方案,我们在哪里可以定义它?是不是说我们送礼物的时候需要使用那个方案?

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="myapp"/>
</intent-filter>

【问题讨论】:

此外,类似的帖子实际上存在广告深度链接问题。在我的情况下,它的应用请求深层链接不起作用。 你检查过这个developers.facebook.com/docs/applinks/android 吗? 是的。基本上它告诉我们在清单中添加意图和意图过滤器。在示例中,它使用对应于 sharesample://xxxx 的 。但是,我们甚至不知道在哪里定义这样的方案 它看起来像: 那部分我理解,但在我的情况下什么是“sharesample”。那是我的问题。我们在发送 fb 应用请求时没有指定任何 sharesample 【参考方案1】:

在 facebook 文档中有一个 old page 说

类名:这是您希望 Facebook 启动的主要活动的类名。包括应用程序的命名空间(例如:com.domain.appname.MainActivity)。此字段还用于生成 Google Play 商店 URL。

我花了一段时间才弄清楚这一点,但显然Class Name 字段应该包含完整的类名。 (com.domain.appname.MainActivity)

【讨论】:

以上是关于Facebook 应用请求打开 Google Play 而不是已安装的应用的主要内容,如果未能解决你的问题,请参考以下文章

iOS 上的 Facebook apprequest 实施 - 接受的请求正在打开应用商店,而不是我的应用

在 android 应用程序中从 google 和 facebook 注销

未收到 Facebook 请求

使用 Google Apps 脚本的 Facebook API 批处理请求

如何使用颤振在 django 中进行 google、facebook 身份验证

代号一。使用 Webview 组件登录 Facebook