【HarmonyOS】应用推送使用个推SDK如何实现?

【HarmonyOS】应用推送使用个推SDK如何实现?

前言

个推和极光都是市面上很成熟的推送第三方SDK了。今天讲讲个推SDK在鸿蒙中如何集成使用。

存在即合理,三方SDK推送给我们带来了极大的好处,首先在服务器后台处理一套API就可搞定,差异化处理都由SDK厂商来做了。客户端层面,SDK会更进一步进行封装,并且加强功能的能力。整个功能又节约了人力维护和开发成本。

当然也有缺点,毕竟差异化都是厂商处理了,所以在平台进行API更新时,都需要等厂商先升级完毕才能进行下一步,有了前置依赖。

平台注册和配置事项

一般鸿蒙应用选择个推很大的前提是,既有的IOS和Android已经使用了个推,在迁移一致性上来说,也会选择个推来实现鸿蒙上的应用推送功能。

一般公司运营会负责个推平台账号。这里注册是为给给应用开发来做测试账号用。

个推平台 整个注册过程很简单,傻瓜操作即可。

注册完成后登陆个推平台,进行测试应用的注册。一般平台都需要以你的应用作为服务对象,会生成对应该的APPID或者APPKey ,到时候使用他们的SDK,初始化时就需要将你的应用唯一标识传给他们,联网之后他们的后台会进行校验。这也是一个注意项,在使用三方SDK时,若没有和自己家的后台服务器直接交互,很多情况下是需要连接外部网络,因为客户端的三方SDK会进行联网校验 。所以很多公司是内网,测试机使用SDK功能就会有问题



关于华为AGC平台推送服务的配置,参见这篇文章:
【HarmonyOS】关于鸿蒙消息推送的心得体会 (一)

关于个推平台和华为AGC平台进行绑定的操作:

在个推开发者中心--应用管理页--找到对应的这个鸿蒙应用--进入"消息推送"页--配置管理--应用配置--鸿蒙:去填写鸿蒙应用的厂商信息,点击上传文件,选择您在创建服务器秘钥文件中下载的JSON文件上传:

如果不知道JSON文件如何获取,详细步骤参见文档:开通指南 查看其中的创建服务帐号密钥文件的内容。

SDK获取Demo运行

应用注册完之后,就可以进行推送SDK的下载了。这里会有客户端SDK和服务器SDK。

下载完成之后,我们可以看到SDK是以Demo的形式提供。SDK的Har肯定就在项目的libs里了。这里我们也发现了个彩蛋,MACOSX,这一看就是Mac电脑上传的包哈哈哈。
打开应用后我们可以看到,整个demo很简单。sdk本体就是libs下的GT-HM-1.0.2.0-beta.har。

**在入口Ability的创建函数中,进行了SDK的初始化操作。**这里的APPID就是我们在个推平台上注册应用,对应的id。

dart 复制代码
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import hilog from '@ohos.hilog';
import UIAbility from '@ohos.app.ability.UIAbility';
import Want from '@ohos.app.ability.Want';
import window from '@ohos.window';
import common from '@ohos.app.ability.common';

import PushManager from 'library';

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    hilog.info(0x0000, 'EntryAbility', '%{public}s', 'Ability onCreate');
    PushManager.initialize({
      appId: 'APPID',
      context: getContext(this) as common.UIAbilityContext,
      onSuccess: cid => {
        hilog.debug(0x0000, "EntryAbility", '%{public}s', "cid = " + cid);
      },
      onFailed: error => {
        hilog.debug(0x0000, "EntryAbility", '%{public}s', "error = " + error);
      }
    })
  }
  
  onWindowStageCreate(windowStage: window.WindowStage): void {

    windowStage.loadContent('pages/Index', (err, data) => {
      if (err.code) {
        hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
        return;
      }
      hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '');
    });
  }

}

因为个推是在华为推送官网API基础之上做的封装,所以官网对于推送进行验证id我们也需要进行配置。这个id在华为AGC平台上可以找到。如何获取id和填写id到工程里,参见这篇文章:**
【HarmonyOS】关于鸿蒙消息推送的心得体会 (一)

前两步完成之后,使用对应的华为AGC平台上你的测试应用签名文件进行编译,启动后手机上显示的完整的测试页,通过按钮触发不同的SDK API,注意测试之前要先开启通知开关。代码参见demo中的index.ets


注意一定要连接外网进行测试!
注意一定要连接外网进行测试!
注意一定要连接外网进行测试!

最后一步创建推送通知进行测试验证

CID是个推SDK在初始化时生成,有日志答应可以获取到。

其实推送功能就算使用华为官网原生API来实现,工作量也不是很大。但是服务器后台的工作量还是很巨大。以上是个推SDK在客户端集成的操作。关于服务器API的操作参见官网文档:RestAPI V2

以上都完成后,想必你已经对集成个推SDK实现推送功能,信心百倍咯,快去自己试试吧。

相关推荐
️ 邪神2 小时前
【Android、IOS、Flutter、鸿蒙、ReactNative 】自定义View
flutter·ios·鸿蒙·reactnative·anroid
智慧化智能化数字化方案2 小时前
华为IPD流程管理体系L1至L5最佳实践-解读
大数据·华为
ZZZCY20033 小时前
华为VER系统及CLI命令熟悉
华为
SameX3 小时前
HarmonyOS Next 安全生态构建与展望
前端·harmonyos
SameX3 小时前
HarmonyOS Next 打造智能家居安全系统实战
harmonyos
Random_index11 小时前
#Uniapp篇:支持纯血鸿蒙&发布&适配&UIUI
uni-app·harmonyos
鸿蒙自习室14 小时前
鸿蒙多线程开发——线程间数据通信对象02
ui·harmonyos·鸿蒙
SuperHeroWu716 小时前
【HarmonyOS】鸿蒙应用接入微博分享
华为·harmonyos·鸿蒙·微博·微博分享·微博sdk集成·sdk集成
期待未来的男孩16 小时前
华为FusionCube 500-8.2.0SPC100 实施部署文档
华为
岳不谢18 小时前
VPN技术-VPN简介学习笔记
网络·笔记·学习·华为