tencent cloud

文档反馈

常见问题

最后更新时间:2024-06-13 10:39:26

    Android

    收不到离线推送怎么排查?

    特殊情况排查

    OPPO 手机
    OPPO 手机收不到推送一般有以下几种情况:
    按照 OPPO 推送官网要求,在 Android 8.0 及以上系统版本的 OPPO 手机上必须配置 ChannelID,否则推送消息无法展示。配置方法可以参见 setAndroidOPPOChannelID
    OPPO 安装应用通知栏显示默认关闭,需要确认下开关状态。
    Google FCM
    收不到推送需要确认下 IM 控制台是否正确上传证书。排查路径参见文档 IM 控制台配置 > Google FCM,对照示意图看下是否添加正确。
    小米和 vivo
    小米和 vivo:需要上架应用市场后,才可以通过厂商通道进行下发。一般会提示:应用在黑名单中,禁止发送消息。或者,该 App 已关闭 push 通道。
    发送消息为自定义消息
    自定义消息的离线推送和普通消息不太一样,自定义消息的内容我们无法解析,不能确定推送的内容,所以默认不推送,如果您有推送需求,需要您在 sendMessage 的时候设置 offlinePushInfodesc 字段,推送的时候会默认展示 desc 信息。
    设备通知栏设置影响
    离线推送的直观表现就是通知栏提示,所以同其他通知一样受设备通知相关设置的影响,以华为为例:
    手机设置 > 通知 > 锁屏通知 > 隐藏或者不显示通知,会影响锁屏状态下离线推送通知显示。
    手机设置 > 通知 > 更多通知设置 > 状态栏显示通知图标,会影响状态栏下离线推送通知的图标显示。
    手机设置 > 通知 > 应用的通知管理 > 允许通知,打开关闭会直接影响离线推送通知显示。
    手机设置 > 通知 > 应用的通知管理 > 通知铃声手机设置 > 通知 > 应用的通知管理 > 静默通知,会影响离线推送通知铃音的效果。
    消息分类
    厂商推送都有消息分类机制,不同类型也会有不同的推送策略,详情请参见 推送消息分类
    厂商特性
    离线推送依赖厂商能力,一些简单的字符可能会被厂商过滤不能透传推送,建议使用有意义的内容进行推送。

    自助推送排查工具

    设备推送插件接入是否正常
    在 IM 控制台通过 离线测试工具 自测下是否可以正常推送。
    推送链路排查
    使用 排查工具 查看推送全链路推送详情。

    跳转界面不成功怎么排查?

    点击跳转配置检查

    详见 自定义点击跳转,检查:
    控制台配置点击后续动作按如下配置,选择打开应用内指定界面,插件用户会默认填写跳转参数,参数是否被修改。
    注册和回调处理点击事件,注册时机建议放在应用 Application 的 oncreate() 函数中,需要放在应用生命周期的靠前位置。
    点击回调处是否正确处理跳转逻辑。

    设备系统权限限制

    应用进程不存在,单击通知栏跳转到应用界面,需要将应用从后台拉取到前台,部分厂商系统会去检查 App 是否开启了后台自启动悬浮窗权限,不开启系统侧会拦截处理导致失败。
    不同厂商、同一厂商不同 Android 版本,其对于应用开放的权限以及权限名称会存在不一致。经测试,小米6只需要开启后台弹出界面权限,而红米需要同时打开后台弹出界面和显示悬浮窗权限,需要针对不同厂商不同处理。

    推送链路排查

    使用 排查工具 查看推送全链路推送详情。

    其他问题

    华为
    华为推送证书 ID <= 11344 ,使用华为推送 v2 版本接口,不支持触达和单击回执,如需要统计数据功能,请重新生成更新证书 ID 。
    AndroidInfo.ExtAsHuaweiIntentParam,传“1”表示将透传内容 Ext 作为 Intent 的参数,“0”表示将透传内容 Ext 作为 Action 参数。restapi 使用“1”暂时不支持点击事件统计。
    数据统计功能
    只会记录最后一个登录设备的推送数据详情,不支持多端登录场景。
    Debug 版本的 App 功能正常,Release 版本的 App 功能出现异常
    出现此问题很大概率是混淆导致的,可以添加如下混淆规则:
    -keep class com.tencent.qcloud.** { *; }
    -keep class com.tencent.timpush.** { *; }
    解决接入 TIMPush 和其他友商产生冲突问题
    原因是应用程序自身集成或者依赖的第三方推送客户端,与 TIMPush 中的第三方客户端产生冲突,需要仅保留一个使用。具体方法请参见:TIMPush 集成冲突解决

    iOS

    普通消息为什么收不到离线推送?

    首先,请检查下 App 的运行环境和证书的环境是否一致,如果不一致,收不到离线推送。
    其次,检查下 App 和证书的环境是否为生产环境。如果是开发环境,向苹果申请 deviceToken 可能会失败,生产环境暂时没有发现这个问题,请切换到生产环境测试。

    自定义消息为什么收不到离线推送?

    自定义消息的离线推送和普通消息不太一样,自定义消息的内容我们无法解析,不能确定推送的内容,所以默认不推送,如果您有推送需求,需要您在 sendMessage 的时候设置 offlinePushInfodesc字段,推送的时候会默认展示 desc 信息。

    如何关闭离线推送消息的接收?

    如果您想关闭离线推送消息的接收,可以通过设置 setAPNS 接口的 config 参数为 nil 来实现。该功能从5.6.1200 版本开始支持。

    收不到推送,且后台报错 bad devicetoken。

    Apple 的 deviceToken 与当前编译环境有关。如果 登录 IMSDK 后上传 deviceToken 到腾讯云 所使用的证书 ID 和 token 不一致,就会报错。
    如果使用的是 Release 环境编译,则 - application:didRegisterForRemoteNotificationsWithDeviceToken: 回调返回的是发布环境的 token,此时 businessID 需要设置生产环境的 证书 ID
    如果使用的是 Debug 环境编译,则 - application:didRegisterForRemoteNotificationsWithDeviceToken: 回调返回的是开发环境的 token,此时 businessID 需要设置开发环境的 证书 ID
    V2TIMAPNSConfig *confg = [[V2TIMAPNSConfig alloc] init];
    /* 用户自己到苹果注册开发者证书,在开发者帐号中下载并生成证书(p12 文件),将生成的 p12 文件传到腾讯证书管理控制台,控制台会自动生成一个证书 ID,将证书 ID 传入以下 busiId 参数中。*/
    //推送证书 ID
    confg.businessID = sdkBusiId;
    confg.token = self.deviceToken;
    [[V2TIMManager sharedInstance] setAPNS:confg succ:^{
    NSLog(@"%s, succ, %@", __func__, supportTPNS ? @"TPNS": @"APNS");
    } fail:^(int code, NSString *msg) {
    NSLog(@"%s, fail, %d, %@", __func__, code, msg);
    }];

    iOS 开发环境下,注册偶现不返回 deviceToken 或提示 APNs 请求 token 失败?

    此问题现象是由于 APNs 服务不稳定导致的,可尝试通过以下方式解决:
    1. 给手机插入 SIM 卡后使用4G网络测试。
    2. 卸载重装、重启 App、关机重启后测试。
    3. 打生产环境的包测试。
    4. 更换其它 iOS 系统的手机测试。

    iOS 没有收到触达回执

    1. 上报推送触达数据,需要开启控制台开关来支持 iOS 10 的 Extension 功能,详情请参见 统计推送抵达率
    2. 为保证上报数据在一些异常情况下不丢失,iOS 推送数据的上报会在下次登录时候才上报,可能会有滞后,请尝试重新登录。

    iOS 证书过期

    在 IM 控制台单击编辑对应证书,更新下 p12 证书即可。需要注意的是:请勿删除证书重新创建,重新创建证书 ID 会变化,需要发版本支持更新。

    iOS 统计上报功能

    上报推送触达数据,需要开启此开关来支持 iOS 10 的 Extension 功能,详情请参见 统计推送抵达率

    其他问题

    收不到推送,插件费用到期

    推送插件试用或购买到期后,将自动停止提供推送服务(包括普通消息离线推送、全员/标签推送等服务)。为避免影响您业务正常使用,请提前 购买/续费

    提供推送接入方法对比

    接入方法
    集成方式对比
    功能对比
    插件快速集成:
    不再需要逐个厂商填写配置,控制台下载引入 json 配置文件,即可完成所有手机厂商的推送信息配置;
    支持按需集成一个或者多个对应厂商的推送渠道包,更加满足合规要求;
    不需要客户处理推送注册、token 上报、前后台状态上报等,接入后插件自动闭环;
    不再需要关注和添加打点和上报逻辑,开启功能后插件自行上报和汇总,支持链路排查和指标统计等;
    插件封装界面跳转、图标自定义等方法,直接使用即可;
    普通消息推送
    全员标签推送
    自定义界面跳转
    推送自定义样式
    设备推送状态查询
    全链路排查工具
    推送记录和指标统计分析
    源码自行集成(不再支持维护,可能会存在推送失败、组件不适配等问题,待下架)
    普通消息推送
    文档自行集成
    普通消息推送

    交流与反馈

    欢迎加入腾讯云即时通信 IM 社群进行技术交流和反馈。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持