后台服务限制和Firebase云消息传递

时间:2019-06-18 08:55:12

标签: android firebase firebase-cloud-messaging appsflyer appsflyer-android-sdk

我正在尝试实现此Appsflyer卸载跟踪功能:https://support.appsflyer.com/hc/en-us/articles/210289286?input_string=android+uninstall+tracking#Android-Uninstall

,它需要设置FCM服务以明显地处理静默推送。问题是API级别26之后限制了后台服务:https://developer.android.com/guide/components/services

那么这将如何工作?我在这里想念什么吗?尝试搜索FCM和服务背景限制,但未找到相关讨论。

2 个答案:

答案 0 :(得分:1)

我假设您是在询问com.appsflyer.FirebaseMessagingServiceListener服务? 如果是这样-该服务仅用于从Firebase获取Firebase令牌-这是在您首次运行应用程序时以及每当Firebase决定续订其令牌时发生的情况(也仅​​在应用程序运行时发生,永远不会出现在bg中)。

对于AppsFlyer Uninstall Measurement,接收此令牌并在将来能够使用它就足够了。在初始令牌注册后,无需将应用程序置于前台甚至“处于活动状态”,因为为此原因AppsFlyer SDK不会处理任何数据。

答案 1 :(得分:0)

通常,FCM文档指出,只要足够快(20秒),就可以在服务内完成消息(和令牌)的处理,请参见:https://firebase.google.com/docs/cloud-messaging/android/receive

我想,如果您使用的是Appsflyer FirebaseMessagingServiceListener,则它们将(至少在提供此类服务时应在必要时)处理所有后台处理。 否则,如果您打算自己实现FirebaseMessagingService,只需按照FCM令牌中的说明进行交接即可。同样适用于此处:AppsFlyer应当在必要时进行后台处理。

对于您自己的后台处理(超过20秒),请考虑使用JobScheduler。