客户端错误码
通用错误码
错误码 | 含义说明 | 处理建议 |
800001 | 注册推送服务,appKey 参数不合法。 | 1. 检查 registerPush 接口的 appKey 参数是否正确传入。 2. 确认 appKey 从腾讯云控制台正确获取。 3. 检查 appKey 是否包含多余的空格或特殊字符。 4. 确认 appKey 与当前应用的 sdkAppId 匹配。 获取 appKey 的路径: |
800002 | 注册推送服务,sdkAppId 参数不合法。 | 检查 sdkAppId 参数类型(必须是数字)。 确认 sdkAppId 与腾讯云控制台一致。 获取 sdkAppId 的路径: |
800003 | 初始化 SDK 失败。 | 1. 确认 sdkAppId 参数正确。 2. 检查 SDK 初始化代码。 3. 确认网络连接正常。 |
800004 | 长链接建立失败。 | 1. 检查设备网络连接(Wi-Fi/移动网络)。 2. 确认在 IM 登录成功后再调用 registerPush。 3. 查看日志中的详细错误信息。 常见原因 网络不稳定或断开。 调用时机过早(IM 未登录)。 参数配置错误。 |
800005 | 本机通道注册推送失败。 | 1. 已正确配置各厂商的推送参数。 2. timpush-configs.json 文件已正确放置。 3. AndroidManifest.xml 中已添加必要配置。 4. 已集成对应厂商的 SDK。 5. 混淆配置已正确设置。 |
800006 | 本机通道注册推送失败后,尝试 FCM 通道注册失败。 | 本机通道检查 确认设备品牌,检查对应厂商 SDK 是否正确集成。 检查厂商配置参数(appId、appKey 等)是否正确。 确认设备系统版本支持厂商推送。 FCM 通道检查 确认设备支持 Google 服务(GMS)。 检查 google-services.json 配置。 确认 Firebase 项目配置正确。 |
800007 | 探测所有通道失败。 | 1. 检查 timpush-configs.json 配置是否完整。 2. 确认各厂商 SDK 已正确集成。 3. 查看详细日志确定具体失败原因。 |
800008 | 注册推送服务超时。 | 1. 确认设备品牌和系统版本。 2. 检查厂商推送服务在设备上的可用性。 3. 查看厂商 SDK 的设备兼容性要求。 |
800009 | 注册推送 token 为空。 | 1. 稍后重试(可能是临时网络问题)。 2. 检查厂商推送服务状态。 3. 确认设备支持推送服务。 |
800010 | 给 SDK 设置 token 失败。 | 检查 token 参数格式。 确认 token 不为空且格式正确。 |
800011 | 关闭自动注册失败。 | 请检查设置参数合法性。 |
800012 | 关闭推送权限请求失败。 | 请检查设置参数合法性。 |
800013 | 创建通知 channel 失败。 | 详见错误的具体描述,请检查设置参数合法性。 |
800014 | 设置推送配置失败。 | 1. 确认文件存在。 Android: app/src/main/assets/timpush-configs.json iOS: 项目根目录 2. 检查 JSON 格式是否正确。 3. 重新从控制台下载配置文件。 |
800015 | 实验性接口调用失败。 | 请检查参数合法性。 |
800016 | 用户拒绝推送获取弹窗权限。 | 1. 在请求系统权限前展示自定义引导页面。 2. 说明推送通知的价值(及时收到消息等)。 3. 提供稍后开启选项。 4. 在权限被拒后,您需要: 在设置页提供手动开启入口。 引导用户前往系统设置开启。 记录用户选择,避免频繁打扰。 |
6014 | IM 账号未登录,请先登录后再注册推送。 | 1. 初始化 IM SDK。 2. 调用 login 接口登录 IM。 3. 等待登录成功回调。 4. 调用 registerPush 注册推送。 常见错误如下: 在 login 回调之前就调用 registerPush。 登录失败后仍尝试注册推送 |
9523 | 请检查网络是否正常。 | 1. 检查设备网络连接。 2. 尝试切换 Wi-Fi/移动网络。 3. 确认网络能正常访问外网。 |
70016 | 公钥不存在,UserSig 验证失败,请确认是否使用了正确的 appKey。 | 1. 确认使用了正确的 appKey。 2. 请检查 SDKAppID 和访问的 IM 数据中心是否一致。 |
客户端厂商错误码
错误码 | 错误描述 | 处理建议 |
22006 | 应用程序 ID 不合法。 | 检查 AppId 是否正确。 |
22007 | 应用程序 Key 不合法。 | 检查 AppKey 是否正确。 |
22022 | 应用程序 package name 不合法。 | 检查包名是否正确。 |
错误码 | 含义说明 | 处理建议 |
-5 | 获取 Token 任务失败。 | 检查混淆配置脚本,确保 HMS 相关类未被混淆。 混淆配置: -keep class com.huawei.hms.** { *; }-keep class com.huawei.agconnect.** { *; } |
-10 | KPMS 升级 Kit 失败。 | HMS Core 升级失败,请通过厂商在线提单提交问题。 |
907122030 | 没有 Token。 | 1. 检查 HMS Core 安装状态。 2. 确认 getToken 方法入参正确。 3. 检查网络和华为账号。 代码示例:
|
907122031 | 当前网络不可用。 | 1. 检查设备网络连接。 2. 尝试切换 Wi-Fi/移动网络。 3. 确认能访问华为服务器。 |
907122032 | Token 失效。 | 删除旧 Token 后重新获取,代码示例如下:
|
907122034 | 订阅的主题数超限(2000)。 | 请删除不必要的主题,详情可参见取消订阅主题。 |
907122035 | 主题订阅失败。 | 建议稍后重试,或联系技术支持解决。 |
907122036 | 没有开通推送服务权益。 | 1. 登录 AppGallery Connect。 2. 选择应用 > 增长 > 推送服务 > 开通。 3. 等待约 30 分钟生效。 4. 清除 HMS Core 缓存并重启设备。 检查清单: 1. 推送服务已开通。 2. agconnect-services.json 已更新。 3. 证书指纹配置正确。 |
907122037 | 申请 Token 失败。 | |
907122038 | 应用未选择存储位置或者存储位置非法。 | 1. 登录 AppGallery Connect。 2. 项目设置 > 常规 > 数据存储位置。 3. 选择合适的区域(中国大陆用户选“中国”)。 4. 重新下载 agconnect-services.json。 注意: 数据处理位置一旦设置不可更改 |
907122039 | 多发送者场景下发送者没有权限。 | 请参见目标应用为发送者配置权限指导。 |
907122041 | 消息体大小超过了允许的最大值(1KB)。 | 请检查您发送的消息体大小。 |
907122042 | 发送的消息中携带了无效参数。 | 请检查消息体的参数是否合法。 |
907122043 | 本消息因发送消息数达到上限而丢弃。 | 请减少发送消息的数量。 |
907122044 | 在成功发送给应用服务器之前,本消息因过期而丢弃。 | 请重新设置消息缓存时间,支持设置最大值为15天。 |
907122045 | 未知错误。 | |
907122047 | Push 通用错误码。 | |
907122048 | HMS Core(APK)无法连接 Push Kit。 | |
907122049 | 当前系统 EMUI 版本过低或者推送服务版本过低导致能力不可使用。 | 请升级推送服务(APK)的版本,若升级后还未解决问题,请尝试更换高版本 EMUI 的终端设备。 |
907122050 | 操作不能在主线程中。 | 在新线程中调用 getToken、deleteToken 等方法:
|
907122051 | 设备证书认证失败。 | |
907122052 | 绑定服务失败。 | |
907122053 | 申请 Token 失败,不允许跨区申请 Token。 | 请检查是否存在跨数据处理位置申请 Token。 |
907122054 | Push SDK 自动初始化中,请稍后重试操作。 | 1. 打开华为应用市场。 2. 搜索 HMS Core。3. 安装或更新到最新版本。 版本要求: HMS Core ≥ 5.0.0.300 推送服务 ≥ 5.0.0.300 |
907122055 | 系统繁忙,请重试。 | 请稍后重试。 |
907122056 | 发送上行消息失败。 | 请稍后重试发送上行消息。 |
907122057 | 发送上行消息时构造对象入参不正确。 | 请确认 RemoteMessage.Builder 构造对象入参为 push.hcm.upstream。 |
907122058 | 应用发送的上行消息缓存数超过缓存阈值(20)而丢弃。 | 请稍后重试。 |
907122059 | 由于网络不可用等原因应用发送的上行消息暂时处于缓存状态。 | 请稍后重试。 |
907122060 | 应用服务器不在线。 | 请稍后重试。 |
907122061 | 应用调用接口频率过高被流控。 | 请减少调用接口的频率。 |
907122064 | agconnect-services.json 文件里缺少 projectId 字段。 | 1. 登录 AppGallery Connect。 2. 我的项目 > 选择应用 > 项目设置。 3. 下载最新的 agconnect-services.json。 4. 替换到 app/ 目录。5. Clean 并 Rebuild 项目。 |
907122065 | 智能手表、VR、路由器应用申请 Token 失败。 | 暂不支持第三方的智能手表、VR、路由器应用推送。 |
907122066 | 无法获取华为账号信息。 | 请确认华为账号已登录并且终端设备网络正常。请重新登录华为账号。 |
907122067 | 添加的 profile 数量超过最大值(10)。 | 请清除不再使用的 profile,详情请参见删除 profile。 |
907122070 | 设备安装的推送服务版本过低。 | 请升级您设备上安装的推送服务应用。 |
907122072 | HMS Core 版本过低。 | 请升级您设备上安装的 HMS Core 应用。 |
907122073 | 消息订阅操作的频率过高。 | 请减少消息订阅的频率。 |
907122074 | 应用的通知开关处于关闭状态。 | 引导用户开启应用通知权限,示例代码如下:
|
907122075 | 消息订阅操作被拒绝。 | 当前消息订阅操作被拒绝,已有订阅业务正在执行,请稍后重试。 |
907122076 | 消息订阅模板 ID 错误。 | 请检查消息订阅模板 ID 是否正确。 |
907122077 | 没有权限发送该消息模板。 | 请检查您应用的类别和发送消息模板的类型。 |
907122101 | 获取推送服务的 Token 失败。 | |
907122102 | 删除推送服务的 Token 失败。 | |
907122103 | 推送服务 SDK 内部发生错误。 | |
907122104 | 获取域名失败。 | |
907122105 | 构建申请 Token 的 JSON 消息体失败。 | |
6003 | 指纹证书配置不一致。 | 1. 获取证书指纹: keytool -list -v -keystore your_keystore.p12 -storetype PKCS122. 更新平台配置:AppGallery Connect > 项目设置 > 应用信息 > SHA256证书指纹 3. 清除 HMS Core 缓存:设备设置 > 应用管理 > HMS Core > 清除数据 注意: Debug 和 Release 证书指纹不同,需分别配置。 |
6004 | 接口鉴权时,权限不存在。 | 1. 确认推送服务已开通。 2. 如已开通但仍报错: 关闭推送服务 > 等待 1 分钟 > 重新开通。 等待 30 分钟生效。 3. 清除 HMS Core 缓存。 4. 重新下载 agconnect-services.json。 |
错误码 | 含义说明 | 处理建议 |
14 | 无效的 AppKey 参数。 | 1. 登录 OPPO 开放平台。 2. 进入: 管理中心 > 应用服务平台 > 应用详情 > 推送服务。 3. 确认 AppKey 正确。 4. 检查 timpush-configs.json 中 oppo.appKey 配置。 |
15 | 缺少 AppKey 参数。 | 1. 检查 timpush-configs.json 是否包含 oppo.appKey。 2. 确认 AndroidManifest.xml 配置正确。 |
40 | 缺少必选参数 ,API 文档中设置为必选的参数是必传的,请仔细核对文档。 | 1. 核对 OPPO 推送 API 文档必选参数。 2. 检查 timpush-configs.json 配置完整性。 |
41 | 参数错误,一般是用户传入参数非法引起的,请仔细检查入参格式、范围是否一一对应。 | 1. 检查传入参数格式和范围。 2. 核对 OPPO 推送文档参数说明。 3. 检查 timpush-configs.json 配置。 |
-1 | 注册频繁调用。 | 频率限制 OPPO 推送 SDK 对各接口有调用频率限制 解决方案 注册成功后缓存状态,避免重复注册。 使用防抖/节流机制。 建议调用间隔至少 30 秒。 |
-2 | 注销频繁调用。 | 请控制注销调用频率。 |
-3 | 停止推送频繁调用。 | 请控制停止推送调用频率。 |
-4 | 恢复推送频繁调用。 | 请控制恢复推送调用频率。 |
-5 | 获取通知栏状态频繁调用。 | 请控制获取通知栏状态调用频率。 |
-6 | 设置通知栏 type 频繁调用。 | 请控制设置通知栏 type 调用频率。 |
-7 | 清除通知栏 type 频繁调用。 | 请控制清除通知栏 type 调用频率。 |
-8 | 打开通知栏设置界面频繁调用。 | 请控制打开通知栏设置界面调用频率。 |
-9 | 清除通知栏消息频繁调用。 | 请控制清除通知栏消息调用频率。 |
-10 | 获取 push 状态频繁调用。 | 请控制获取 push 状态调用频率。 |
-11 | 设置 push 时间频繁调用。 | 请控制设置 push 时间调用频率。 |
-12 | 请求通知栏权限频繁调用。 | 请控制请求通知栏权限调用频率。 |
-13 | 发送 ack 频繁调用。 | 请控制发送 ack 调用频率。 |
-14 | 埋点上报频繁调用。 | 请控制埋点上报调用频率。 |
-15 | 开启应用通知栏频繁调用。 | 请控制开启应用通知栏调用频率。 |
-16 | 关闭应用通知栏频繁调用。 | 请控制关闭应用通知栏调用频率。 |
-17 | 获取应用通知栏状态频繁。 | 请控制获取应用通知栏状态频繁。 |
错误码 | 含义说明 | 处理建议 |
101 | 系统不支持 push 功能。 | 设备要求 必须是 vivo 品牌手机。 Funtouch OS 2.6 及以上版本。 排查步骤 1.1 确认设备品牌为 vivo。 1.2 检查系统版本: 设置 > 关于手机。 注意: 模拟器不支持 vivo 推送。 非 vivo 设备会返回此错误(正常现象)。 |
102 | push 初始化时传入的 context 对象为空。 | 确保 context 对象不为空后调用: PushClient.getInstance(getApplicationContext()) |
104 | 初始化接口配置中 agreePrivacyStatement 为 false。 | 注意: 合规提醒: 若用户未同意隐私声明,强制设为 true 可能存在合规风险,需业务自己承担。 |
1001 | 接口调用频率一天内超过请求上限: 100次/天:turnOnPush、turnOffPush、bindAlias、unBindAlias。 500次/天:setTopic、delTopic。 | 频率限制 turnOnPush/turnOffPush: 100次/天。 bindAlias/unBindAlias: 100次/天。 setTopic/delTopic: 500次/天。 解决方案 控制调用频率,缓存调用状态。 |
1002 | 2秒内重复请求接口。 | 添加调用间隔检测,确保两次调用间隔 > 2秒。 |
1003 | 请求超时。 | 详细排查清单 1. 确认 SDK 版本和系统版本为最新。 2. 通过 PushClient#checkManifest 校验接入。 3. 确认非多进程调用(暂不支持)。 4. 检查网络状态。 5. 确认各项配置正确。 6. 确认直接集成 vivo SDK(非第三方间接集成)。 7. Receiver 类是否添加了 public 修饰符。 8. AndroidManifest.xml 中 Receiver 是否重复注册。 |
1004 | 系统不支持 push 功能。 | 更换 vivo 设备后重试。 |
1005 | 系统不支持 push 功能。 | 更换 vivo 设备后重试。 |
6018 | 已添加过该 profileId,不能重复添加。 | |
6019 | profileId 参数长度超过限制,单个 profileId 的最大长度为64。 | 设置 profileId 长度小于或等于64。 |
6020 | 添加的 profileId 数量超过最大值(10)。 | 请清除不再使用的 profileId,详情请参见: |
8012 | 设备不支持删除 regId 功能。 | 更换设备验证删除 regId 功能。 |
8013 | 设备不支持查询订阅状态功能。 | 更换设备验证查询订阅状态功能。 |
8102 | 设备不支持 profileId 相关功能。 | |
10000 | 请求过程中的未知异常。 | 1. 确认 appId、appKey、包名正确。 2. 确认设备和软件版本在支持范围内。 说明: 特殊情况: IMEI 以 00009 结尾的设备被判定为不合法,线上会禁用,也返回 10000。 |
10001 | 未在 Manifest 文件中配置 api_key/app_id。 | 检查 gradle 是否添加配置:
|
10003 | app 包名与开平申请的包名不一致。 | 1. 检查应用 build.gradle 中的 applicationId。 2. 确认与 vivo 开放平台申请的包名一致。 |
10004 | appkey 与开平申请的 appkey 不一致。 | 检查 AndroidManifest 中配置的 api_key 值是否与开平申请的 appkey 一致。 |
10005 | appid 与开平申请的 appid 不一致。 | 检查 AndroidManifest 中配置的 app_id 值是否与开平申请的 appid 一致。 |
10083 | 服务器繁忙未响应。 | 请120秒后重试。若无法恢复请联系 vivo 推送技术支持。 |
10084 | 服务器限制应用请求。 | 请联系 vivo 推送技术支持。 |
20001 | App 未订阅导致操作标签失败。 | 请先调用:turnOnPush 成功后再使用标签接口。 |
20002 | 标签参数为空。 | 入参不能为空。 |
20003 | 标签参数长度超过70。 | 调整入参长度,必须小于70。 |
20004 | 已设置标签数量超过上限500。 | |
30001 | App 未订阅导致操作别名失败。 | 请先调用:turnOnPush 成功后再使用别名接口。 |
30002 | 别名参数为空。 | 入参不能为空。 |
30003 | 别名参数长度超过70。 | 调整入参长度,必须小于70。 |
错误码 | 错误描述 | 处理建议 |
1006 | 签名认证失败。 | 检查 appKey/appSecret 是否正确;确认签名算法和参数排序与文档一致。 |
110000 | AppID 不合法。 | 确认 AppID 已在魅族推送平台正确注册,检查是否拼写错误。 |
110001 | appKey 不合法。 | 确认 appKey 与魅族推送平台分配的一致,检查是否过期或被重置。 |
110009 | 应用被加入黑名单。 | 应用违规被封禁,请检查推送内容是否合规,联系魅族平台申诉解封。 |
201 | 没有权限,服务器主动拒绝。 | 检查应用是否已开通推送权限;确认 appKey 和 appSecret 匹配且有效。 |
错误码 | 含义说明 | 处理建议 |
8001000 | 设备不支持荣耀推送服务。 | 设备要求 必须是荣耀品牌手机。 需要包含荣耀推送服务的 Magic UI 版本。 排查步骤 1.1 确认设备品牌为荣耀(HONOR)。 1.2 检查系统版本:设置 > 关于手机。 注意: 华为设备请使用华为推送(HMS Push)。 模拟器不支持荣耀推送。 |
8001001 | 禁止在主线程操作。 | 在子线程中调用推送相关方法:
官方文档参考: 错误码 |
8001002 | 未在清单中配置 appId 信息。 | 在 AndroidManifest.xml 中配置: <meta-data android:name="com.honor.push.app_id" android:value="your_app_id" /> |
8001003 | 应用证书指纹获取失败。 | |
8001004 | 找不到需要操作的 Token。 | 请在获取 Token 成功后操作。 |
8001005 | SDK 未初始化。 | 在 Application.onCreate() 中初始化 SDK:HonorPush.init(this); |
8002001 | 绑定服务失败。 | 建议稍后重试。 |
8002002 | 服务断开中。 | 请稍后重试 |
8002003 | 调用 AIDL 超时。 | 设备服务拥堵或断开,请稍后重试。 |
8002004 | 未找到允许连接的服务。 | 参考 8001000。 |
8002005 | 绑定服务返回为 NULL。 | 参考 8001000,如未能解决,请联系技术支持。 |
8002006 | 荣耀推送服务校验失败。 | 请联系技术支持。 |
8002007 | 荣耀推送服务被禁止。 | 请联系技术支持。 |
8002008 | 设备不支持荣耀推送服务。 | 参考 8001000。 |
8003001 | 接口返回异常。 | 请联系技术支持。 |
8003002 | 未知异常。 | 系统内部异常,请联系技术支持。 |
8003003 | 内部异常。 | 系统内部异常,请联系技术支持。 |
8003004 | 无效参数。 | 请检查 AppId 参数是否按照文档设置。 |
8003005 | 操作过于频繁。 | 请稍后重试。 |
8003006 | 当前网络不可用。 | 请检查网络连接情况。 |
8003007 | OOBE 阶段未同意隐私声明,不允许访问网络。 | 请在同意隐私声明后重试。 |
8003008 | 接口请求超时。 | 请检查网络连接情况。 |
8004001 | 添加的 profileId 格式不正确。 | 检查 profileId 是否为空,或者长度超过64字符,或者包含,等特殊字符。 |
8004002 | 应用信息未注册。 | 检查是否成功获取 pushToken,如果 pushToken 获取失败,则无法添加 profileId。 |
10202 | 证书指纹或包名与开发者服务平台信息不一致。 | 1. 检查包名与平台配置一致。 2. 获取证书指纹: keytool -list -v -keystore your_keystore.jks3. 复制 SHA256 指纹(去掉冒号)。 4. 在荣耀开发者服务平台添加证书指纹。 5. 如有多个签名(Debug/Release),需分别配置。 |
10211 | 该设备今天注册 Token 已达上限。 | 请第二天重试。 建议您:缓存 Token 避免重复获取。 |
10214 | HTTP 操作过于频繁。 | 请稍后重试。 |
错误码 | 错误描述 | 处理建议 |
100001 | 无效的 APNs 证书或者 auth key。 | 检查证书或者 auth key 是否有效。 |
100004 | 证书不匹配。 | 检查证书是否正确。 |
100005 | 没找到设备 token。 | 请检查 registerPush 调用是否成功。 |
100006 | 服务暂不可用。 | 请稍后重试。 |
错误码 | 错误描述 | 处理建议 |
403 | BadCertificate:证书无效。 | 检查 APNs 证书有效性。 |
403 | BadCertificateEnvironment:客户端证书与环境不匹配。 | 证书与推送环境(开发/生产)匹配。 |
410 | ExpiredToken:设备令牌已过期。 | 重新调用注册推送接口。 |
错误码 | 含义说明 | 处理建议 |
1000900010 | 非法应用标识。应用签名证书指纹与 AGC 平台配置不匹配,或 client_id 配置错误。 | 1. 检查应用的 client_id 配置(src/main/module.json5)。2. 核对 AGC 平台配置的 SHA256 证书指纹。 3. 确保调试和发布签名的证书指纹分别配置。 4. 清除 HMS Core 缓存后重试。 |
1000900011 | 应用未开通推送服务权益。 | 1. 登录 AppGallery Connect。 2. 选择应用 > 增长 > 推送服务 > 开通。 3. 等待约30分钟生效。 4. 更新 agconnect-services.json 文件。 |
1000900012 | 应用配置文件无效或缺失。 | 1. 确认 agconnect-services.json 文件存在于项目中。 2. 检查文件内容是否完整(包含 project_id、app_id 等)。 3. 从 AGC 控制台重新下载配置文件。 4. 确保文件放置在正确目录。 |
1000900013 | 获取 Push Token 超时。 | 1. 检查网络连接是否正常。 2. 确认设备时间设置正确。 3. 稍后重试。 4. 检查 HMS Core 版本是否最新。 |
1000900014 | Push Kit 服务未初始化。 | 1. 在 Application.onCreate() 中调用 HonorPush.init()。2. 确保在获取 Token 之前完成初始化。 3. 检查初始化回调是否成功。 |
1000900015 | 设备不支持荣耀推送服务。 | 1. 确认设备为荣耀品牌手机。 2. 检查 Magic UI 版本是否支持。 3. 非荣耀设备请使用华为推送(HMS Push)。 4. 模拟器不支持荣耀推送。 |
1000900016 | Token 无效或已过期。 | 1. 删除旧 Token 后重新获取。 2. 检查设备时间是否正确。 3. 确认应用未被卸载或重新安装。 4. 重新调用 getToken 方法。 |
1000900017 | 推送服务内部错误。 | 1. 稍后重试。 2. 清除 HMS Core 缓存。 3. 重启设备。 4. 如仍无法解决,请联系技术支持。 |
1600001 | 内部错误。多线程处理异常或内部指针校验错误。 | 1. 确认系统资源是否足够。 2. 重启应用。 3. 如问题持续,请联系技术支持。 |
1600002 | 序列化或反序列化错误。应用与通知服务字段未匹配。 | 1. 检查应用 SDK 版本与系统版本是否匹配。 2. 更新应用到最新 SDK 版本。 |
1600003 | 连接通知服务失败。通知服务繁忙或异常。 | 1. 重启设备。 2. 清除系统通知服务缓存。 3. 如问题持续,请联系技术支持。 |
1600004 | 通知开关关闭。应用的通知开关为关闭状态。 | 1. 引导用户开启应用通知权限。 2. 使用 Intent 打开通知设置: Settings.ACTION_APP_NOTIFICATION_SETTINGS |
1600005 | 通知渠道关闭。通知渠道未添加或处于关闭状态。 | 1. 检查应用是否有该类型渠道,没有需要新增。 2. 确保通知渠道保持开启状态。 |
1600006 | 通知删除失败。通知设置了禁止删除属性。 | 1. 检查 NotificationRequest 中是否设置了禁止删除属性。 2. 移除该设置后再尝试删除。 |
1600007 | 通知不存在。通知服务未找到该通知。 | 通知已被取消或删除,无需处理。 |
1600008 | 用户不存在。传入的用户信息系统里未查询到。 | 检查传入的用户信息是否正确。 |
1600009 | 通知发布频度超过限制。通知发送频率超过每秒10个的限制。 | 降低通知发送频率,避免短时间内发送过多通知。 |
16000010 | 分布式操作失败。分布式数据库操作异常或分布式接口调用异常。 | 1. 检查分布式连接是否正常。 2. 确认设备间的分布式能力是否正常。 3. 重启设备后重试。 |
16000011 | 读模板配置文件错误。模板配置文件读取异常。 | 1. 检查系统模板配置文件是否存在。 2. 配置文件路径: /system/etc/notification_template/external.json。 |
16000012 | 内存空间不够。内存申请出现错误。 | 1. 确认系统内存是否足够。 2. 关闭其他占用内存的应用。 3. 重启设备后重试。 |
80300007 | Token 无效。所有 Token 都是无效的,或设备无推送权限。 | 1. 检查 token 是否正确获取。 2. 确认应用已开通推送服务。 3. 检查设备通知权限是否开启。 4. 确认应用包名与 AGC 配置一致。 |
80300010 | 消息体中的 Token 数量不符合要求。 | 1. 确保 message、token 字段写入正确。 2. token 数量应在1-1000个之间。 3. 检查 token 字段结构是否正确。 |
6003 | 证书指纹校验失败。应用打包使用的签名证书指纹与 AGC 后台配置不一致。 | 1. 获取 APK 签名证书指纹:keytool > printcert > file META-INF/CERT.RSA 2. 登录 AGC 控制台核对 SHA256证书指纹。 3. 确保调试版和发布版分别配置正确的证书指纹。 |
服务端错误码
通用错误码
说明:
除非发生网络错误(例如 502 错误),否则推送服务 REST API 的 HTTP 返回码均为200。
请通过应答包体中的 ErrorCode、ErrorInfo 确认错误码,并对照下表查看。
公共错误码(60000 到 79999)请参见 错误码 文档。
错误码 | 含义说明 |
90001 | JSON 格式解析失败,请检查请求包是否符合 JSON 规范。 |
90005 | JSON 格式请求包体中缺少 MsgRandom 字段或者 MsgRandom 字段不是 Integer 类型。 |
90009 | 请求需要 App 管理员权限。 |
90018 | 请求的账号数量超过限制。 |
90020 | 标签长度超过限制(不能超过50字节)。 |
90022 | 推送条件中的 TagsOr 和 TagsAnd 有重复标签。 |
90024 | 推送过于频繁,每两次推送间隔必须大于1秒。 |
90026 | 消息离线存储时间错误。 |
90032 | 推送条件中的 tag 数量大于10,或添加标签请求中的标签数量大于10。 |
90033 | 属性无效。 |
90039 | 按属性推送和按标签推送不可同时存在。 |
90040 | 推送条件其中1个 tag 为空。 |
90045 | 未开通全员/标签/单发推送功能。 |
90047 | 推送次数超过当天限额(默认为100次)。 |
90049 | |
90050 | 重复撤回,已经撤回的推送任务不能重复调用。 |
90051 | 撤回过于频繁,撤回限频1次/s。 |
90052 | 超过撤回有效期,撤回要求在24小时内,超过24小时的推送任务无法撤回。 |
90053 | 撤回无效。推送任务指定不存漫游/未读(OnlineOnlyFlag = 0),但是撤回时没有带上 OfflinePushInfo。 |
90056 | 全员推送的请求体过大,目前支持最大10K 长度。 |
91000 | 服务内部错误,请重试。 |
厂商发送错误码
说明:
此处仅列出各厂商发送阶段常见错误码作为参考,如有疑问,请自行咨询对应厂商。
错误码 | 错误描述 | 处理建议 |
-1 | 未知错误。 | 联系小米技术支持排查。 |
1 | 内部错误。 | 联系小米技术支持排查。 |
10001 | 系统错误。 | 稍后重试。若持续出现请联系技术支持。 |
10002 | 系统繁忙。 | 降低请求频率,稍后重试。 |
10003 | 远程服务错误。 | 稍后重试。 |
10008 | 参数错误。 | 参考 API 文档检查请求参数。 |
10012 | 非法请求。 | 检查请求合法性。 |
10016 | 缺失必选参数。 | 补全必选参数。 |
10017 | 参数值非法。 | 检查参数值是否在合法范围内。 |
10027 | 应用的 API 调用太频繁。 | 降低调用频率。 |
10029 | 不合法的设备(注册/取消注册时找不到对应设备)。 | 检查设备注册状态。 |
10030 | 应用获取失效 regid 太频繁。 | 降低获取频率。 |
10031 | 应用在黑名单中禁止发送消息。 | 联系小米解除黑名单。 |
10032 | 应用获取失效 alias 太频繁。 | 降低获取频率。 |
10033 | 应用在黑名单中禁止发 feedback 请求。 | 联系小米解除黑名单。 |
10034 | 应用当日发送消息数量过多。 | 减少当日发送量,次日再试。 |
10035 | 没有更多的失效 alias 可供拉取。 | 无需处理。 |
10036 | 应用操作被禁止。 | 检查应用状态,联系技术支持。 |
10037 | 请求过期。 | 检查请求时间戳,重新发起请求。 |
10038 | 应用禁止访问统计和 trace 数据。 | 检查权限配置。 |
10039 | 应用获取消息统计和 trace 太过频繁。 | 降低获取频率。 |
20607 | DB 错误。 | 稍后重试,联系技术支持。 |
20209 | 不合法的主题。 | 检查主题格式及内容。 |
20215 | 订阅主题失败。 | 检查主题是否存在,稍后重试。 |
20216 | 退订主题失败。 | 检查主题是否存在,稍后重试。 |
20301 | 发送消息失败。 | 稍后重试。 |
20315 | 删除广播消息失败。 | 稍后重试。 |
21301 | 认证失败。 | 检查认证凭证(AppSecret 等)。 |
21302 | token 认证失败。 | 刷新 token 后重试。 |
21303 | 被限制的请求。 | 降低请求频率。 |
21305 | 缺少必要的参数。 | 补全缺失参数。 |
22000 | 非法应用。 | 检查应用配置及合法性。 |
22006 | 应用程序 ID 不合法。 | 检查 AppId 是否正确。 |
22007 | 应用程序 Key 不合法。 | 检查 AppKey 是否正确。 |
22022 | 应用程序 package name 不合法。 | 检查包名是否正确。 |
22102 | 发送应用通知消息失败。 | 稍后重试。 |
26003 | 消息 Push 内部调用失败。 | 稍后重试。 |
26004 | 广播消息发送太频繁。 | 降低广播消息频率。 |
26005 | account 设置太频繁而被禁止。 | 降低 account 设置频率。 |
26006 | 发送需要审核。 | 及时审核消息内容。 |
27001 | channel 相关信息不匹配。 | 检查 channel 配置是否正确。 |
65003 | 未找到 device(通常设备不在线)。 | 确认设备在线状态。 |
65006 | 别名设置太频繁而被禁止。 | 降低别名设置频率。 |
65007 | 别名在黑名单中。 | 更换别名或联系技术支持。 |
65008 | 别名长度太长。 | 缩短别名长度。 |
65009 | 消息内容太长。 | 缩短消息内容。 |
65010 | 主题长度太长。 | 缩短主题长度。 |
65011 | 未提供参数。 | 补全必要参数。 |
65012 | 别名为空。 | 提供有效的别名。 |
65013 | 主题为空。 | 提供有效的主题。 |
65014 | 键值对数目太多。 | 减少键值对数量。 |
65015 | 键值对总长度太长。 | 缩短键值对总长度。 |
65016 | User account 为空。 | 提供有效的 User account。 |
65017 | User account 长度太长。 | 缩短 User account 长度。 |
65028 | 未查询到相应消息。 | 检查消息 ID 是否正确。 |
65029 | 远程服务异常。 | 稍后重试。 |
65030 | 构建 JSON 时出现异常。 | 检查 JSON 格式是否正确。 |
65035 | 主题数量太多。 | 减少主题数量。 |
65036 | Callback 参数太长。 | 缩短 Callback 参数。 |
65037 | Callback URL 太长。 | 缩短 Callback URL。 |
65038 | Callback URL 非法。 | 检查 Callback URL 格式。 |
65040 | 注销失败。 | 稍后重试。 |
65041 | ImeiMd5 为空。 | 提供有效的 ImeiMd5。 |
65042 | ImeiMd5 不合法。 | 检查 ImeiMd5 格式是否正确。 |
66006 | 注册失败(安卓设备注册异常)。 | 检查设备注册流程。 |
66007 | regId 非法(格式不正确)。 | 检查 regId 格式。 |
66008 | 不合法的请求。 | 检查请求合法性。 |
66108 | 发送的参数信息不合法。 | 检查参数信息。 |
66109 | regSecret 无效。 | 检查 regSecret 是否正确。 |
66300 | 未知的命令。 | 检查接口及命令名称。 |
66301 | 执行命令出错。 | 稍后重试。 |
66303 | 小米 ID 为空。 | 提供有效的小米 ID。 |
66304 | 小米 ID 太长。 | 缩短小米 ID。 |
66305 | 不合法的小米 ID(格式不正确)。 | 检查小米 ID 格式。 |
66306 | 关闭或打开 Push 失败。 | 稍后重试。 |
66307 | 删除定时任务 Job 时传入的消息 ID 无效。 | 检查消息 ID。 |
66308 | 打分服务请求参数无效。 | 检查请求参数。 |
70011 | 输入为空。 | 提供有效输入。 |
70012 | JobKey 格式不合法。 | 检查 JobKey 格式。 |
200001 | 推送数量超过当日限额。 | |
200002 | 推送 QPS 超过限额。 |
错误码 | 错误描述 | 处理建议 |
-5 | 获取 Token 任务失败。 | |
502 | 请求连接异常,常见于网络状况不稳定。 | |
503 | 流量控制。 | |
6003 | 指纹证书配置不一致。 | 确认证书指纹端云配置一致。客户端应用打包的证书和在 AppGallery Connect 网站上给应用配置的“SHA256 证书指纹”一致,详情请参见 开发准备 。HMS Core(APK)会缓存签名文件,需在“应用管理”中找到 HMS Core(APK)清理掉缓存数据,然后重新打开您的应用尝试之前的操作。 |
6004 | 接口鉴权时,权限不存在。 | 详情请参见 开发准备 ,检查当前应用是否已经正常打开相关服务。如果您还未申请,请完成开启。如果您已经申请,建议将需要申请的服务项所在开关关闭并重新开启。该配置项操作后需等待30min 左右,同时手机客户端清除 HMS Core 的缓存后,重启手机测试。清除 HMS Core 缓存的方法:依次点击“手机设置 >应用 > 应用管理 > HMS Core”,进入后,点击存储,将数据和缓存均清除。 |
80100003 | 消息结构体错误。 | 通过响应消息中的提示,请检查消息结构体的参数并修改。 |
80100016 | 消息体中带有敏感词汇。 | 请检查发送消息内容。 |
80300002 | 下发消息给指定的用户(Token)报无权限。 | 登录 AppGallery Connect 网站,查看推送服务状态是否已开通。如果您使用 OAuth 2.0 开放鉴权(客户端模式)获取 Access Token 作为鉴权信息,集成的是 SDK 2.0 版本,请把获取到的 Access Token 里的转义字符(\\)去掉后再进行 URL Encode 编码。检查用户的 Token 与鉴权令牌使用的应用或项目信息是否一致。如果您的应用在国内推送正常,而在海外服务器返回 80300002 错误码,则您需要开通海外的 Push 权益。具体操作:登录 AppGallery Connect 网站,选择“开发与服务”。在项目列表中找到您的项目,在项目下的应用列表中选择需要开通海外 Push 权益的应用。前往“项目设置>API 管理”,关闭 Push 服务,重新启用推送服务。说明。如果只开通推送服务,请您先去应用市场上传一个 APK,保存草稿状态即可,否则重新添加的时候您可能无法找到原来的应用。请检查发送消息体中内容是否有输入错误。您可先在推送运营平台先推送消息测试下,如果成功,则表明您在调用接口时出错。在多发送者场景下,请检查 接口原型 。 |
80300007 | 指定的 Token 无效。 | 同一个设备,不同应用的 Token 原则上是不一样,但实际操作时可能误传递同样的值。客户端应用配置的应用包名、应用 ID 与 AppGallery Connect 网站上申请的不一致。如果您使用 OAuth 2.0开放鉴权(客户端模式)获取 Access Token 作为鉴权信息,检查获取 access_token 的 URL 是否正确。如果是基于服务账号生成鉴权令牌(JSON Web Token)方式,请确认发送的用户 Token 的应用归属于服务账号对应的项目。检查消息发送的 URL 是否正确。终端设备未安装 HMS Core(APK)或已安装的 HMS Core(APK)版本过低,请在华为应用市场手动搜索 HMS Core 安装后再测试。 |
907122036 | 没有开通推送权益。 | |
907122046 | Push 服务不可用。 | |
907122047 | 通用错误码。 | |
907122054 | Push SDK 自动初始化中,请稍后重试操作。 | 终端设备未安装 HMS Core(APK)或已安装的 HMS Core(APK)版本过低,请在华为应用市场手动搜索 HMS Core 安装后再测试。 |
907122069 | 不支持子用户操作。 | 仅终端设备机主可以使用,请切换到机主用户后使用。 |
907135000 | 传入的参数错误。 | 请检查“agconnect-services.json”文件中的 app_id、package_name 参数是否正确。请检查“build.gradle”文件中证书签名是否配置。有可能是 HMS Core(APK)缓存导致的,请卸载并重新更新 HMS Core(APK),然后断开网络再连接,再打开应用。建议用华为终端先测试,华为推送会依赖 HMS Core(APK),在华为手机上都会预装这个应用,非华为手机上没有预装。 |
907135003 | SDK 连接 HMS Core(APK)失败。 | 有可能 HMS Core 进程被终止或者崩溃了,导致连接失败,请您稍后再试。有可能是终端设备未安装 HMS Core(APK)或已安装的 HMS Core(APK)版本过低,请在华为应用市场手动搜索 HMS Core 安装后再测试。 |
907135700 | 调用网关查询应用 Scope 失败。 | 如果您的应用集成的 Push SDK 是2.5.2.0版本,请检查一下配置 appid 的地方,去掉 appid,如果不是2.5.2.0这个版本则无需关注。在“应用管理”里找到 HMS Core(APK)并卸载掉(如果“应用管理”里边查不到,可以点击“应用管理”右上角的图标,通过“显示系统进程”来查找),如果应用正确集成了 Push SDK ,打开应用后会提示下载 HMS Core(APK),安装后再测试,如果没正确集成请在华为应用市场手动搜索 HMS Core 安装后再测试。登录 AppGallery Connect 网站,查看 Push 服务状态是否已开通。检查网络状况是否正常,建议您使用移动数据网络测试。 |
907135701 |
错误码 | 错误描述 | 处理建议 |
-1 | 服务不可用,请开发者稍后再试。 | 稍后重试。 |
-2 | 本地错误。 | 检查本地错误信息。 |
11 | 无此 API 调用权限,开发者权限不足。 | 检查开发者权限。 |
12 | HTTP 方法不正确。 | 使用正确的 HTTP 方法。 |
13 | 应用调用次数超限,包含调用频率超限。 | 降低调用频率。 |
14 | 无效的 AppKey 参数。 | 检查 AppKey 参数。 |
15 | 缺少 AppKey 参数。 | 提供 AppKey 参数。 |
16 | 请求异常。 | 检查签名是否正确。 |
17 | 请求异常。 | 检查签名参数。 |
18 | 请求异常。 | 检查时间戳参数。 |
19 | 请求异常。 | 检查时间戳格式。 |
20 | 不存在的方法名。 | 检查方法名是否正确。 |
21 | 缺少方法名参数。 | 提供方法名参数。 |
22 | 缺少版本参数。 | 提供版本参数。 |
23 | 非法的版本参数,用户传入的版本号格式错误,必须为数字格式。 | 版本号必须为数字格式。 |
24 | 不支持的版本号,用户传入的版本号没有被提供。 | 使用支持的版本号。 |
25 | 编码错误,一般是用户做 HTTP 请求的时候没有用 UTF-8 编码请求造成。 | 使用 UTF-8 编码进行请求。 |
26 | IP 黑名单。 | 检查 IP 是否被列入黑名单。 |
40 | 缺少必选参数 ,API 文档中设置为必选的参数是必传的,请仔细核对文档。 | 提供所有必选参数,参见 API 文档。 |
41 | 参数错误,一般是用户传入参数非法引起的,请仔细检查入参格式、范围是否一一对应。 | 检查参数格式和范围是否正确。 |
错误码 | 错误描述 | 处理建议 |
10000 | 权限认证失败。 | 确认请求头中是否包含 authToken,缺失则需调用 推送鉴权接口 获取正确的 authToken。 authToken 使用错误,不是鉴权接口返回的 authToken。 authToken 过期失效,authToken 有效期默认为1天,过期后无法使用。 |
10006 | 别名长度超过70个字符。 | 请检查别名长度,不能超过70个字符(中英文都只算一个字符)。 |
10043 | 该应用已关闭 push 通道。 | |
10045 | 应用审核中不可发送正式消息。 | |
10050 | alias 和 regId 不能都为空。 | alias 和 regId 不能为空 alias 和 regId 至少二选一传递参数。 |
10051 | classification 暂不支持该消息类型。 | 请选择已支持的消息类型,取0或1。 0:运营类消息。 1:系统类消息。 不填默认为0。 |
10054 | notifyType 不合法。 | 请输入正确的 notifyType,值范围: 1~4。 1:无。 2:响铃。 3:振动。 4:响铃和振动。 |
10055 | title 不能为空。 | 请检查 title 字段,不能为空。 |
10056 | title 长度不能超过40个字符。 | 请检查 title 长度,不能超过40个字符(中英文都只算一个字符)。 |
10057 | content 不能为空。 | 请检查 content 字段,不能为空。 |
10058 | content 长度不能超过100个字符。 | 请检查 content 长度,不能超过100个字符(中英文都只算一个字符)。 |
10059 | timeToLive 不合法。 | 请输入正确的 timeToLive,取值至少60秒,最长1天,超过1天默认设置为1天。当值为空时,系统消息默认1天,运营消息默认8小时。 |
10060 | skipType 不合法。 | 请输入正确的 skipType,值范围:1~4。 |
10061 | skipType = 2,skipContent 不能为空。 | 传入的 skipType 为2,请检查 skipContent 不能为空且小于等于2048个字符。 |
10062 | skipType = 2,skipContent 不能超过2048个字符。 | 传入的 skipType 为2,请检查 skipContent 不能为空且小于等于2048个字符。 |
10063 | skipType = 3,skipContent 不能为空。 | 传入的 skipType 为3,请检查 skipContent 不能为空且小于等于2048个字符。 |
10064 | skipType = 3,skipContent 不能超过2048个字符。 | 传入的 skipType 为3,请检查 skipContent 不能为空且小于等于2048个字符。 |
10065 | networkType 不合法。 | 请输入正确的 networkType,值取-1或1。 网络方式: -1:不限。 1:Wi-Fi 下发送。 不填默认为-1。 |
10067 | 自定义 key 和 value 键值对不合法。 | 请检查自定义 key 和 value 键值对长度,key 和 Value 键值对总长度不能超过1024字符。 |
10068 | skipType = 4,skipContent 不能为空。 | 传入的 skipType 为4,请检查 skipContent 不能为空且小于等于2048个字符。 |
10069 | skipType = 4,skipContent 不能超过2048个字符。 | 传入的 skipType 为4,请检查 skipContent 不能为空且小于等于2048个字符。 |
10070 | 运营消息发送量总量超出限制。 | |
10071 | 超出发送时间允许范围。 | |
10072 | 推送速度过快,请稍后再试。 | |
10073 | 系统消息发送量总量超出限制。 | |
10082 | 系统消息开关未打开。 | |
10092 | profileId 长度超过限制。 | 请检查 profileId 长度,不能超过64个字符。 |
10094 | 鉴权码与请求体对应的 appId 不一致。 | authToken 对应的 appId 与请求参数中 appId 不一致。 |
10095 | notifyId 非法。 | 请检查 notifyId,值范围:1~2147483647。 |
10096 | category 错误。 | |
10097 | category 与 classification 不对应。 | category 与 classification 不对应,例如:category 传 NEWS,classification 传1:系统类消息。 |
10103 | 推送内容含敏感信息。 | |
10104 | 请发送正式消息。 | |
10150 | aliases 和 regIds 不能都为空。 | aliases 和 regIds 至少二选一传递参数。 |
10151 | taskId 不能为空。 | |
10152 | taskId 不合法。 | |
10153 | regIds 个数不在指定范围[2-1000]。 | 请检查 regIds 字段,个数需大于等于2小于等于1000(包体不能超过请求总包体的大小)。 |
10154 | aliases 个数不在指定范围[2-1000]。 | 请检查 aliases 字段,个数需大于等于2小于等于1000。 |
10155 | 消息不存在或已过期。 | 该 taskId 保存的消息体已过期,请调用 保存群推消息公共体接口 重新创建消息。timeToLive 为消息缓存时间,单位是秒。取值至少900秒,最长1天,超过1天默认设置为1天。当值为空时,系统消息默认1天,运营消息默认8小时。 |
10200 | appId 不能为空。 | |
10201 | appKey 不能为空。 | |
10202 | appKey 不合法。 | |
10203 | timestamp 不能为空。 | 请检查 timestamp 字段,不能为空。 |
10204 | sign 不能为空。 | 请检查 sign 字段,不能为空。 |
10205 | appId 不存在。 | |
10206 | sign 不正确。 | |
10207 | timestamp 不合法。 | 检查传入的 timestamp 是否在当前 UTC 时间戳前后十分钟区间内。请传入正确的 timestamp,单位毫秒(即13位),建议传入当前 UTC 时间。 |
10252 | 批量发送消息体超出限制。 | |
10255 | 全量推送接口未开放。 | |
10301 | alias 长度不能超过70个字符。 | 请检查 alias 字段,不能超过70个字符(中英文都只算一个字符)。 |
10302 | regId 不合法。 | 提示“ regId 不合法”说明找不到这个 regId,单推接口返回有 invalidUser 字段,可以根据 status 看下不合法 regId 原因,status 有3种情况: userid 不存在。 卸载,或主动触发解订阅,或用户清除数据(用户清除数据会使客户端 SDK 触发解订阅)。 非测试用户,该用户未加入测试设备集,详情请参见:测试消息使用说明。 |
10304 | extra 包含不支持的 key。 | |
10305 | extra callback 长度超限。 | callback 长度不能超过128个字符。 |
10306 | extra callback.param 长度超限。 | callback.param 长度不能超过192个字符。 |
10307 | alias 不合法。 | alias 为无效的 alias, alias 可能已经失效。 |
10311 | 该设备当前无法推送。 | 请排查以下原因: 设备通知权限未打开。 设备不活跃。 |
10352 | requestId 不能为空。 | 请检查 requestId 字段, 不能为空。 |
10353 | requestId 长度不能超过 64 个字符。 | 请检查 requestId 字段, 不能超过 64 个字符。 |
10471 | taskIds 数量不能超过 100 个。 | 请检查 taskIds 格式是否正确,应为:由多个 taskId 组成的字符串,多个 taskId 之间用逗号分隔,一次最多查询100个。 |
10472 | taskIds 格式错误。 | 请检查 taskIds 格式是否正确,应为:由多个 taskId 组成的字符串,多个 taskId 之间用逗号分隔,一次最多查询100个。 |
10473 | taskIds 为空。 | 请检查 taskIds 格式是否正确,应为:由多个 taskId 组成的字符串,多个 taskId 之间用逗号分隔,一次最多查询100个。 |
10600 | name 参数不合法。 | name 参数只能使用中文、英文字母、阿拉伯数字和下划线命名,且不能以数字开头,且长度不超过50字符。 |
10601 | 标签名字不能为空。 | 请检查标签名字字段, 不能为空。 |
10602 | 标签描述不能超过300字符。 | 请检查标签描述字段, 不能超过300字符。 |
10603 | oldName 参数不能为空。 | 请检查 oldName 字段, 不能为空。 |
10604 | newName 参数不能为空。 | 请检查 newName 字段, 不能为空。 |
10605 | oldName 参数不合法。 | oldName 或 newName 只能使用中文、英文字母、阿拉伯数字和下划线命名, 且不能以数字开头,且长度不超过50字符。 |
10606 | newName 参数不合法。 | oldName 或 newName 只能使用中文、英文字母、阿拉伯数字和下划线命名, 且不能以数字开头,且长度不超过50字符。 |
10608 | type 参数不能为空。 | 请检查 type 字段, 不能为空。 |
10609 | ids 参数不能为空。 | 请检查 ids 字段, 不能为空。 |
10610 | 标签名已经存在。 | 原名称已存在, 请修改名称后重新调用请求。 |
10611 | 标签分类名已经存在。 | 原名称已存在, 请修改名称后重新调用请求。 |
10612 | 标签组合名已经存在。 | 原名称已存在, 请修改名称后重新调用请求。 |
10613 | group 参数不合法。 | 只能使用中文、英文字母、阿拉伯数字和下划线命名, 且不能以数字开头,且长度不超过50字符。 |
10614 | ids 数量不能超过1000。 | 请检查 ids 字段, 数量不能超过1000。 |
10615 | tag 数量不能超过100。 | 请检查 tag 字段, 数量不能超过100。 |
10616 | type 参数不合法。 | 标签分类类型: 1是普通标签。 2是互斥标签。 请检查 type 参数是否为1或2。 |
10700 | userids 不能为空。 | 请检查 userids 字段, 不能为空。 |
10701 | userid 个数超过限制。 | 请检查 userids 字段, 数量不能超过限制。 |
10703 | 超过上限,稍后再试。 | 调用接口超过频次限制,请稍后再试。 |
10704 | requestId 长度不能超过 64 个字符。 | 请检查 requestId 字段, 不能超过 64 个字符。 |
10706 | userType 错误。 | 用户类型。 1:regId。 2:alias。 请检查 type 参数是否为1或2。 |
10800 | registration_tokens 个数不在指定范围。 | 请检查 registration_tokens 字段, 数量不能超过100。 |
10801 | notification 不能为空。 | 请检查 notification 字段, 不能为空。 |
10802 | original_source_name 不能为空。 | 请检查 original_source_name 字段, 不能为空。 |
10803 | original_source_name 长度非法。 | 请检查 original_source_name 字段, 不能超过128个字符。 |
10804 | original_source_ip 不能为空。 | 请检查 original_source_ip 字段, 不能为空。 |
10806 | click_action 非法。 | 请检查 click_action 字段, url 和 intent 不能同时为空。 |
10807 | url 长度超过限制。 | 请检查 url 字段, 不能超过 1024 个字符。 |
10808 | intent 长度超过限制。 | 请检查 intent 字段, 不能超过 1024 个字符。 |
错误码 | 错误描述 | 处理建议 |
500 | 其他异常。 | 请稍后重试。如持续出现,请联系魅族技术支持排查。 |
1001 | 系统错误。 | 服务端内部异常,建议稍后重试。频繁出现请联系魅族技术支持。 |
1003 | 服务器忙。 | 服务器过载,请降低请求频率,稍后重试。 |
1005 | 参数错误,请参考 API 文档。 | 检查请求参数是否符合 API 文档要求,确认字段名、格式、必填项正确。 |
1006 | 签名认证失败。 | 检查 appKey/appSecret 是否正确;确认签名算法和参数排序与文档一致。 |
110000 | AppID 不合法。 | 确认 AppID 已在魅族推送平台正确注册,检查是否拼写错误。 |
110001 | appKey 不合法。 | 确认 appKey 与魅族推送平台分配的一致,检查是否过期或被重置。 |
110004 | 参数不能为空。 | 检查必填参数是否为空;确保 pushId/alias/title/content 等必填字段已传值。 |
110009 | 应用被加入黑名单。 | 应用违规被封禁,请检查推送内容是否合规,联系魅族平台申诉解封。 |
110010 | 应用推送速率过快。 | 降低推送频率,遵守魅族推送速率限制,实施请求限流策略。 |
110053 | 透传超过限制。 | 透传消息数量已达上限,减少透传消息发送频次,或调整为通知栏消息。 |
201 | 没有权限,服务器主动拒绝。 | 检查应用是否已开通推送权限;确认 appKey 和 appSecret 匹配且有效。 |
501 | 推送消息失败(db_error)。 | 服务端数据库异常,建议稍后重试;持续失败请联系魅族技术支持。 |
513 | 推送消息失败。 | 通用推送失败,请检查消息格式和参数是否正确,稍后重试。 |
519 | 推送消息失败,服务过载。 | 服务端过载,降低发送频率,实施退避重试策略。 |
520 | 消息折叠(1分钟内同一设备同一应用消息收到多次,默认5次)。 | 短时间内对同一设备发送过多消息被折叠,建议合并消息或降低同设备推送频率。 |
110002 | pushId 失效( pushId 未订阅)。 | pushId 已失效或未订阅,清理无效 pushId,重新获取设备 pushId。 |
110003 | pushId 非法。 | pushId 格式不正确,检查 pushId 来源和格式是否合法。 |
110005 | alias 失效( alias 未订阅或者消息开关关闭)。 | alias 未订阅或用户关闭了消息开关,确认 alias 绑定状态,引导用户开启消息通知。 |
110010 | pushId 失效(消息开关关闭)。 | pushId 因用户关闭消息开关而失效;确认设备消息开关状态;引导用户开启消息通知。 |
错误码 | 错误描述 | 处理建议 |
400 | 参数错误。 | 请检查响应内容错误码并根据错误码进一步排查问题。 |
403 | 鉴权不通过 | 请检查 Access Token 是否正确。 |
404 | 找不到服务。 | 请检查请求 URI 是否正确。 |
500 | 服务内部错误。 | 请自行检查请求方式及请求报文格式是否与文档一致,检查后仍未解决,请联系技术支持。 |
502 | 请求连接异常,常见于网络状况不稳定。 | 建议稍后重试。 |
503 | 请求超过限频,稍后重试。 | 超出最大 QPS 限制(单应用统一3000),请稍后再试。 |
80100000 | 部分 Token 发送成功,返回的 failTokens 为发送失败的 Token。 | 请检查返回值中发送失败的 Push Token。 |
80100003 | 消息结构体错误。 | 按照响应消息中的提示,请检查消息结构体的参数。 |
80300006 | 设备 Token 重复了。 | 请检查是否有重复的 Push Token。 |
80300007 | 所有 Push Token 都是无效的。 | 同一个设备,不同应用的 Push Token 原则上是不一样,但实际操作时可能误传递同样的值。客户端应用配置的应用包名、应用 ID 与申请的不一致。检查获取 access_token 的 URL 是否正确。检查消息发送的 URL 是否正确。 |
80300008 | 消息体大小超过系统设置的默认值(4096Bytes)。 | 请求消息体大小超过默认值,请减小消息体后重新发送消息。 |
80300010 | 每次推送 Push Token 数量不能超过1000。 | 请检查 Push Token 数量是否超过1000。 |
80200020 | receiptId 不匹配。 | receiptId 不匹配,请检查。 |
80200022 | 应用无权限发送该类型消息。 | 请检查资讯营销类消息是否设置了 image 字段,该字段仅支持在服务通讯类消息中使用。 |
80200047 | 测试消息达到当天上限。 | 请发送正式消息或隔天再试。 |
80200050 | 资讯营销类消息不支持 image 字段。 | 请检查资讯营销类消息是否设置了 image 字段,该字段仅支持在服务通讯类消息中使用。 |
80200056 | 消息标题或内容包含敏感信息。 | 请检查消息标题和内容。 |
10001 | 时间戳为空。 | 请检查 timestamp。 |
10207 | timestamp 不合法。 | 请获取当前有效的 timestamp 及检查 timestamp 是否合法。 |
10300 | 设备 Token 为空。 | 请填写 Push Token。 |
10205 | appId 不存在。 | appId 不存在,请检查。 |
错误码 | 错误描述 | 处理建议 |
100000 | 其他类型错误。 | 具体看错误描述。 |
100001 | 无效的 APNs 证书或者 auth key。 | 检查证书或者 auth key 是否有效。 |
100002 | 请求中存在非法的参数。 | 检查请求参数是否正确。 |
100003 | 单设备维度请求超过限频。 | 降低消息发送频率。 |
100004 | 证书不匹配。 | 检查证书是否正确。 |
100005 | 没找到设备 token。 | 检查设备 token 是否有效。 |
100006 | 服务暂不可用。 | 请稍后重试。 |
错误码 | 错误描述 | 处理建议 |
400 | BadCollapseId:折叠标识符超过最大允许大小。 | 检查 collapse_id 长度限制。 |
400 | BadDeviceToken:指定的设备令牌无效。 | 验证令牌有效性和环境匹配。 |
400 | BadExpirationDate:apns-expiration 值无效。 | 检查 apns-expiration 值格式。 |
400 | BadMessageId:apns-id 值无效。 | 检查 apns-id 值格式。 |
400 | BadPriority:apns-priority 值无效。 | 检查 apns-priority 是否合法。 |
400 | BadTopic:apns-topic 值无效。 | 检查 apns-topic 值。 |
400 | DeviceTokenNotForTopic:设备令牌与指定主题不匹配。 | 验证设备令牌与主题匹配。 |
400 | DuplicateHeaders:一个或多个请求头重复。 | 检查是否有重复请求头。 |
400 | IdleTimeout:空闲超时。 | 检查连接保活;重新连接。 |
400 | InvalidPushType:apns-push-type 值无效。 | 检查 apns-push-type 值。 |
400 | MissingDeviceToken:请求 path 中未指定设备令牌。 | 验证 path 头包含设备令牌。 |
400 | MissingTopic:缺少 apns-topic 头(多主题证书时必须)。 | 添加 apns-topic 头。 |
400 | PayloadEmpty:消息负载为空。 | 确保负载非空。 |
400 | TopicDisallowed:不允许向该主题推送。 | 检查主题推送权限。 |
403 | BadCertificate:证书无效。 | 检查 APNs 证书有效性。 |
403 | BadCertificateEnvironment:客户端证书与环境不匹配。 | 证书与推送环境(开发/生产)匹配。 |
403 | ExpiredProviderToken:提供者令牌已过期。 | 生成新的提供者令牌。 |
403 | Forbidden:指定的操作不被允许。 | 检查操作权限。 |
403 | InvalidProviderToken:提供者令牌无效或签名验证失败。 | 验证提供者令牌有效性和签名。 |
403 | MissingProviderToken:缺少提供者证书或 authorization 头。 | 添加提供者证书或 authorization 头。 |
403 | UnrelatedKeyIdInToken:令牌中的 Key ID 与首次推送不匹配。 | 为该令牌打开新连接。 |
403 | BadEnvironmentKeyIdInToken:令牌中的 Key ID 与环境不匹配。 | 将 Key ID 与推送环境匹配。 |
404 | BadPath:请求包含无效的 path 值。 | 检查请求路径。 |
405 | MethodNotAllowed:请求方法不是 POST。 | 使用 POST 方法。 |
410 | ExpiredToken:设备令牌已过期。 | 清理设备令牌,等待重新注册。 |
410 | Unregistered:设备令牌对指定主题不活跃。 | 停止推送,除非应用获取到相同令牌。 |
413 | PayloadTooLarge:消息负载过大。 | 减小负载大小。 |
429 | TooManyProviderTokenUpdates:提供者认证令牌更新过于频繁。 | 每20分钟最多更新一次认证令牌。 |
429 | TooManyRequests:对同一设备令牌请求过多。 | 降低对同一设备令牌的请求频率。 |
500 | InternalServerError:内部服务器错误。 | 稍后重试。 |
503 | ServiceUnavailable:服务不可用。 | 稍后重试。 |
503 | Shutdown:APNs 服务器正在关闭。 | 稍后重试,等待服务恢复。 |
厂商回执错误码
说明:
此处仅列出各厂商回执阶段常见错误码作为参考,如有疑问,请自行咨询对应厂商。
Google FCM 及 Apple APNs 协议原生不支持厂商回执机制。
错误码 | 错误描述 | 处理建议 |
16 | 目标设备无效(设备超30天未联网 / alias / user account / regID 不正确 / App 未注册或已卸载/发送目标区域有误等)。 | 建议做过滤处理,以减少对这些用户的无效推送。 |
32 | 客户端调用了 disablePush 接口禁用 Push。 | 停止向该设备推送。 |
64 | 目标设备不符合过滤条件(网络 / 地理位置 / App 版本 / 机型 / 地区语言不符合等)。 | 检查推送条件过滤设置。 |
128 | 当日推送总量超限或单设备接收超限。 | |
1024 | 消息有效期 TTL 过期。 | 调整消息 TTL 时间或加快推送速度。 |
错误码 | 错误描述 | 处理建议 |
2 | 应用未安装。 | 成功发送到设备后发现应用不存在,通常表示应用已卸载。 |
5 | 指定的 Token 在当前 Android 终端用户下不存在。 | Android 终端收到 App 的 Push 消息,但 Push 消息带的 Token 与本地 App 的 Token 不一致。请排查以下几种原因: 终端用户清除了本地 App 数据或终端用户通过卸载再安装的方式更新了本地 App。 您在 App 中调用 Push SDK 的 deleteToken 方法删除了本地 App 的 Token。 终端设备恢复出厂设置后终端用户重新进入预安装 App 或者重新安装并进入 App。 Android 终端收到 App 的 Push 消息,但检查本地数据存储中并没有 App 的 Token。请排查以下两种原因: App 未激活。 终端用户创建过子用户,后又将子用户删除。 |
6 | 通知栏消息不展示。 | |
10 | 非活跃设备。 | 设备为非活跃设备(终端设备未接入网络达30天),消息不进行下发。 |
14 | 其它错误。 | 系统内部网络异常。 |
15 | 离线用户消息管控。 | 设置了离线用户消息覆盖(服务端 API 中的 collapse_key)功能,消息被覆盖掉了,未下发到设备;离线消息最多缓存120条,超过后旧消息被新消息覆盖。 |
22 | userID 不匹配。 | 多用户场景,下发消息中的 userID 与当前实际用户不匹配。 |
27 | 在终端设备上目标应用进程不存在导致透传消息被缓存。 | 目标应用进程不存在且应用启动管理关闭自启动和关联启动的情况下,透传消息将被缓存。 |
31 | 系统版本或应用不支持该消息。 | 请确认目标应用是否支持该消息。如下几种情况不支持该消息;目标应用中不存在 Intent 中指向的页面;目标应用中的 activity 有权限保护;推送服务版本低于 11.1.2.300 且目标应用中的 activity 设置了 exported 为 false;尝试升级推送服务(EMUI 9.1.0 以下不支持升级)。 |
51 | 终端设备处于开机未解锁状态。 | 用户重启终端设备后,点亮屏幕未解锁。 |
102 | 消息频控丢弃。 | 每天向某个设备上某个应用最多可发送3000条消息,超过3000条后当天无法向该设备的该应用继续发送消息,请超过零点后再发送消息。 |
144 | profileId 不存在。 | 发送下行消息时请检查 profile_id 字段。 |
201 | 消息发送管控。 | 消息被 Push 服务端管控不下发,建议做过滤处理减少无效推送。可能的原因;消息中指定的 Token 与设备当前登录的用户无法匹配;用户关闭了显示通知栏消息;应用被卸载。说明:您可以根据 subStatus 字段来确定消息是由于何种原因被管控。 |
256 | 资讯营销类消息频次限制。 | 可能的原因: 您当日的发送量超出资讯营销类消息的限制,请您调整发送策略。 违反 通知消息管理规则,被停止发送资讯营销类消息,或所有消息被归类为资讯营销类消息。 |
错误码 | 错误描述 | 处理建议 |
1 | regid_invalid:无效 RegistrationID。 | 接收到“无效 RegistrationID ”事件回执后,开发者可以进行剔除或者过滤处理,减少无效推送。 |
1 | user_daily_limit:单应用单设备限量。 | 当日接收到“单应用单设备限量”事件回执后,开发者可以优化推送策略,减少无效推送。 |
错误码 | 错误描述 | 处理建议 |
100 | subAckType=11001: 管控 - 推送量级超限。 | 降低推送量级。 |
100 | subAckType=12000: 管控 - 单应用单用户频次限制。 | 降低单用户推送频次。 |
100 | subAckType=10012: 管控 - 消息过期。 | 调整消息有效期 TTL。 |
100 | subAckType=14002: 管控 - 在线直推时设备离线丢弃。 | 设备在线后重试。 |
100 | 管控 - 管控其他,包括不在推送时间、版本不支持等。 | 检查推送时间和设备版本。 |
101 | 消息审核不通过。 | 检查消息内容合规性。 |
102 | subAckType=20001: 不匹配 - 用户未订阅。 | 清理未订阅用户。 |
102 | subAckType=20002: 不匹配 - 用户不存在。 | 清理不存在的用户。 |
102 | 清理不活跃设备。 | |
102 | 不匹配 - 不匹配其他。 | 检查目标用户有效性。 |
103 | 离线消息被覆盖。 | 正常行为;调整消息策略。 |
104 | subAckType=1017: 未展示 - 运营消息在夜间23:00~早上07:00不展示。 | 在静默时间段外发送。 |
104 | subAckType=2124: 未展示 - 内容和标题完全相同的运营消息;注:同一天内给同一个用户发送标题和内容相同的运营消息,只会展示一条消息。 | 同一天内使用不同的标题/内容。 |
104 | subAckType=2144: 未展示 - 消息已过了有效期。 | 调整消息有效期 TTL。 |
104 | subAckType=2158: 未展示 - deeplink 跳转参数错误。 | 检查 deeplink 配置。 |
104 | subAckType=2161: 未展示 - 被拉起 activity 非导出。 | 设置 activity exported=true。 |
104 | subAckType=2162: 未展示 - 被拉起 activity 未找到。 | 检查应用中 activity 是否存在。 |
104 | 从客户端重新获取 regId。 | |
104 | ||
104 | 未展示 - 未展示其他。 | 检查通知权限和配置。 |
错误码 | 错误描述 | 处理建议 |
40000003 | 目标应用不存在(未安装)。 | 清理该 Token。 |
40000004 | 指定的 Token 在终端用户下失效或不存在。 | 检查 Token 是否有效,用户可能清除了数据或重新安装。 |
40000005 | 目标应用通知栏开关被关闭,无通知栏展示权限。 | 引导用户开启通知权限。 |
40000006 | 目标应用在终端设备被禁用或停用。 | 检查设备上应用状态。 |
40000007 | 通知栏消息被点击。 | 不涉及(正常状态)。 |
40000009 | 消息因系统原因丢弃,展示失败。主要的原因可能是消息发送数量超过配额。 | |
40000011 | 通知栏跳转目标应用页面失败。一般由于指定的目标页面不存在或者无权限打开该页面。 | 检查目标页面是否存在且有权限。 |
40000013 | 通知消息被管控,表示手机处于息屏状态一段时间后,系统对电量优化的一种管控状态,当手机再次亮屏后,会重新下发消息。 | 息屏管控状态,亮屏后会重新下发。 |
40000014 | Token 指定的用户与终端设备当前用户不匹配。 | 检查 Token 对应的用户是否为当前 Android 用户。 |
40000015 | 通知栏展示失败,消息丢弃。(系统原因,通常是 Intent 校验不通过,超过通知栏展示上限等)。 | 检查 Intent 配置和控制通知栏展示数量。 |
50000003 | 在终端设备上目标应用进程不存在导致透传消息被缓存。 | 透传消息已缓存,等待应用进程启动。 |