鸿蒙Next push功能如何使用

鸿蒙Next的push功能具体怎么使用?有没有详细的配置步骤或示例代码可以参考?

2 回复

鸿蒙Next的Push功能?简单说就是:写代码时调用@ohos.notification模块,配置好推送通道和权限,然后服务器一发消息,用户手机就“叮”一声弹出来。记得处理点击事件,别让推送变成“已读不回”的尴尬!

更多关于鸿蒙Next push功能如何使用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙(HarmonyOS)Next中,实现推送功能通常使用华为推送服务(Huawei Push Kit)。以下是基本步骤和示例代码:

1. 配置项目依赖

在项目的 build.gradle 文件中添加 Push Kit 依赖:

dependencies {
    implementation 'com.huawei.hms:push:6.11.0.300'
}

2. 添加权限和配置

module.json5 中声明权限:

{
  "module": {
    "requestPermissions": [
      {
        "name": "com.huawei.hms.core",
        "reason": "$string:push_permission_reason"
      }
    ]
  }
}

3. 初始化推送服务

AbilityAbilitySliceonStart 方法中初始化:

import ohos.hiviewdfx.HiLog
import com.huawei.hms.push.HmsMessaging

class MainAbilitySlice : AbilitySlice() {
    override fun onStart(intent: Intent) {
        super.onStart(intent)
        // 获取 Token
        HmsMessaging.getToken(applicationContext)
            .addOnCompleteListener { task ->
                if (task.isSuccessful) {
                    val token = task.result
                    HiLog.info(LABEL, "Push Token: $token")
                }
            }
    }
}

4. 处理接收消息

继承 PushReceiver 类处理消息:

class MyPushReceiver : PushReceiver() {
    override fun onNewToken(token: String) {
        // 处理新 Token
    }

    override fun onMessageReceived(remoteMessage: RemoteMessage) {
        // 处理接收到的消息
    }
}

module.json5 中注册接收器:

{
  "module": {
    "abilities": [
      {
        "name": ".MyPushReceiver",
        "type": "service",
        "exported": true
      }
    ]
  }
}

5. 注意事项

  • 在华为开发者平台注册应用并启用 Push Kit。
  • 测试时需使用 HMS Core 真机环境。
  • 确保网络正常及设备支持 HMS。

通过以上步骤,即可在鸿蒙 Next 应用中集成推送功能。详细文档可参考 华为开发者官网-Push Kit

回到顶部