我使用以下代码将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通知?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)