SDK 集成

更新时间: 2024/06/13 10:32:46

信令是 NIM Flutter 的一个重要功能,本文主要介绍如何集成信令功能。

前提条件

  • 已在云信控制台创建应用,获取 App Key 和 App Secret。
  • 注册云信 IM 账号。云信 IM 账号(account,又称accid)用于登录云信 IM SDK。

开发环境

请确保您的开发环境,满足如下要求:

  • Flutter-dart 2.12.0 及以上版本。
  • Android 端开发:
    • Android Studio 3.5 及以上版本。
    • App 要求 Android 5.0 API 19 及以上版本设备。
    • 1.5.21以上版本的 kotlin-gradle-plugin
  • iOS 端开发:
    • Xcode 11.0 及以上版本。
    • App 要求 iOS 9.0 以上版本设备。
    • 请确保您的项目已设置有效的开发者签名。

集成SDK

NIM Flutter SDK 已发布至 pub 库,您可以通过配置 pubspec.yaml 自动下载更新。

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

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

    flutter pub get
    

编译与防混淆配置(仅 Android)

集成 SDK 之后,Android 端还需要额外添加以下配置。

编译配置

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

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

    groovy    //file: app/build.gradle
    
        // 新增:启用 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'
            }
        }
    

防混淆配置

proguard-rules.pro 文件中,将 NIM Flutter SDK 相关类加入防混淆名单。

groovy-dontwarn com.netease.**
-keep class com.netease.** {*;}
-dontwarn org.apache.lucene.**
-keep class org.apache.lucene.** {*;}
-keep class net.sqlcipher.** {*;}
此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 开发环境
  • 集成SDK
  • 编译与防混淆配置(仅 Android)
  • 编译配置
  • 防混淆配置