热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在FirebaseInstanceIdService之外访问Firebase令牌?

如何解决《如何在FirebaseInstanceIdService之外访问Firebase令牌?》经验,为你挑选了1个好方法。

我正在从GCM升级到FCM。在onTokenRefresh之外获取Firebase设备令牌的正确方法是什么?

我正在尝试获取设备令牌,以便以后可以在服务器上重新启用它。我最初是按照此处显示的方法1 的文档获取设备令牌的。但是,当我尝试直接通过方法2访问设备令牌时,会得到一个不同的令牌。我是否在方法2中错误地获取了设备令牌?

方法1:在FirebaseInstanceIdService.onTokenRefresh()中

String refreshedToken = FirebaseInstanceId.getInstance().getToken();

方法2:直接访问设备令牌

FirebaseInstanceId instanceID = FirebaseInstanceId.getInstance();
String registratiOnToken= instanceID.getToken(this.projectNumber, "FCM");

AL... 6

只是为了解释方法1中发生的情况。建议将令牌放入内部,onTokenRefresh()因为触发此方法时,这意味着先前的令牌已失效。从文档:

在系统确定需要刷新令牌时调用。应用程序应调用getToken()并将令牌发送到所有应用程序服务器。

对于方法2,您正在调用getToken(String authorizedEntity, String scope),而不是getToken()。设置您的应用程序以接收来自多个发件人的消息时,通常使用带有两个参数的参数。

对于getToken(String authorizedEntity, String scope)具有不同项目ID(authorizedEntity)的每次调用,它将返回不同的令牌。

只需更换您的方法2,在同一呼叫方法1,如下所示:

String registratiOnToken= FirebaseInstanceId.getInstance().getToken();

并且您应该能够检索指定的令牌。令牌通常是在onCreate()您的初始活动中获取的。



1> AL...:

只是为了解释方法1中发生的情况。建议将令牌放入内部,onTokenRefresh()因为触发此方法时,这意味着先前的令牌已失效。从文档:

在系统确定需要刷新令牌时调用。应用程序应调用getToken()并将令牌发送到所有应用程序服务器。

对于方法2,您正在调用getToken(String authorizedEntity, String scope),而不是getToken()。设置您的应用程序以接收来自多个发件人的消息时,通常使用带有两个参数的参数。

对于getToken(String authorizedEntity, String scope)具有不同项目ID(authorizedEntity)的每次调用,它将返回不同的令牌。

只需更换您的方法2,在同一呼叫方法1,如下所示:

String registratiOnToken= FirebaseInstanceId.getInstance().getToken();

并且您应该能够检索指定的令牌。令牌通常是在onCreate()您的初始活动中获取的。


推荐阅读
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 标题: ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • 本文介绍了Java中Currency类的getInstance()方法,该方法用于检索给定货币代码的该货币的实例。文章详细解释了方法的语法、参数、返回值和异常,并提供了一个示例程序来说明该方法的工作原理。 ... [详细]
author-avatar
席昀2010_445_882
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有