我遇到过一些声音,指出与通知消息相比,FCM 数据消息传递的一致性较差。有谁有直接经验或可以向我指出探索该问题的资源吗?或者通知消息只是 Firebase SDK 自动处理的可折叠的高优先级数据消息?
该问题不考虑强制退出应用程序的情况。在这种情况下,两种类型的消息都不会被传递(据我所知)。
我正在为推送服务提供商编写一个新的 Android SDK(类似于 OneSignal)。默认情况下,SDK 应处理推送通知的显示,客户端应用程序也可以选择自行处理传入的推送。
实际的交付当然是由 Firebase 云消息传递(在运行 Play 服务的设备上)完成的。因此,FCM 上有两种类型的消息可供选择:数据消息与通知消息。
由于数据消息始终由注册者处理FirebaseMessagingService(假设有效负载中没有notification密钥),因此这应该是 SDK 的发展方向。[参见文档] 到目前为止,我还没有能够产生数据消息未传递的情况(前台或后台)。
Fused Location Provider API 似乎在 Android Automotive Emulator 映像 Sv2(API 32、arm64-v8a、带有 Play Store)上被破坏。有谁知道解决方法?它是 Android Studio 中目前唯一可用于基于 ARM 架构的汽车操作系统映像。
在模拟器的第一次运行期间,它工作得很好。但是,一旦模拟器停止并再次启动(无论是否冷启动),每个位置请求都会引发以下异常:
2023-01-02 15:17:59.431 1827-2496 FusedLocation com.google.android.gms.persistent E
dropping invalid locations [CONTEXT service_id=6 ]
vqy: location must not have realtime in the future
at vts.i(:com.google.android.gms@220221082@22.02.21 (060408-428111784):34)
at vrd.j(:com.google.android.gms@220221082@22.02.21 (060408-428111784):0)
at vrr.i(:com.google.android.gms@220221082@22.02.21 (060408-428111784):1)
at vrd.j(:com.google.android.gms@220221082@22.02.21 (060408-428111784):0)
at vrl.a(:com.google.android.gms@220221082@22.02.21 (060408-428111784):3)
at arsp.d(:com.google.android.gms@220221082@22.02.21 (060408-428111784):10)
at arvk.i(:com.google.android.gms@220221082@22.02.21 (060408-428111784):18)
at arve.a(:com.google.android.gms@220221082@22.02.21 (060408-428111784):0)
at vhn.onLocationChanged(:com.google.android.gms@220221082@22.02.21 (060408-428111784):0)
at android.location.LocationListener.onLocationChanged(LocationListener.java:63)
at android.location.LocationManager$LocationListenerTransport$1.operate(LocationManager.java:3180)
at android.location.LocationManager$LocationListenerTransport$1.operate(LocationManager.java:3177)
at com.android.internal.listeners.ListenerExecutor.lambda$executeSafely$0(ListenerExecutor.java:127)
at com.android.internal.listeners.ListenerExecutor$$ExternalSyntheticLambda0.run(Unknown Source:8)
at android.os.Handler.handleCallback(Handler.java:938) …Run Code Online (Sandbox Code Playgroud) android android-emulator fusedlocationproviderapi android-automotive