创建鸿蒙推送证书

更新时间: 2024/08/29 16:40:09

网易云信即时通讯 SDK(简称 NIM SDK)鸿蒙版自 v0.6.0 起支持鸿蒙推送服务。本文主要介绍如何集成鸿蒙的离线推送通道,使消息通过鸿蒙推送服务离线推送至未在线的用户。整体流程如下所示:

sequenceDiagram
actor 开发者
开发者 ->> 华为开发者平台: 创建鸿蒙(HarmonyOS)应用
开发者 ->> 华为开发者平台: 启用推送服务
开发者 ->> 华为开发者平台: 为您的项目申请 API 服务凭证 
开发者 ->> 网易云信控制台: 填入鸿蒙推送证书

第一步:创建鸿蒙应用

若您已在华为开发者平台开通鸿蒙推送服务,则忽略该步骤。具体信息请参考鸿蒙推送最新文档 鸿蒙推送服务启用指南

  1. 在华为开发者平台注册开发者账号并完成认证,详情请参考 华为开发者账号注册指南

  2. 登录华为开发者平台,创建华为项目。在当前项目下,创建 HarmonyOS 应用

    创建 HarmonyOS NEXT 应用,而非 Android 应用。

第二步:启用推送服务

华为 AppGallery Connect 平台 中,选择当前项目,单击左侧 推送服务 并开通。

开通鸿蒙推送服务.png

第三步:申请 API 服务凭证

  1. 登录 华为开发者官网,确保华为项目、HarmonyOS 应用已创建完毕。

  2. 进入 管理中心,依次单击 API 服务 > 我的 API > 新增 HMS API 服务,然后选择 推送服务

    鸿蒙推送 API 服务.png
  3. 创建 API 服务凭证,单击 凭证 > 服务账号密钥 > 创建凭证,选择创建 服务账号密钥 类型凭证。

    若创建步骤不适用,最新步骤需参考 创建服务账号密钥。在华为开发者的 API Console 上创建并下载服务账号密钥文件,相关创建步骤及支持此类鉴权的公开 API 类型请参考 API Console 操作指南

    以下为一个 服务账号密钥 文件示例,您需要按照一定格式在网易云信控制台的应用配置中填入,映射关系请参考下文 第四步:添加鸿蒙推送证书

    JSON{
        "project_id": "dev7519896637536769923",
        "key_id": "18366af0b4b44dd8bb4a77184d04704f",
        "private_key": "----BEGIN PRIVATE KEY----\nMIIJQgIBADANB 此处省略较多字符 MYT76N4WB3Y8PZV6p5gMMQ==\n----END PRIVATE KEY----\n",
        "sub_account": "101783233",
        "auth_uri": "https://oauth-login.cloud.huawei.com/oauth2/v3/authorize",
        "token_uri": "https://oauth-login.cloud.huawei.com/oauth2/v3/token",
        "auth_provider_cert_uri": "https://oauth-login.cloud.huawei.com/oauth2/v3/certs",
        "client_cert_uri": "https://oauth-login.cloud.huawei.com/oauth2/v3/x509?client_id=101783233"
    }
    

    创建的 服务账号密钥(即推送证书) 请谨慎保管,网易云信控制台需上传 服务账号密钥 部分信息才能实现离线推送能力。

第四步:添加鸿蒙推送证书

  1. 登录 网易云信控制台

  2. 在首页 应用管理 中选择应用进入 应用配置 页面。

  3. 顶部选择 证书管理 页签,进入推送证书配置页。

  4. 在对应的鸿蒙证书配置项中,单击 添加证书,配置推送相关信息。

    设置项 说明 示例
    证书名称 名称需要与 NIM SDK 初始化时传入 pushServiceConfig.harmonyCertificateName 完全相同,上传的推送证书才会生效。 DEMO_HMOS_PUSH_xxx
    应用包名 与华为 AppGallery Connect 中创建的 HarmonyOS 应用包名相同。 -
    ProjectId 服务账号密钥project_id 具体值,例如 "project_id": "dev7519896637536769923" dev7519896637536769923
    KeyId 服务账号密钥key_id 具体值,例如 "key_id": "18366af0b4b44dd8bb4a77184d04704f" 18366af0b4b44dd8bb4a77184d04704f
    SubAccount 服务账号密钥sub_account 具体值,例如 "sub_account": "101783233" 101783233
    PrivateKey 服务账号密钥private_key 具体值,例如 ----BEGIN PRIVATE KEY----\nMIIJQgIBADANB************MYT76N4WB3Y8PZV6p5gMMQ==\n----END PRIVATE KEY----\n,注意您需要去掉首尾的换行符,仅保留中间字段。 XXXXXMIIJQgIBADANB************MYT76N4WB3Y8PZV6p5gMMQXXXXXX==
    添加鸿蒙证书.png
  5. 填写证书信息并上传后,单击 确定

此文档是否对你有帮助?
有帮助
去反馈
  • 第一步:创建鸿蒙应用
  • 第二步:启用推送服务
  • 第三步:申请 API 服务凭证
  • 第四步:添加鸿蒙推送证书