腾讯IM离线推送接入以及排查

摘要:

1. 准备工作

    Android国内厂商碎片化严重,接入厂商的离线推送,能有效的节省用户的设备的耗电、流量等。本文腾讯IM SDK 接入华为推送为例,介绍一下其接入和离线推送的排查流程。需要具备以下条件

  • 华为开发者账号
  • 华为/荣耀手机真机

2. 将华为SDK接入APP

在华为 开发者连联盟开发服务中找到PUSH 服务,点击后创建对象的项目并开通推送服务

点击 添加应用,填写应用信息后,点击确定。会弹出应用接入指引.

按步骤操作即可

添加自己的证书,证书生成和配置参考下面的华为文档。

文档中心

添加配置完后,重新build将应用安装到真机上

找到推送服务,发一条推送进行测试

启动APP拿到token 

一切正常的话会受到下面的通知。

3.接入腾讯IM

填入信息

注意此处填入的是 OAuth 2.0客户端ID(凭据)

在APP 中调用

 示例代码

String APP_ID = "10000000";
try {
	String token = HmsInstanceId.getInstance( 
//Application    注意控制台的 ChannelID 和 这里的 第二个参数
App.getInstance().getApplicationContext() ).getToken( APP_ID, "HCM" );
	Log.i( TAG, "token = " + token );
	V2TIMManager.getOfflinePushManager().setOfflinePushConfig(
	        /* 控制台证书ID 20455 */
		new V2TIMOfflinePushConfig( 20455, token ), new V2TIMCallback()
		{
			@Override
			public void onSuccess()
			{
	        /* 离线上保存成功 */
				Log.i( TAG, "HMS OfflinePush success" );
			}

			@Override
			public void onError( int i, String s )
			{
	        /* 离线上报失败 */
				Log.e( TAG, "HMS OfflinePush error code: " + i + "  msg: " + s );
			}
		} );
	Log.i( TAG, token );
} catch ( ApiException e ) {
	e.printStackTrace();
}

 离线上报的话,可以用离线推送定位工具看一下

 

一切正常的话会收到一个来着腾讯im的推送。就可以了

4. 后台收到推送

应用后台获得状态,调用一下doBackground 和doForeground 就可以了,Demo有示例

TIMSDK/DemoApplication.java at master · tencentyun/TIMSDK · GitHub腾讯云即时通信 IM 服务,国内下载镜像:. Contribute to tencentyun/TIMSDK development by creating an account on GitHub.https://github.com/tencentyun/TIMSDK/blob/master/Android/Demo/app/src/main/java/com/tencent/qcloud/tim/demo/DemoApplication.java#L169

5. 收不到离线推送

1. 看一下厂商能推进来不

2. 看一下离线推送定位工具

3. 看一下sendMessage 有没有设置V2TIMOfflinePushInfo 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值