华为的Push接入
申请账号,开通Push功能就不说了。主要说一下华为Push的接入流程很可能遇到的问题。
在保证账号申请完成、push功能已开通的情况下。根据以下步骤来接入华为Push。
1、 下载HMS SDK Agent套件
要使用华为的Push功能,那么这个套件是必须要下载的,否则就只能自己去进行Push的调用了。没有相关的Api,操作难度不小,不建议。
下载完成以后,解压压缩包,通过里边的shell文件脚本来生成自己需要接入的HMS SDK Agent套件代码。
执行GetHMSAgent_cn.sh 脚本文件,通过提示选择要接入的功能。
如果在执行脚本的时候无任何提示,那么自己创建一个可执行的shell文件,复制进去执行即可,但是要放到这个文件夹下。
最后会在copysrc 文件夹下生成可导入项目中的代码。(建议直接把java 里边的整体复制,就不需要做任何处理了,清单文件配置根据AppManifestConfig.xml配置即可)
2、添加依赖包
在项目根目录bulid.gradle文件中allprojects-> repositories里面配置HMS SDK的maven仓。
allprojects {
repositories {
jcenter()
maven { url'http: //developer.huawei.com/repo/'}
}
}
在app文件夹下的build.gradle 中添加依赖
compile'com.huawei.android.hms:push:2.6.3.301'
重新编译项目。
编译失败,抓包查看.pom文件是否可以正常下载。
3、配置清单文件中需要添加的Receiver。
没有任何难度,照做就可以了。
4、以上流程以后接入基本已经成功。可以开始调试
在应用的Application 中使用HMS SDK Agent 套件中的
HMSAgent.init(this);
初始化华为Push。
然后在启动页的Acitivity中添加
HMSAgent.Push.getToken(new GetTokenHandler() {
@Override
public void onResult(int rst) {
CustomLog.e("当前获取到的华为Token 值 =" + rst);
}
});
获取当前Push错误码。
- 0 成功,可以正常使用推送
- 6003 SHA256 证书错误(注意是否是是测试包,但是使用了正式签名的SHA256,最好把测试,正式的SHA256都添加上)
- 如果是非华为手机错误码可能不是真实的错误信息。
[华为Push 错误码](https://developer.huawei.com/consumer/cn/service/hms/catalog/huaweipush_agent.html?page=hmssdk_huaweipush_api_reference_errorcode)
当错误为0时,并且在Receiver 中可以接收到正确的Token值,接入Push已经成功。
使用华为Push平台推送测试即可。(Token在推送的时候需要用到)