Android集成华为推送教程
前言
目前Android应用在后台杀死进程之后,就收不到通知了,想要接收消息推送,需要集成各个厂商的推送SDK,本次讲解华为集成最新教程
1.配置AppGallery Connect
1)注册成为开发者
在开发应用前需要在华为开发者联盟网站上注册成为开发者并完成实名认证,具体方法请参见帐号注册认证。注册完之后创建项目和创建应用。
2)生成签名证书指纹
签名证书指纹用于校验应用的真实性,您需要根据签名证书在本地生成签名证书指纹,并在应用上架前将签名证书指纹配置到AppGallery Connect。
官方给的方式太复杂,建议用Android studio生成jks签名文件就行了,然后获取其SHA256指纹,如图:
3)配置签名证书指纹
点击我的项目,在项目列表中点击需要配置签名证书指纹的应用,如图:
配置完成记得点击后面的对勾。
4)设置数据处理位置
您使用推送服务需要设置默认数据处理位置,如果不设置,基于主题、iOS应用的发送功能将不可用。当前支持选择的区域有中国、德国、俄罗斯和新加坡。如果设置的数据处理位置与您的服务器位置不一致,或者设置的数据处理位置与应用所服务的用户所在地不一致,都会导致推送消息下发时延增加。
5)开通推送服务
点击您的项目,前往“项目设置 > API管理”中开启“推送服务”权限。
在左侧导航栏选择“增长 > 推送服务”,点击“立即开通”,在弹出的提示框中点击“确定”。
2.集成HMS Core SDK
1)在“项目设置 > 常规”页面的“应用”区域,点击“agconnect-services.json”下载配置文件。
2)将“agconnect-services.json”文件拷贝到应用级根目录下。
3)打开Android Studio项目级“build.gradle”文件。
添加HUAWEI agcp插件以及Maven代码库。
在“buildscript > repositories”中配置HMS Core SDK的Maven仓地址。
在“allprojects > repositories”中配置HMS Core SDK的Maven仓地址。
如果App中添加了“agconnect-services.json”文件则需要在“buildscript > dependencies”中增加agcp插件配置。
buildscript {repositories {google()jcenter()// 配置HMS Core SDK的Maven仓地址。maven {url 'https://developer.huawei.com/repo/'}}dependencies {...// 增加agcp插件配置。classpath 'com.huawei.agconnect:agcp:1.4.2.300'}
}allprojects {repositories {google()jcenter()// 配置HMS Core SDK的Maven仓地址。maven {url 'https://developer.huawei.com/repo/'}}
}
4)打开应用级的“build.gradle”文件。
在“dependencies”中添加如下编译依赖。
dependencies {implementation 'com.huawei.hms:push:{version}'
}
添加agcp插件配置。请根据实际情况选择:
方式一:在文件头部声明下一行添加如下配置。
apply plugin: 'com.huawei.agconnect'
方式二:在plugins中添加如下配置。
plugins {id 'com.android.application'// 添加如下配置id 'com.huawei.agconnect'
}
3.配置Manifest文件
您需要在“AndroidManifest.xml”文件的“application”标签下注册您自己的“service”,用于接收透传消息、获取Token。该“service”继承HmsMessageService类并实现其中的方法,此处以DemoHmsMessageService类为例(类名由您自定义)。
“Android 11”更改了应用查询用户在设备上已安装的其他应用以及与之交互的方式。您应用的“targetSdkVersion”是30或者更高版本时,需要在“AndroidManifest.xml”中“manifest”内添加标签,使应用可以访问HMS Core(APK)。
<manifest ...>...<application ...><service android:name=".DemoHmsMessageService" android:exported="false"><intent-filter><action android:name="com.huawei.push.action.MESSAGING_EVENT"/></intent-filter></service></application>...<queries><intent><action android:name="com.huawei.hms.core.aidlservice" /></intent></queries>...
</manifest>
4.配置混淆脚本
在应用级根目录下打开混淆配置文件“proguard-rules.pro”,加入排除HMS Core SDK的混淆配置脚本。
-ignorewarnings
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.huawei.hianalytics.**{*;}
-keep class com.huawei.updatesdk.**{*;}
-keep class com.huawei.hms.**{*;}
如果您使用了AndResGuard,需要在应用级的“build.gradle”文件中加入AndResGuard允许清单。
"R.string.hms*",
"R.string.connect_server_fail_prompt_toast",
"R.string.getting_message_fail_prompt_toast",
"R.string.no_available_network_prompt_toast",
"R.string.third_app_*",
"R.string.upsdk_*",
"R.layout.hms*",
"R.layout.upsdk_*",
"R.drawable.upsdk*",
"R.color.upsdk*",
"R.dimen.upsdk*",
"R.style.upsdk*",
"R.string.agc*"
以上就是华为推送配置的全部信息,小米推送请参考Android集成小米推送教程
Android集成华为推送教程相关推荐
- Android - 集成华为推送
Android ~ 集成华为推送 功能流程如下图所示: 开发流程 一.配置AppGallery Connect 1.注册成为开发者 注册 实名认证 2.创建应用 创建项目 在项目下添加应用 3.生成签 ...
- Android集成华为推送功能详细
1.前言 Android集成推送功能也算是有好几个SDK了,包括极光.个推.小米.百度云推送.但是真心感觉华为的文档写的太差,封装的也不好,别的开发文档看一两遍就能按照文档集成成功,而华为仔细看了几遍 ...
- Android 集成华为推送,集成小米推送,集成OPPO推送,集成vivo推送
最近有时间在我们的应用中集成了华为,小米,OPPO,vivo四大平台的推送,一切顺利. 这里做一个记录, 开撸: 一.华为推送 1.下载HMS Agent套件,解压如下: 找到GetHMSAgent_ ...
- Android集成极光推送和踩过的坑(一)
转载请标明出处 http://blog.csdn.net/mohan6/article/details/72960346 本文作者:[默寒的博客] 集成步骤以及集成过程遇到的坑: 这部分主要阐述了集成 ...
- java集成华为推送
集成华为推送 这类推送一般官方文档都比较详细,如果想要更加详细的了解建议查看官方文档. 官方文档地址:https://developer.huawei.com/consumer/cn/service/ ...
- Android集成极光推送踩坑(二)升级篇
转载请标明出处 http://blog.csdn.net/mohan6/article/details/74133186 本文作者:[默寒的博客] 前言 前段时间针对集成极光推送写了篇文章( Andr ...
- java集成_java集成华为推送
集成华为推送 这类推送一般官方文档都比较详细,如果想要更加详细的了解建议查看官方文档. 官方文档地址:https://developer.huawei.com/consumer/cn/service/ ...
- Android 集成小米推送功能教程
1.前言 现在好多手机都有APP推送功能,也有好多第三方的SDK,那为什么还要集成只有小米手机好使的"小米推送"呢?因为在小米手机中,小米推送是"系统级通道", ...
- android接入华为推送
最近公司产品想要提高用户体验,便让我研究一下华为推送的问题.其实推送最重要的就是进程保活的这个问题,这是一个比较棘手的问题.现在比较普遍的做法是集成多个厂商的推送,例如小米,华为,魅族推送等,再加一个 ...
最新文章
- vue 如何处理两个组件异步问题_Vue动态异步组件实现思路及其问题
- R语言使用trimws函数:trimws函数去除(删除、remove)字符串头尾的空格
- linux 挂载光盘映像,在 Windows Mac和Linux上,如何挂载iso和其他光盘映像
- 关于Cocos2d-x中精灵节点的透明度的设置
- 豪华版飞机大战系列(六)--附源代码
- 新汉诺塔(洛谷P1242)含第11个数据的解决办法
- 雅虎的Mash-up 之路
- 我最近在学微信小程序开发,一起吗?
- 那些年,我们见过的 Java 服务端“问题”
- java.rmi.server.port_java.rmi.server.ExportException: internal error: ObjID already in use报错处理...
- python 树结构 sqlalchemy_如何从SQLalchemy mod创建json树结构
- Bootstrap进度条堆叠
- 【报告分享】2020年中国知识图谱行业研究报告.pdf(附下载链接)
- 三年期定期存款利率多少?
- 长沙火宫殿城大庙会迎客 演绎传统与潮流交融
- DIV+CSS:页脚永远保持在页面底部
- 你对jstl了解多少----JSTL标签之函数(慎用)
- Layui table隐藏某一列
- VS2013安装番茄助手
- 常用DOS命令及用法