HarmonyOS 鸿蒙Next中如何引入极光推送

HarmonyOS 鸿蒙Next中如何引入极光推送

5 回复

【解决方案】

极光推送通过har依赖的方式引入,详细配置步骤如下:

配置har:entry 模块下的 oh-package.json5 配置,如关联 jpush-hmos-x.x.x-release.har,复制 har 到 entry/hars/ 目录下,那么在 entry 模块下的 oh-package.json5 文件添加

"dependencies": {
    "jg_harmony_har": "./hars/jpush-hmos-x.x.x-release.har" //这里的路径是你存放jpush-hmos-x.x.x-release.har的位置
}

client_id 配置:entry 模块下的 module.json5 文件配置。在本地工程配置 client_id, 在 entry 模块下的 module.json5 文件添加

"module": {
    "metadata": [
        {
            "name": "client_id",
            "value": "你的id"
        }
    ]
}

签署配置:在本地工程配置签名。

包名配置:在 AppScope 工程下的 app.json5 文件添加包名。

appKey 配置:appKey 需代码配置,需要在 AbilityStage 内配置,需在 init 之前配置。

通知跳转页配置:entry 模块下的 module.json5 文件配置。

申请打开通知开关:在首页申请。

初始化推送服务:在 init 之前要先设置 appKey,在 init 之前要先设置接收回调信息类。

配置权限(可选):可选,为了更精准推送,申请结束后再调用init初始化接口

配置文件权限声明: 在 entry 模块下的 src/main/module.json5 文件添加

{
  "module": {
    "requestPermissions": [
      {
        "name": "ohos.permission.APP_TRACKING_CONSENT",
        "reason": "$string:reason",
        "usedScene": {
          "abilities": [
            "EntryAbility" //一般要用首页
          ],
          "when": "always"
        }
      }
    ]
  }
}

向用户申请授权:在首页 EntryAbility 中申请,然后再初始化,如:

const permissions: Array<Permissions> = ['ohos.permission.APP_TRACKING_CONSENT'];
export default class EntryAbility extends UIAbility {
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    let context:Context = this.context;
    let atManager:abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
    atManager.requestPermissionsFromUser(context, permissions).then((data: PermissionRequestResult) => {
      // 授权成功 //然后初始化
      JPushInterface.init(this.context.getApplicationContext())
    }).catch((err: BusinessError) => {
      //然后初始化
      JPushInterface.init(this.context.getApplicationContext())
    })
}

获取日志中的 registrationId,并在极光控制台 创建推送 体验推送服务。

推送完成后,你可以在 推送历史 中查看推送状态、推送通道、送达率等详细数据。

具体参考官方指导文档:HarmonyOS快速接入极光推送

更多关于HarmonyOS 鸿蒙Next中如何引入极光推送的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS引入极光推送需通过SDK集成,具体步骤包括:在极光后台创建应用获取AppKey,原生端添加依赖并配置参数,Flutter端集成插件并初始化服务

在HarmonyOS Next中引入极光推送,需使用官方提供的HarmonyOS SDK。首先在项目中添加依赖,通过ohpm包管理器安装极光推送的HarmonyOS版本。配置应用的包名和签名信息,并在module.json5文件中声明推送权限与服务。初始化推送服务时调用JPushInterface.init()方法,并实现消息接收处理逻辑。

在HarmonyOS Next中集成极光推送,建议采用以下步骤:

  1. 获取SDK:从极光推送官网下载HarmonyOS版本的SDK包,通常包含.har库文件。

  2. 工程配置

    • .har文件放入项目的libs目录
    • module.json5中添加依赖:
    "dependencies": [
      {
        "bundleName": "com.xxx.jpush",
        "version": "x.x.x"
      }
    ]
    
  3. 权限声明: 在module.json5中声明网络权限:

    "requestPermissions": [
      {
        "name": "ohos.permission.INTERNET"
      }
    ]
    
  4. 代码初始化: 在AbilityonCreate中初始化:

    import jpush from '[@ohos](/user/ohos)/jpush-har'
    
    export default class EntryAbility {
      onCreate() {
        jpush.init()
        jpush.setDebugMode(true)
      }
    }
    
  5. 注册设备: 调用getRegistrationId获取设备标识:

    let regId = jpush.getRegistrationId()
    

注意:需要确保使用的极光SDK版本与HarmonyOS Next兼容,具体接口请参考极光官方文档。推送功能需配合服务端调用极光API实现消息下发。

回到顶部