Firebase Cloud Messaging 关于重写 onNewToken 函数的问题
Firebase Cloud Messaging Questions About Overrided onNewToken Function
我开发了一个 Android 应用程序,当用户 运行 应用程序执行初始化过程时,用户会看到启动画面。这个初始化过程包括数据库解密等。我在数据库中保存FCM令牌和其他信息。
我写了 "MyFirebaseMessagingService",它扩展了 FirebaseMessagingService 并覆盖了 "onMessageReceived" 和 "onNewToken" 函数。我可以毫无问题地从 FCM 获得通知。我可以在应用程序 运行ning 期间获得新令牌,没有任何问题。
我的问题是:当我的应用程序未运行ning(未初始化)时,是否可以调用"onNewToken" 函数。这意味着我的应用程序没有执行初始化过程(做了很多事情)。
当 "onNewToken" 调用我的应用程序时,应将此令牌发送到多个服务器并更改加密数据库中的一些信息。
如果我的应用程序未初始化时可以调用"onNewToken"函数,我如何在"onNewToken"函数中知道我的应用程序是否已初始化。
我对这个话题有点困惑。这方面的最佳做法是什么?
onNewToken
方法位于 Service
class 中,正是因为它可能会在应用未被积极使用时调用。您应该确保 onNewToken
中的代码不依赖于具有 运行.
的任何 activity 中的任何代码
典型的方法是将来自后台服务的令牌存储到您应用的服务器端 FCM 令牌列表中。
或者您可以将令牌传递给您的 activity,以便它可以在再次激活时提取它。不过,我建议不要将此用作传达令牌的主要方式,因为您可能会错过此处的令牌更新,因此在用户再次开始使用该应用程序之前无法向用户发送通知。
我开发了一个 Android 应用程序,当用户 运行 应用程序执行初始化过程时,用户会看到启动画面。这个初始化过程包括数据库解密等。我在数据库中保存FCM令牌和其他信息。
我写了 "MyFirebaseMessagingService",它扩展了 FirebaseMessagingService 并覆盖了 "onMessageReceived" 和 "onNewToken" 函数。我可以毫无问题地从 FCM 获得通知。我可以在应用程序 运行ning 期间获得新令牌,没有任何问题。
我的问题是:当我的应用程序未运行ning(未初始化)时,是否可以调用"onNewToken" 函数。这意味着我的应用程序没有执行初始化过程(做了很多事情)。
当 "onNewToken" 调用我的应用程序时,应将此令牌发送到多个服务器并更改加密数据库中的一些信息。
如果我的应用程序未初始化时可以调用"onNewToken"函数,我如何在"onNewToken"函数中知道我的应用程序是否已初始化。
我对这个话题有点困惑。这方面的最佳做法是什么?
onNewToken
方法位于 Service
class 中,正是因为它可能会在应用未被积极使用时调用。您应该确保 onNewToken
中的代码不依赖于具有 运行.
典型的方法是将来自后台服务的令牌存储到您应用的服务器端 FCM 令牌列表中。
或者您可以将令牌传递给您的 activity,以便它可以在再次激活时提取它。不过,我建议不要将此用作传达令牌的主要方式,因为您可能会错过此处的令牌更新,因此在用户再次开始使用该应用程序之前无法向用户发送通知。