集成 Flutter SDK

更新时间: 2024/12/27 15:44:45

网易云信即时通讯(NetEase IM)SDK V10(以下简称 NIM SDK)为 Flutter 开发者提供完善的即时通信功能开发能力,屏蔽其内部复杂细节,对外提供较为简洁的 API,方便您快速集成即时通信功能。

目前云信支持 Flutter 全平台(Android、iOS、MacOS、Windows、Web)的即时通讯 IM SDK,帮助您一套代码,全平台运行。

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

环境要求

集成 NIM Flutter SDK 前,请确保您的本地开发环境满足以下要求:

  • Dart SDK 版本:3.0.0 ~ 4.0.0
  • 项目开发环境:
Android iOS MacOS Windows Web
  • Android Studio 3.5 及以上版本
  • Android 5.0 及以上版本设备
  • 1.5.21 以上版本的 kotlin-gradle-plugin
  • Xcode 11.0 及以上版本
  • iOS 11.0 及以上版本设备
  • 项目已设置有效的开发者签名
  • 确保已安装 python 的 requests 库 暂无环境要求 暂无环境要求

    集成 SDK

    NIM Flutter SDK 已发布到 Dart 和 Flutter 项目提供包管理服务的平台 pub.dev 库,您可以通过配置 pubspec.yaml 自动下载更新。

    1. 在项目的 pubspec.yaml 文件中添加以下依赖。

      YAMLdependencies:
      nim_core_v2: ^10.3.1
      

      以上示例中的 10.3.1 可以更换为其他版本号,具体请参考 更新日志,推荐您使用最新版本的 SDK。

    2. 通过 Shell 或者 IDE 执行以下命令,下载依赖包。

      Bashflutter pub get
      

    运行 SDK

    该步骤仅适用 Windows 平台,其他平台可直接跳过此步骤。

    将 SDK 复制到项目工程的 run 目录下,然后运行 SDK。

    例如:将 “xxx\nim_core_v2\nim_core_v2_windows\nim_sdk\bin” 中的文件复制到 “xxx\nim_core_v2\nim_core_v2\example\build\windows\x64\runner\Debug” 中。

    防混淆配置

    该步骤仅适用 Android 平台,其他平台可直接跳过此步骤。

    1. 使用 kotlin-gradle-plugin,在工程根目录的 build.gradle 文件中添加以下配置。

      JSONbuildscript {
          ext.kotlin_version = '1.9.0'
          repositories {
              google()
              mavenCentral()
          }
      
          dependencies {
              classpath 'com.android.tools.build:gradle:7.3.1'
              classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
          }
      }
      
    2. app/build.gradle 中,配置 packagingOptions,示例如下:

      Groovy/ 新增:启用 kotlin 插件
          apply plugin: 'kotlin-android'
      
          android {
              // 其他配置
              ...
      
              packagingOptions {
                  pickFirst 'lib/x86/libc++_shared.so'
                  pickFirst 'lib/x86_64/libc++_shared.so'
                  pickFirst 'lib/armeabi-v7a/libc++_shared.so'
                  pickFirst 'lib/arm64-v8a/libc++_shared.so'
              }
          }
      

      更多信息请参考 Android 的 代码防混淆

    下一步

    完成 SDK 集成后,您可以尝试 初始化

    常见问题

    编译错误

    当编译项目时,出现类似以下报错信息时:

    Flutter报错.png

    您需要在 Windows 目录下的 CMakeList.txt 文件中添加以下代码,以解决上述问题。

    function(APPLY_STANDARD_SETTINGS TARGET)
      target_compile_features(${TARGET} PUBLIC cxx_std_17)
      target_compile_options(${TARGET} PRIVATE /W4 /WX- /wd"4100")
      target_compile_options(${TARGET} PRIVATE /EHsc)
      target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0")
      target_compile_definitions(${TARGET} PRIVATE "$<$<CONFIG:Debug>:_DEBUG>")
    endfunction()
    
    此文档是否对你有帮助?
    有帮助
    去反馈
    • 环境要求
    • 集成 SDK
    • 运行 SDK
    • 防混淆配置
    • 下一步
    • 常见问题
    • 编译错误