云信im在Android的使用
简介:
目前使用的是云信的IM即时通讯,版本V10
https://doc.yunxin.163.com/messaging2/guide/jU0Mzg0MTU?platform=client
接下来我们在Android接入:
上图是官网给出的流程图,我们根据流程图来操作就好
一、创建应用:
创建应用是在云信开发者平台创建应用,所以要先注册账号,就是填写信息,是个人还是企业,注册好账号之后,就是在控制台创建我们的应用:
二、开通IM产品:
应用创建好之后,就是选择需要的功能接入
前面我们说过接入IM即时通讯,那就开通接入IM即时通讯就好
需要注意的就是应用的appkey和appsecret,这两个值在应用初始化时需要用到
比如:
NERtcEx.getInstance().init(context, appkey, rtcCallback, rtcOption);
NERtcEx.getInstance().setAudioProfile(NERtcConstants.AudioProfile.STANDARD, NERtcConstants.AudioScenario.MUSIC);
三、注册IM注册:
这里使用的是官网给出的图:
以上都弄好之后就可以在我们的Android项目中进行集成SDK和初始化和使用了
四、集成SDK:
我们使用的是Gradle 集成:
allprojects {repositories {mavenCentral()}
}android {defaultConfig {ndk {//设置支持的 SO 库架构abiFilters "armeabi-v7a", "x86","arm64-v8a","x86_64"}}
}dependencies {compile fileTree(dir: 'libs', include: '*.jar')// 添加依赖。注意,版本号必须一致。// 基础功能 (必需)implementation "com.netease.nimlib:basesdk:${LATEST_VERSION}"// 聊天室功能implementation "com.netease.nimlib:chatroom:${LATEST_VERSION}"// 厂商推送集成(小米、华为等)implementation "com.netease.nimlib:push:${LATEST_VERSION}"// 超大群功能implementation "com.netease.nimlib:superteam:${LATEST_VERSION}"// 全文检索插件implementation "com.netease.nimlib:lucene:${LATEST_VERSION}"
}
1.权限配置:
我们使用的是v10以上,所以使用的就是10以上版本的权限配置就好:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.netease.nim.demo"><!-- 权限声明 --><!-- 网络相关权限 --><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><application...><!-- AppKey 配置,可在此设置,也可在 SDKOptions 中提供若两处都提供,优先使用 SDKOptions 中的值 --><meta-dataandroid:name="com.netease.nim.appKey"android:value="key_of_your_app" /><!-- 云信后台服务声明 --><service android:name="com.netease.nimlib.service.NimServiceV2" /><providerandroid:name="com.netease.nimlib.ipc.NIMContentProviderV2"android:authorities="${applicationId}.ipc.provider.v2"android:exported="false" /></application>
</manifest>
2.混淆配置
-dontwarn com.netease.nim.**
-keep class com.netease.nim.** {*;}-dontwarn com.netease.nimlib.**
-keep class com.netease.nimlib.** {*;}-dontwarn com.netease.share.**
-keep class com.netease.share.** {*;}-dontwarn com.netease.mobsec.**
-keep class com.netease.mobsec.** {*;}#全文检索插件需要添加
-dontwarn org.apache.lucene.**
-keep class org.apache.lucene.** {*;}#数据库功能需要添加
-keep class net.sqlcipher.** {*;}
五、初始化:
使用官网给的图:
六、登录IM账号
1.登录流程

NIMClient.getService(V2NIMLoginService.class).login("account", "token", null, new V2NIMSuccessCallback<Void>() {@Overridepublic void onSuccess(Void unused) {// TODO}
},new V2NIMFailureCallback() {@Overridepublic void onFailure(V2NIMError error) {int code = error.getCode();String desc = error.getDesc();// TODO}
});
登录参数:
相关的登录监听,就不写了
七、功能实现:
就是第二步你选择接入那些功能,进而实现那些功能就好了