nim_fluttify 0.1.1 nim_fluttify: ^0.1.1 copied to clipboard
A `网易云信` flutter plugin, Powered by `Fluttify` engine.
网易云信 Flutter插件 #
依赖 #
dependencies:
flutter:
sdk: flutter
nim_fluttify: ^x.x.x
配置 #
Android #
- 在AndroidManifest.xml的application标签下配置app key:
<application>
<meta-data
android:name="com.netease.nim.appKey"
android:value="6cxxxxxxxxxxxxxxxxxxxxxxxxxx9e" />
</application>
- 由于SDK限制, 必须在Application中初始化, 所以需要重新指定Application的实现类, 需要用户继承
FlutterApplication
并重写onCreate
方法, 然后在AndroidManifest.xml中配置自己实现的Application, 示例实现:
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.SDKOptions;
public class NIMApplication extends FlutterApplication {
@Override
@CallSuper
public void onCreate() {
super.onCreate();
SDKOptions options = new SDKOptions();
NIMClient.config(this, null, options);
}
}
最终的AndroidManifest.xml中, 至少需要包含如下信息:
<application android:name="NIMApplication">
<meta-data
android:name="com.netease.nim.appKey"
android:value="6cxxxxxxxxxxxxxxxxxxxxxxxxxx9e" />
</application>
- 云信最低支持minSdk为17, Flutter默认为16, 所以需要修改app/build.gradle下的minSdkVersion为17.
android {
defaultConfig {
minSdkVersion 17 // 原本为16, 改为17
}
}
- AndroidManifest.xml不需要用户再声明权限和官方提及的组件, 已经在插件中声明;
- 不需要再配置混淆规则, 已在插件中配置混淆规则;
iOS #
- 选择图片时需要配置访问相册的权限, 在Info.plist中添加相册权限:
<key>NSPhotoLibraryUsageDescription</key>
<string>需要相册权限</string>
- Flutter默认的最低支持版本是iOS 8.0, 云信的最低支持版本是iOS 9.0. 所以需要更改Podfile:
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
改为(即去掉注释)
# Uncomment this line to define a global platform for your project
platform :ios, '9.0'
导入 #
import 'package:nim_fluttify/nim_fluttify.dart';
使用 #
插件的主要类为Nim类, Nim类为单例, 调用时使用Nim.instance.xxx
来使用.
初始化 #
Android端的appkey需要在AndroidManifest.xml
中配置, 详情参考权限与组件.
iOS端的appkey在Nim.instance.init
方法中传入即可.
社区版 | 付费版 | |
---|---|---|
登录 | ✅ | ✅ |