关于android:FAQ接入HMS-Core推送服务服务端下发消息常见错误码原因分析及解决方法

39次阅读

共计 2022 个字符,预计需要花费 6 分钟才能阅读完成。

HMS Core 推送服务反对开发者应用 HTTPS 协定接入 Push 服务端,能够从服务器发送上行音讯给终端设备。这篇文章汇总了服务端下发音讯最常见的 6 个错误码,并提供了起因剖析和解决办法,有遇到相似问题的开发者们快理解一下吧。

错误码一:80200001,” Oauth 认证谬误 ”

起因剖析:

  1. 下发音讯未增加 Authorization 申请参数或值为空。
  1. 利用 A 的 APPID 申请的 Access Token,却用于给利用 B 推送音讯,也会呈现此错误码。

申请 Access Token

下发音讯

解决办法:

  1. 排查申请 HTTP 头中是否有入参 Authorization 申请参数。Authorization 获取形式可参考文档、上行音讯 API 可参考文档。
  2. 获取 Access Token 应用的 APPID 和下发音讯应用的 APPID 须要保持一致。

错误码二:80300007,”Token 有效谬误 ”

起因剖析:

  1. token 不非法,token 中多或少了字符,例如下图中多了个空格。

  2. 给利用 A 下发音讯,token 却是利用 B 的,这种状况也是起因之一。

解决办法:

  1. 查看 token 参数是否正确;
  2. 确保下发音讯应用的 token,是获取于指标利用的

错误码三:80300010,” 音讯体中的 Token 数量不合乎默认值 ”

起因剖析:

  1. 开发者将“message”字段拼写错误,示例图中 message 字段结尾多了 ‘r’;
  2. token 地位不正确,字段构造问题;
  3. 下发的 token 数量超过了限度,或 token 为空。

解决办法:

  1. 确保 message、token 字段写入正确;
  2. message 字段蕴含 token,与 “android” 同级;
  1. token 的数量应在 1 -1000 个,确认 token 参数的数量,参考字段构造及阐明请参考文档。

错误码四:80200003,”Oauth Token 过期 ”

起因剖析:

  1. Authorization 申请参数值中的 Access Token 已过期
  2. 申请参数值不正确,多或少了其余字符。

解决办法:

  1. Access Token 有效期为一个小时,若超过限定工夫,则须要从新获取并应用最新 Access Token 下发音讯。从新获取 Access Token 办法可参考文档
  2. 确保应用的 Access Token 与获取的统一,复制 Access Token 时呈现转义字符,须要将“/”还原为“/”。

错误码五:80100016,” 音讯外面含有敏感信息 ”

起因剖析:

呈现这种报错阐明推送音讯内容中含有敏感信息

解决办法:

  1. 因为不提供敏感词库,须要开发者自行检测内容;
  2. 开发者能够接入推必安,下发音讯通过推必安审核后,华为不会二次审核。接入推必安的流程可 [参考文档]()。

注意事项:

  1. 推必安审核通过后,须要将推必安返回通过的后果增加到华为 Review 字段的 result 对象中,这样下发音讯时华为能力晓得音讯审核已通过,华为也不会进行二次审核。
"review": [
        {"reviewer": "tuibian",[]()
            "type": 0,
            "result": {

                // 以下为推必安返回后果
                "code": 200,
                "data": {
                    "auditEngine": "t****ine",
                    "auditId": "0f74b*******0b3f490d",
                    "labels": []},
                "msg": "Pass",
                "sign": "MEQCIBHc********IqLjw=="

            }
        }
    ]
}
  1. 并不是将整个音讯体都放到推必安“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"]
    }
} 
  1. 因为审核过程繁琐,倡议缩小下发字段的应用,这样操作更简略也会防止下发音讯时呈现 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 最新技术资讯~

正文完
 0