FirebaseInstanceId.getInstance()。getToken()返回JSON对象而不是标记字符串

时间:2016-10-05 15:53:12

标签: android firebase firebase-cloud-messaging

有时当我调用FirebaseInstanceId.getInstance().getToken()时,它会返回正确的String标记,但有时会返回一个JSON字符串,其中包含tokenappVersiontimestamp结构体。

有人遇到同样的问题吗?

2 个答案:

答案 0 :(得分:4)

您获取JSON对象的原因是因为您可能使用的版本无法理解新的令牌格式,因此它只返回整个JSON blob而不会拉出实际令牌。您可以通过两件事来解决此问题:

  1. 再次开始使用更新版本(Firebase 9.6.0+)并解决您遇到的所有问题。
  2. 作为解决方法,如果您在服务器上看到JSON blob,则可以手动拉出实际令牌。它将在token密钥下。

答案 1 :(得分:0)

离子3解决方案

 this.FCM.getToken().then((token) => {
        let mapedToken;
      try{
            mapedToken=JSON.parse(token).token;
          }
       catch{
             mapedToken=token;
         }
        //SAVING TOKEN 
        this.save(mapedToken);//function to save token

    });