我是靠谱客的博主 勤奋冰棍,最近开发中收集的这篇文章主要介绍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集成华为推送教程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部