Android 华为推送服务集成(详细教学)

Android 华为推送服务集成(详细教学),第1张

概述华为推送服务集成前言正文一、创建平台应用二、创建AS项目三、配置Gradle四、生成并配置SHA256指纹五、开启应用推送服务六、配置签名七、HMSToolkit工具配置八、推送消息结语前言  首先说明为什么要华为推送服务呢?这也是因为Android定制系统的问题,国内对安卓系

华为推送服务集成前言正文一、创建平台应用二、创建AS项目三、配置Gradle四、生成并配置SHA256指纹五、开启应用推送服务六、配置签名七、HMS Toolkit工具配置八、推送消息结语

前言

  首先说明为什么要华为推送服务呢?这也是因为AndroID定制系统的问题,国内对安卓系统进行的定制的大厂有华为、小米、OPPO、VIVO、魅族等,小厂就更多了。大厂对AndroID系统进行了定制,形成特色的AndroID系统,而这些系统配置在国产的AndroID手机中,因为你需要根根据不同的厂商进行不同的适配,所以对于AndroID开发者来说,适配一直是一个比较头疼的事情,不过头疼归头疼,事情还是得做,推送就属于适配的一个内容。

推送的目的是什么呢?就是让用户得到最新的咨询信息,通常的应用场景就是最新消息,新闻,通知之类的推送。而对接厂商渠道的推送,可以在让的应用在未运行的情况下,收到通知,点击通知则会打开应用,这是对接厂商渠道的目的。

举一个例子,就拿微博来说,它并不是一直在后台运行的,而当你关注的博主,发送新的资讯,亦或者是微博给你发了什么资讯,你的手机是会收到通知,而当你点开这个通知,如果应用未运行,那么会先启动应用,然后再打开相应的咨询,如果在后台运行还没有被杀死,则会直接打开咨询。而微博的用户量这么多,群众基础很大,势必会碰到不同的机型,因为它就必须做厂商渠道的对接。相信你已经了解了这个对接的意义了,下面进入正题吧。

运行效果图

如果对这个效果还满意,可以往下看了。

正文

  我做AndroID开发的时候都是直接拿自己的手机来做测试,一方面比较的方便,另一方面就是自由一些,同时我基本上不用虚拟机和模拟器。所以本文的内容都是针对于真机运行使用。而我因为使用的是荣耀手机,之前是华为的子品牌,目前好像是说脱离了,不过不重要,对接还得继续,所以我主要是对接华为推送,如果我自己是小米手机,那么这个标题就是小米推送继承服务了,说明了前因后果,是为了一些后续考虑,当我这篇文章写完之后,肯定会有人说,可不可以写一篇关系小米、OPPO、VIVO、魅族等一些厂商的推送对接文章呢?

好了,我的废话够多了,下面正式来看看。

一、创建平台应用

首先进入华为开放平台


看右上角,有一个登录和注册,这一步希望读者能够独立完成,要成为华为开发者,记得做实名认证。

登录之后,找到推送服务。

然后配置Appgallery Connect

点击AppGallery Connect


勾选上,点击我同意。

点击我的项目


勾选上,点击继续。


点击添加项目。


输入项目名称,然后点击确认。

然后不出意外会出出现一个重名的提示,不过不用担心你的项目已经创建好了。
如果你实在觉得不得劲,那就改一下。

如上图,我加上了我名字的首拼音缩写。

添加添加应用按钮。


填写相关资料。

@H_301_129@


点击确认。


平台应用创建好了,可以看到上图要我们将这个配置文件加到项目里面去,以获得最佳的集成效果,先把这个配置文件下载到电脑本地,然后创建AS项目。

二、创建AS项目

创建AS应用也是有要求的。要求如下:


我的AS是3.5.2的,如果你的AS还是低于3.X以下的版本,比如2.X的版本的话,你就需要升级AS了,可以参考我写的关于AS安装配置的文章,里面有详细的说明。


点击Finish完成项目创建。
然后点击这个下拉按钮,切换到Project模式。


现在的目录是这样的。


然后将那个配置文件复制进来。


注意看复制的位置,是放在app文件夹中的,与src文件夹是同级别的。
然后你可以看看这个配置文件


这里面的信息和你刚才创建平台应用产生的值是一致的,这是平台的应用和项目信息


这里都是能对的上的,所以你要自己创建应用时去下载相应的配置文件。因此你最好是跟着一步一步来,拿到我的源码你反而要改的东西更多,而且你还可能改不好,所以建议你花一点时间,一步一步跟着来对接。

三、配置Gradle

打开项目级build.gradle,添加如下代码:

		//新增        maven {url 'https://developer.huawei.com/repo/'}@H_419_187@
		//新增        classpath 'com.huawei.agconnect:agcp:1.3.1.300'@H_419_187@

添加位置如下图。

然后打开模块级build.gradle,添加如下代码:

	//新增    implementation 'com.huawei.hms:push:5.3.0.300'@H_419_187@

添加位置如下图

然后点击右上角的Sync Now 进行资源同步。此时会下载相应的SDk文件,你不用管它。

四、生成并配置SHA256指纹


选择APK,点击Next。


点击Create new… 创建新的。


下面进行jks文件的生成,这是你的应用秘钥。


选择生成秘钥的文件路径和设置秘钥名称。


点击OK。


秘钥密码可以和秘钥别名密码一样。


这个提示不用管,点击OK。


选择生成应用的类型和生成APK的路径。


点击Finish。当你的AS的右下角出现这样的提示时,说明你的APK构建成功了,这个APK你是可以发给其他人的,都是可安装的。


刚才这么做是为了验证这个创建的jks文件没有问题,下面来获取SHA256指纹。

通过命令来获取。

	keytool -List -v -keystore D:\APK\huaweiPush.jks@H_419_187@

这里的D:\APK\huaweiPush.jks是我的jks文件存放路径,请以自己的为准。


输入密码,输入是不可见,输入完成之后回车即可。


这里SHA256指纹就有了。

回到平台应用处,进行填写。



这样就填写好了,这个SHA256指纹只用来检查应用的真实性。

五、开启应用推送服务


然后切换到这个API管理,看看你的推送服务有没有打开。


在左侧导航栏选择“增长 > 推送服务”,点击“立即开通”,然后会d出一个框。


点击确定。


选择中国(如果你在国外,也可以切换对应国家),点击确定。

六、配置签名

将之前创建的huaweiPush.jks文件复制到你的app下

打开你的app的build.gradle,在里面添加

	//配置签名    signingConfigs {        config {            storefile file('huaweiPush.jks')            keyAlias 'key0'            keyPassword '203472'            storePassword '203472'            v1SigningEnabled true            v2SigningEnabled true        }    }@H_419_187@

添加位置如下图


然后Sync Now。

七、HMS Toolkit工具配置

刚才进行了一系列的配置,下面通过工具来验证一下配置的结果,
点击“file > Settings > Plugins” ,搜索“HMS”找到HMS Toolkit


点击Install,进行下载安装。

点击重启AndroID Studio。

然后你会发现你的AS工具栏上面会多出来一个HMS


先登录一下,这里也需要使用华为账号。


然后你再看看你的AS


点击同意

之后再点击Configuration Wizard


可以看到这里出现了你在开放平台上的信息,向下滑动一下



这里的jks和密码都给你填写好了,如果没有的话,你就自己选择项目中app模块下的huaweiPush.jks,然后填写秘钥密码、秘钥别名、秘钥别名密码。

@H_473_403@


点击这个Generate按钮,会创建SHA56指纹,这里的指纹和你之前通过jks生成的是一致,如果不一致,说明你的jks不对。


这里可以做一下对比验证。
然后点击Next。


这里会一步一步的检查你的所有配置,如果出现检查不通过的项,请根据界面提示和点击“link”手动设置,如下图所示。设置完成后,点击“Retry”重新进行检查。

@H_763_419@


可以看到我的全部检查项均通过,点击“Go to Coding assistant”按钮。


点击Push Kit


下面还是一个演示的效果图。

按照演示 *** 作一下。然后你会发现生成了一个Activity,一个PushMsgService,还有一个activity_push_get_token.xml,还有AndroIDManifest.xml中的改动,看看AndroIDManifest.xml

<?xml version="1.0" enCoding="utf-8"?><manifest xmlns:androID="http://schemas.androID.com/apk/res/androID"    package="com.llw.huaweipush">    <application        androID:allowBackup="true"        androID:icon="@mipmap/ic_launcher"        androID:label="@string/app_name"        androID:roundIcon="@mipmap/ic_launcher_round"        androID:supportsRtl="true"        androID:theme="@style/Apptheme">        <activity androID:name=".MainActivity">            <intent-filter>                <action androID:name="androID.intent.action.MAIN" />                <category androID:name="androID.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <Meta-data            androID:name="push_kit_auto_init_enabled"            androID:value="true" />        <service            androID:name=".PushMsgService"            androID:exported="false">            <intent-filter>                <action androID:name="com.huawei.push.action.MESSAGING_EVENT" />            </intent-filter>        </service>    </application></manifest>@H_419_187@

如下代码是刚才生成的。

		<Meta-data            androID:name="push_kit_auto_init_enabled"            androID:value="true" />        <service            androID:name=".PushMsgService"            androID:exported="false">            <intent-filter>                <action androID:name="com.huawei.push.action.MESSAGING_EVENT" />            </intent-filter>        </service>@H_419_187@

不过这个里面并没有刚才生成的PushGetTokenActivity的配置,我们把这个
PushGetTokenActivity配置进AndroIDManifest.xml并且设置为启动的Activity,如下图所示


然后通过USB运行安装应用到你的手机上。

八、推送消息

点击GetToken按钮,你会看到出现了一个token信息,而在控制台也会打印Token


有了这个Token,就可以推送消息了。

在控制台复制这个Token,回到你的华为开放平台


点击添加推送通知按钮。


填写一些测试信息,右边的预览可以看到通知的样式。向下滑动


点这个预估用户数按钮,会根据你输入的Token进行检测,看这个用户是否存在。


这里检测到一个用户数。向上滑动找到一个效果测试按钮,点击它,输入刚才复制的Token。


点击确定,然后你会看到手机上多了一个推送消息。


因为我现在就是在应用的首页,所以点击之后没有什么效果,下面我回到桌面再来试试。


然后我们把应用的进程杀掉,再来测试一下。

后面你还可以再杀死应用,息屏的状态下,通过后台发送通知进行测试看能不能收到消息。这个方式自行去测试一下。我测试一下是可以收到通知的,如下图所示,当你点击这个通知就会进入到你的App首页。

那么到这里,如果你觉得在网页上发送消息测试太麻烦了,其实也可以通过刚才AS中的HMS ToolKit中

在Push Kit卡片的工具栏中,点击“Message Test”(Push Kit消息推送测试工具),用于测试服务器向手机推送消息。

点击这个按钮来获取Get APP ID and APP SECRET


获取之后点击Next。


填写通知的标题和内容


这里的Token我并没有填写,点击这个绿色三角形运行按钮。


当你的应用在手机上安装时,AS会d出这样的一个提示窗口,如上图的右下角所示,点击OK,就是将Token自动填写进去。


然后点击这个Send。手机上会收到通知,如下图所示:

好了,通过工具发送通知就是手机上收到时没有感觉,听不到铃声,而通过后台发送就会有。其他的区别自己去发现吧。本文没有什么源码,因为我都没有写过代码,全是配置产生的。希望读者能够认真的跟着 *** 作一遍。

结语

不要想着坐享其成,自己付出努力了才会有成就,实践出真知,我是初学者-Study,山高水长,后会有期~

总结

以上是内存溢出为你收集整理的Android 华为推送服务集成(详细教学)全部内容,希望文章能够帮你解决Android 华为推送服务集成(详细教学)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1007610.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)