本教程基于融云SDK版本:2.9.17, 主要是因为在集成的过程中遇到了一些问题,并且网上教程比较少,所以编写该教程。当然是为了让更多的人饶过这些问题,从而能节约更多的时间。

集成前

你需要去注册一个融云的账号,可能注册后会有客服骚扰你,你无视就好。账号创建好后,需要创建一个应用,会有App Key和App Secret,这两个东西就好似账号和秘钥。IM 服务->API调用->用户服务->获取Token,此处的token每个用户都需要注册一个,相当于用户的唯一编号。

集成Android

试错一

最近的版本发布后,有个新的api,这api中的一些集成还是有些不清晰的地方。接下来跟我步骤来,首先你创建一个空的Android项目,然后在项目根目录下的build.gradle中修改maven配置,如下:

allprojects { 
    repositories { 
    google() 
    jcenter() 
    mavenCentral() 
    maven {url "https://dl.bintray.com/rongcloud/maven"} 
    } 
}

比如你直接在app包下的build.gradle文件中添加如下依赖,所以你就不用将IMLib和IMKit以Library的形式导入项目中

api 'cn.rongcloud.sdk:im_kit:2.9.17' 
//im_kit必须依赖im_lib,所以需要加入对应依赖 
api 'cn.rongcloud.sdk:im_lib:2.9.17'

并且按照步骤,在AndroidManifest.xml中添加如下配置,但是会报错。

<meta-data
android:name="RONG_CLOUD_APP_KEY"
android:value="您的应用 AppKey" />

错误如下:

Manifest merger failed : Attribute meta-data#RONG_CLOUD_APP_KEY@value value=(k51hidwqk4rqb) from AndroidManifest.xml:61:13-42 is also present at [cn.rongcloud.sdk:im_lib:2.9.17] AndroidManifest.xml:27:13-40 value=(此处添加APP_KEY). Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:59:9-61:45 to override.

上面AndroidStudio建议在meta-data加上tools:replace="android:value",但是要在xml的头加上命名空间xmlns:tools="http://schemas.android.com/tools"。例如这样:

<meta-data 
    android:name="RONG_CLOUD_APP_KEY" 
    android:value="您的应用 AppKey" 
    tools:replace="android:value" />

通过上面的尝试,发现RongIMClient.connect和RongIM.connect的回调没有任何响应,所以初步断定依赖有问题,所以尝试其他方式。这是我测试用的代码,拿走不谢。 https://pan.baidu.com/s/1RZKB-CDkr221j3v9txAmvg

©2020 洛易                        皖ICP备15026941号-4 该文件修订时间: 2019-08-20 22:44:42

results matching ""

    No results matching ""