共计 2022 个字符,预计需要花费 6 分钟才能阅读完成。
HMS Core 推送服务反对开发者应用 HTTPS 协定接入 Push 服务端,能够从服务器发送上行音讯给终端设备。这篇文章汇总了服务端下发音讯最常见的 6 个错误码,并提供了起因剖析和解决办法,有遇到相似问题的开发者们快理解一下吧。
错误码一:80200001,” Oauth 认证谬误 ”
起因剖析:
- 下发音讯未增加 Authorization 申请参数或值为空。
- 利用 A 的 APPID 申请的 Access Token,却用于给利用 B 推送音讯,也会呈现此错误码。
申请 Access Token
下发音讯
解决办法:
- 排查申请 HTTP 头中是否有入参 Authorization 申请参数。Authorization 获取形式可参考文档、上行音讯 API 可参考文档。
- 获取 Access Token 应用的 APPID 和下发音讯应用的 APPID 须要保持一致。
错误码二:80300007,”Token 有效谬误 ”
起因剖析:
-
token 不非法,token 中多或少了字符,例如下图中多了个空格。
- 给利用 A 下发音讯,token 却是利用 B 的,这种状况也是起因之一。
解决办法:
- 查看 token 参数是否正确;
- 确保下发音讯应用的 token,是获取于指标利用的
错误码三:80300010,” 音讯体中的 Token 数量不合乎默认值 ”
起因剖析:
- 开发者将“message”字段拼写错误,示例图中 message 字段结尾多了 ‘r’;
- token 地位不正确,字段构造问题;
- 下发的 token 数量超过了限度,或 token 为空。
解决办法:
- 确保 message、token 字段写入正确;
- message 字段蕴含 token,与 “android” 同级;
- token 的数量应在 1 -1000 个,确认 token 参数的数量,参考字段构造及阐明请参考文档。
错误码四:80200003,”Oauth Token 过期 ”
起因剖析:
- Authorization 申请参数值中的 Access Token 已过期
-
申请参数值不正确,多或少了其余字符。
解决办法:
- Access Token 有效期为一个小时,若超过限定工夫,则须要从新获取并应用最新 Access Token 下发音讯。从新获取 Access Token 办法可参考文档
- 确保应用的 Access Token 与获取的统一,复制 Access Token 时呈现转义字符,须要将“/”还原为“/”。
错误码五:80100016,” 音讯外面含有敏感信息 ”
起因剖析:
呈现这种报错阐明推送音讯内容中含有敏感信息
解决办法:
- 因为不提供敏感词库,须要开发者自行检测内容;
- 开发者能够接入推必安,下发音讯通过推必安审核后,华为不会二次审核。接入推必安的流程可 [参考文档]()。
注意事项:
- 推必安审核通过后,须要将推必安返回通过的后果增加到华为 Review 字段的 result 对象中,这样下发音讯时华为能力晓得音讯审核已通过,华为也不会进行二次审核。
"review": [
{"reviewer": "tuibian",[]()
"type": 0,
"result": {
// 以下为推必安返回后果
"code": 200,
"data": {
"auditEngine": "t****ine",
"auditId": "0f74b*******0b3f490d",
"labels": []},
"msg": "Pass",
"sign": "MEQCIBHc********IqLjw=="
}
}
]
}
- 并不是将整个音讯体都放到推必安“content”字段中,须要审核的是“message”外面的内容,同时会对音讯体内容按 ASCII 码升序排序后转为字符串格局进行审核。
{
"validate_only":false,
"message":{
// 以下局部须要审核
"notification":{
"title":"message title",
"body":"message body"
},
"android":{
"collapse_key":0,
"notification":{
"click_action":{
"type":2,
"url":"https://example.com"
}
}
},
"token":["pushtoken1"]
}
}
- 因为审核过程繁琐,倡议缩小下发字段的应用,这样操作更简略也会防止下发音讯时呈现 80100018 错误码,该错误码指发给三方机构审核的音讯体与下发时的音讯体不统一。
错误码六:sub_error”:57303,”error_description”:”appid is overload blocked”,”error”:1302
起因剖析:
过多申请 access_token 被流控,流控阈值为 1000 个 / 5 分钟。
解决办法:
调整申请逻辑,access_token 有效期为一个小时,无需频繁申请。流控 5 分钟后重置,能够再次申请。更多 access_token 相干限度可参考文档。
理解更多详情 >>
拜访华为开发者联盟官网
获取开发领导文档
华为挪动服务开源仓库地址:GitHub、Gitee
关注咱们,第一工夫理解 HMS Core 最新技术资讯~
正文完