不久前(可能是一年前),我们在 iOS 和 Android 上使用 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 深层链接打开 Google Play 而不是应用程序(即使已安装)非常相似的帖子。帖子提到我们需要将以下内容添加到清单中,这是否意味着我们的旧版本应用程序在没有代码块的情况下不再工作?此外,我们的应用程序没有方案,我们在哪里可以定义它?这是否意味着当我们发送礼物时,我们需要使用该方案?
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="myapp"/>
</intent-filter>