android– 如何检测令牌是否已过期或未在应用服务器上注册firebase FCM通知?

android– 如何检测令牌是否已过期或未在应用服务器上注册firebase FCM通知?,第1张

概述我使用以下代码将FCM通知从服务器发送到设备:StringfcmServerKey=externalConfig.getFcmServerKey();CloseableHttpClienthttpclient=HttpClients.createDefault();HttpPosthttpPost=newHttpPost(HTTPS_FCM_GOOGLEAPIS_COM_FCM_SEND);

我使用以下代码将FCM通知从服务器发送到设备:

    String fCMServerKey = externalConfig.getFCMServerKey();            CloseablehttpClIEnt httpclIEnt = httpClIEnts.createDefault();            httpPost httpPost = new httpPost(httpS_FCM_GoogleAPIS_COM_FCM_SEND);            httpPost.setEntity(new StringEntity(message, ContentType.create("application/Json")));            httpPost.setheader("Authorization", "key=" + fCMServerKey);CloseablehttpResponse closeablehttpResponse= httpclIEnt.execute(httpPost);

在上面的代码中,当我得到响应对象closeablehttpResponse时,如何检测用于发送此请求的fcm令牌是否已过期或未注册?

从firebase应用程序仪表板尝试使用其fcm令牌向设备发送通知时,从设备中删除应用程序后,我看到在firebase仪表板上失败,将光标悬停在Failed上我看到未注册的注册令牌.

如何从API响应对象closeablehttpResponse中检测未注册的注册令牌的上述错误情况?

解决方法:

使用Server Reference API获取有关设备注册令牌的相关信息.如果响应为空,则表示令牌已过期或未注册.

示例GET请求

https://iID.GoogleAPIs.com/iID/info/nKctOdamlM4:...clJONHoA?details=trueAuthorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA

示例结果

http 200 OK  {    "application":"com.iID.example",    "authorizedEntity":"123456782354",    "platform":"AndroID",    "attestStatus":"ROOTED",    "appSigner":"1a2bc3d4e5",    "connectionType":"WIFI",    "connectDate":"2015-05-12    "rel":{        "topics":{          "topicname1":{"addDate":"2015-07-30"},          "topicname2":{"addDate":"2015-07-30"},          "topicname3":{"addDate":"2015-07-30"},          "topicname4":{"addDate":"2015-07-30"}                  }           }     }
总结

以上是内存溢出为你收集整理的android – 如何检测令牌是否已过期或未在应用服务器上注册firebase FCM通知?全部内容,希望文章能够帮你解决android – 如何检测令牌是否已过期或未在应用服务器上注册firebase FCM通知?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118444.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存