HarmonyOS

更新时间: 2024/07/16 13:44:50

网易云信 IM SDK(NetEase Instant Messaging SDK,NIM SDK)为 Harmony 环境 SDK,提供完善的即时通信功能开发能力,屏蔽其内部复杂细节,对外提供较为简洁的 API 接口,方便您快速集成即时通信功能。

IM Harmony SDK 提供的功能包括登录、会话、消息、群组、用户、好友、存储服务、推送、自定义通知、设置、信令、聊天室、圈组等功能。

对应上述功能提供业务组件 har 包包括 connversation、conversationgroup、message、team、user、friend、setting、notifation、signalling、chatroom、 qchat(开发中,暂不提供)。

鸿蒙架构图.png

本文介绍如何快速将 NIM SDK 集成到你的 Harmony 项目中。

开发环境要求

  • DevEco Studio NEXT Developer Beta1(5.0.3.300) 及以上。
  • HarmonyOS SDK API 11 及以上。
  • 运行环境 HarnomyOS NEXT 2.1.2.5 (Canary1) 以上

集成 SDK

  1. 通过 NIMApiDemo/entry/libs 下载 har 形式的 NIM SDK 产物。

  2. 将 SDK 文件拷贝到 Harmony 工程,例如放至 entry 模块下的 libs 目录。

  3. 修改模块目录的 oh-package.json5 文件,在 dependencies 节点增加依赖声明。

    {
        "name": "entry",
        "version": "1.0.0",
        "description": "Please describe the basic information.",
        "main": "",
        "author": "",
        "license": "",
        
        ...
        
        "dependencies": {
            <!-- 业务模版har包, 可以按需添加 -->
            "@nimsdk/conversation": "file:../../libs/conversation.har",
            "@nimsdk/conversationgroup": "file:../../libs/conversationgroup.har",
            "@nimsdk/message": "file:../../libs/message.har",
            "@nimsdk/team": "file:../../libs/team.har",
            "@nimsdk/user": "file:../../libs/user.har",
            "@nimsdk/friend": "file:../../libs/friend.har",
            "@nimsdk/signalling": "file:../../libs/signalling.har",
            "@nimsdk/setting": "file:../../libs/setting.har",
            "@nimsdk/notification": "file:../../libs/notification.har",
            <!-- Harmony IMSDK 基础业务模块,必须添加 -->
            "@nimsdk/nim": "file:./libs/nim.har",
            "@nimsdk/base": "file:./libs/base.har"
        }
     ...
     
    }
    
  4. 单击 File > Sync and Refresh Project 按钮,直到同步完成。

后续步骤

完成 SDK 集成后,需进行初始化

相关信息

集成 NIM SDK 后,所有 SDK 能力均通过 NIM SDK 实例提供的 service 进行调用,例如:

  • 通过 loginService 进行登录:

    const nim: NIMInterface = NIMSdk.newInstance(context, initializeOptions, serviceOptions)
    
    nim.loginService.on('onLoginStatus', loginStatus => {
    console.log('收到 V2NIMLoginService 模块的 onLoginStatus 事件', loginStatus);
    })
    await nim.loginService.login("YOUR_ACCOUNT", "YOUR_TOKEN")
    
  • 通过 messageService 进行消息发送:

    const message = nim.messageCreator.createTextMessage("hello")
    nim.messageService?.sendMessage(message, 'YOUR_ACCOUNT|1|RECEIVER_ACCOUNT')
    

相关参考

您可以参见 API 概览,查看并了解 NIM SDK API。

此文档是否对你有帮助?
有帮助
去反馈
  • 开发环境要求
  • 集成 SDK
  • 后续步骤
  • 相关信息
  • 相关参考