当前位置:   article > 正文

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

【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。

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) ?? '');
    });
  }

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

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

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

在这里插入图片描述
注意一定要连接外网进行测试!
注意一定要连接外网进行测试!
注意一定要连接外网进行测试!

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

在这里插入图片描述

CID是个推SDK在初始化时生成,有日志答应可以获取到。
在这里插入图片描述
其实推送功能就算使用华为官网原生API来实现,工作量也不是很大。但是服务器后台的工作量还是很巨大。以上是个推SDK在客户端集成的操作。关于服务器API的操作参见官网文档:RestAPI V2

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/884443
推荐阅读
相关标签
  

闽ICP备14008679号