腾讯云对接华为离线推送遇到的问题

一、首先是华为开发者中的处理

https://developer.huawei.com/consumer/cn/console/service/AppService

1、点击AppGallery Connect

腾讯云对接华为离线推送遇到的问题_第1张图片

2、点击我的项目

腾讯云对接华为离线推送遇到的问题_第2张图片

3、未添加应用前

腾讯云对接华为离线推送遇到的问题_第3张图片

这里有个小坑,未添加应用前是没有腾讯云说的agconnect-services.json文件的,这里浪费了我很长时间,更别说clientId 等信息了。

4、补充一点:做的事推送,则必须要选择推送服务,把想要的推送业务都开通,我开始也是闷着头搞,最后发现都没有开通推送的业务。

腾讯云对接华为离线推送遇到的问题_第4张图片

5、添加完应用后如下:

腾讯云对接华为离线推送遇到的问题_第5张图片

这里也有一点SHA256证书,记得一定要填,是通过应用的jks文件获取的。

二、腾讯云中的文档

https://cloud.tencent.com/document/product/269/75428

主要就是提取其中华为离线推送的部分

1、添加华为证书腾讯云对接华为离线推送遇到的问题_第6张图片

这里也遇到一个坑,就是在华为开发者官网上找到的其实没有所谓的APPID和APPSecret。对应的由步骤一中的5里的client ID和client secret所代替。这里也花了很长时间处理。

到此华为开发者账号和腾讯云关于华为离线推送的都已写完,后面就是代码里的实现。

三、代码中的实现,配合二中的官方链接

1、清单文件配置厂商推送权限相关AndroidManifest.xml

android:name="xxxx.permission.PROCESS_PUSH_MSG"

android:protectionLevel="signatureOrSystem" />

android:name="xxxx.HUAWEIHmsMessageService"

android:exported="false">

腾讯云对接华为离线推送遇到的问题_第7张图片

完全根据说明照搬,但是我没有将HUAWEIHmsMessageService放在app项目下,所以android:name="xxxx.HUAWEIHmsMessageService"这里的包名根据实际而定,并不需要一定是项目包名

2、在项目级 build.gradle 文件中 buildscript -> dependencies 下添加以下配置:

classpath 'com.huawei.agconnect:agcp:1.4.1.300'

腾讯云对接华为离线推送遇到的问题_第8张图片

这里我也遇到了坑,我的AndroidStudio是新版本,引用方式有所改变。这里也花了很长时间。

具体可以看这个官方链接,对号入座就好。文档中心

我的配置如下:

(1)项目级根目录build.gradle

maven { url 'https://developer.huawei.com/repo/' }
classpath "com.android.tools.build:gradle:7.0.2"
classpath 'com.huawei.agconnect:agcp:1.8.0.300'

腾讯云对接华为离线推送遇到的问题_第9张图片

(2) settings.gradle中配置如下:

maven { url 'https://developer.huawei.com/repo/' }
id 'com.huawei.agconnect'

腾讯云对接华为离线推送遇到的问题_第10张图片

(3)主项目下也要引用

id 'com.huawei.agconnect'

腾讯云对接华为离线推送遇到的问题_第11张图片

到此build集成基本是完成了。

你可能感兴趣的:(推送,腾讯云,华为,腾讯云)