1. Q:如何集成到现有项目?

1.1. 前置条件

请先参考快速开始部分,完成部署,并对各个功能进行体验,以便对整个IM系统有个大概的了解。


0.8.0.rc版本开始,野火IM Android端支持将通用UIuikitlibrary moduel的方式集成。

1.2. 源码集成

  1. 下载android-chat项目
  2. 打开你自己的项目,Android Studio -> File -> New -> Import Module... 选择android-chat/uikit,导入。
  3. 打开你自己的项目,Android Studio -> File -> New -> Import Module... 选择android-chat/push,导入。
  4. 在你自己项目根目录下的build.gradle文件的dependencies块内添加classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.1'
  5. 在你自己项目的app module下的build.gradle文件的dependencies块内添加implementation project(':uikit')android块内添加
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
    
  6. 修改cn.wildfire.chat.kit.Config.java完成配置
  7. 参考demo,demo相当于是把uikit集成到了chat,遇到注释,请仔细阅读

1.3. aar方式集成

  1. 下载android-chat,自行编译生成uikit.aar
  2. Android Studio -> File -> New -> New Module... -> Import .JAR/.AAR Package -> 选择uikit.aar,并设置Subproject name
  3. 由于Config.java被打包到了aar文件,不能直接修改,需要在调用WfcUIKit#init之前,对相关字段进行赋值,参考如下:
    Config.IM_SERVER_HOST = "im.example.com";
    ...
    
  4. 参考demo,demo相当于是把uikit集成到了chat,遇到注释,请仔细阅读

1.4. 针对0.8.0之前的版本

这是针对0.8.0版本之前的集成方式,新版本已不适用。

由于野火IM自定义的注解中,使用到了R.xx.yyy等常量,导致野火IM kit不能作为一个library引入现有项目。

在此提供两种集成思路,各位开发者,可以根据自身情况进行选择。

  • 以野火IM项目为base,将自有项目集成到野火IM项目。

  • 以自有项目为base,将野火IM项目集成到自有项目。

1.4.1. 以野火IM作为base,将自有项目集成到野火IM项目

适用场景
  1. 项目新启动,直接以野火IM作为base
  2. 项目除IM之外功能较少,可很方便地将相关代码加入到野火IM项目中
集成步骤
  1. 根据实际情况修改application_id,如果想快速修改的话,只需修改chat/build.gradle#android#default#applicationId
  2. 自行生成签名,并根据实际情况修改chat/build.gradle#android#signingConfigs,生成签名可参考
  3. 修改推送项目配置,参考push-server
  4. 将项目相关代码添加到chat/src目录下

1.4.2. 以自有项目为base,将野火IM项目集成到自有项目

适用场景
  1. 项目已积累大量代码
  2. IM只是 项目的一个小功能
集成步骤
  1. 下载野火IM项目,

  2. client,push,mars-core-release,emojilibrary,imagepicker,avenginekit作为library module引入

  3. chat/kit目录拷贝到自有项目applicaiton module下面

  4. kit目录添加到自有项目application modulesourceSets,如下:

    sourceSets {
        main {
            // wfc kit start
            jniLibs.srcDirs += ['kit/libs']
            res.srcDirs += ['kit/src/main/res', 'kit/src/main/res-av']
            assets.srcDirs += ['kit/src/main/assets']
            java.srcDirs += ['kit/src/main/java']
            // wfc kit end
        }
    
  5. kit/src/main/AndroidManifest.xml中相关部分拷贝到自有项目applicaiton moduleAndroidManifest.xml当中

2018 © wildfirechat.net 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2022-11-18 09:47:43

results matching ""

    No results matching ""