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 最新技术资讯~