Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 服务器中的Firebase令牌管理_Android_Firebase_Android Notifications_Firebase Cloud Messaging - Fatal编程技术网

Android 服务器中的Firebase令牌管理

Android 服务器中的Firebase令牌管理,android,firebase,android-notifications,firebase-cloud-messaging,Android,Firebase,Android Notifications,Firebase Cloud Messaging,我对firebase和android通知仍然很陌生。我希望能够根据一些规则向单个用户发送通知。到目前为止,我一直在阅读的是,可以通过以下方式生成令牌: FirebaseInstanceId.getInstance().getToken() 然后,令牌将需要在到期时的某个点刷新 如果可能的话,我如何设置这些代币的到期日?如果有一千个用户在同一时间刷新了他们的令牌,那么我需要为这些令牌向我的应用服务器写入一千次。此问题是否有已知的扩展解决方案(例如,保留相同的令牌,但仅刷新其到期时间)?列举了原因

我对firebase和android通知仍然很陌生。我希望能够根据一些规则向单个用户发送通知。到目前为止,我一直在阅读的是,可以通过以下方式生成令牌:

FirebaseInstanceId.getInstance().getToken()
然后,令牌将需要在到期时的某个点刷新

如果可能的话,我如何设置这些代币的到期日?如果有一千个用户在同一时间刷新了他们的令牌,那么我需要为这些令牌向我的应用服务器写入一千次。此问题是否有已知的扩展解决方案(例如,保留相同的令牌,但仅刷新其到期时间)?

列举了原因:

在以下情况下,注册令牌可能会更改:

  • 应用程序删除实例ID
  • 应用程序已在新设备上还原
  • 用户卸载/重新安装应用程序
  • 用户清除应用程序数据
除了删除令牌(上面的第一个选项)之外,您无法控制何时刷新令牌。但与Firebase身份验证令牌不同,Firebase云消息传递的实例ID令牌不会按照固定的时间表刷新。实例ID令牌刷新相对较少,在最大的使用情况下,应该只需要特别考虑向外扩展。

列举了以下原因:

在以下情况下,注册令牌可能会更改:

  • 应用程序删除实例ID
  • 应用程序已在新设备上还原
  • 用户卸载/重新安装应用程序
  • 用户清除应用程序数据

除了删除令牌(上面的第一个选项)之外,您无法控制何时刷新令牌。但与Firebase身份验证令牌不同,Firebase云消息传递的实例ID令牌不会按照固定的时间表刷新。实例ID令牌刷新相对较少,在最大的使用情况下,应该只需要特别考虑向外扩展。

否。无法仅刷新注册令牌的过期时间

刷新注册令牌时,令牌值将更改。注册令牌本身将过期的事件也是不确定的,并且只能在以下中指定的特定事件上发生:

实例ID是稳定的,除非:

  • 应用程序删除实例ID
  • 应用程序已在新设备上还原
  • 用户卸载/重新安装应用程序
  • 用户清除应用程序数据
在上述情况下,将生成一个新的实例ID,应用程序需要重新创建先前生成的授权令牌


如上所述,在刷新令牌的情况下,将调用onTokenRefresh(),您应该处理将其发送到应用服务器并删除过期的旧令牌和其他内容的后续步骤。

否。无法仅刷新注册令牌的过期时间

刷新注册令牌时,令牌值将更改。注册令牌本身将过期的事件也是不确定的,并且只能在以下中指定的特定事件上发生:

实例ID是稳定的,除非:

  • 应用程序删除实例ID
  • 应用程序已在新设备上还原
  • 用户卸载/重新安装应用程序
  • 用户清除应用程序数据
在上述情况下,将生成一个新的实例ID,应用程序需要重新创建先前生成的授权令牌

如上所述,在刷新令牌的情况下,将调用
onTokenRefresh()
,您应该处理将其发送到应用程序服务器并删除过期的旧令牌和其他内容的后续步骤