使用插件化方式快速集成环信即时通讯

本文分享了如何使用apkplug模块化框架将环信即时通讯集成为应用插件,通过三步实现:开发主应用并配置权限、将环信Demo配置为插件、在主应用中配置插件。这种方式避免了环信源码复杂性和资源文件混乱的问题。
摘要由CSDN通过智能技术生成

最近即时通讯很火,很多应用都在集成环信,我也试验了一把。不过环信源码好复杂,资源文件好多。我感觉集成以后我的应用会很乱。所以我就想到了使用插件化的方法,将环信作为插件集成到我的应用中。

 

我使用的是apkplug模块化框架。很快大概不到半小时就集成完了,现在把集成过程拿出来和大家分享一下。

 

先上截图:

简单的主应用:点击按钮即可进入环信即时聊天界面。

 

插件环信聊天界面:

   

 

    

 

     

 

 下面讲解一下我是如何集成的。分三步走。

 

第一步:开发主应用huanxinTestdemo

1, 申请主应用的appauth

首先要去apkplug官网注册,申请一个应用授权IDappauth

这样appauth就申请成功了,点击后面的复制。粘贴到项目中的Androidmanifest文件中即可。

2,  加入配置文档所需的权限

主应用需要几个基础的权限配置,请将以下的几个权限加入到主应用的AndroidManifest.xml中。

<!-- 插件平台需要的权限! -->

 

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

<uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

<uses-permissionandroid:name="android.permission.INTERNET"/>

<uses-permissionandroid:name="android.permission.READ_PHONE_STATE">

</uses-permission>

 

另外将一下加入到<application></application>节点中

 

<!-- 插件平台需要的配置! -->

 

   <activity

           android:name="org.apkplug.app.apkplugActivity" 

           android:theme="@style/android:Theme.Light"

           android:configChanges="orientation|keyboardHidden"

      />

 

另外主应用需要将环信应用的appkey也加到主应用中

 

<!--设置环信应用的appkey -->

       <meta-data

           android:name="EASEMOB_APPKEY"

           android:value="easemob-demo#chatdemoui" />

 

还需要将环信的权限加到配置文档中

 

        <uses-permissionandroid:name="android.permission.VIBRATE" />

   <uses-permissionandroid:name="android.permission.INTERNET" />

   <uses-permissionandroid:name="android.permission.RECORD_AUDIO" />

   <uses-permissionandroid:name="android.permission.CAMERA" />

   <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" />

   <uses-permissionandroid:name="android.permission.ACCESS_MOCK_LOCATION" />

   <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE" />

   <uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

   <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION" />

   <uses-permissionandroid:name="android.permission.GET_TASKS" />

   <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE" />

   <uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE" />

   <uses-permissionandroid:name="android.permission.WAKE_LOCK" />

   <uses-permissionandroid:name="android.permission.MODIFY_AUDIO_SETTINGS" />

   <uses-permissionandroid:name="android.permission.READ_PHONE_STATE" />

   <uses-permissionandroid:name="android.permission.RECEIVE_BOOT_COMPLETED" />

        <uses-permissionandroid:name="android.permission.GET_ACCOUNTS" /> 

        <uses-permissionandroid:name="android.permission.USE_CREDENTIALS" /> 

        <uses-permissionandroid:name="android.permission.MANAGE_ACCOUNTS" /> 

        <uses-permissionandroid:name="android.permission.AUTHENTICATE_ACCOUNTS" /> 

        <uses-permissionandroid:name="com.android.launcher.permission.READ_SETTINGS"/> 

        <uses-permissionandroid:name="android.permission.BROADCAST_STICKY" /> 

        <uses-permissionandroid:name="android.permission.WRITE_SETTINGS" /> 

 

以上的这些,统统加入到Androidmainfest文件中。

 

3,  导入sdk

将网站下载的ApkPlug SDK中的两个库文件。libndkfoo.so, Bundle2.0.0.jar.放入 libs目录中即可。

如图:

 

之后就可以了,等待插件编译完成。

 

第二步:配置环信demo成为插件

直接在环信官网:http://www.easemob.com/hx/index.html

下载demo源码。

 

环信的demo不需要改动代码。只需要写一个ApkPlug框架需要的插件文档plugin.xml

 

配置插件文档plugin.xml

配置内容如下:

<?xml version="1.0" encoding="UTF-8"?>

 

<plugin-features

        Bundle-Name="huanxindemo"

        Bundle-SymbolicName="com.easemob.chatuidemo"   

        Bundle-Version="2.1.6"

        date="2015.3.12"

        provider-name="Apkplug"

        provider-url=""

        Bundle-Activator="com.huanxin.Testdemo.SimpleBundle"

        Bundle-Activity="com.huanxin.Testdemo.MainActivity"

        >

</plugin-features>

 

将这个配置好的文档放置在环信demo工程的assets路径下。

整体结构目录如下:

 

然后编译,将编译好的apk文件复制出来。

第三步:将插件配置主应用中

 

将上一步复制出来的apk文件,放置在你的主应用中的目录assets下。

主应用的整体架构如下图:

 

最后编译主应用即可。

 

Duang duang duang!完事啦,是不很简单。。

 

附上源码下载地址:http://download.csdn.net/detail/xianvlovebeibei/8533027

 

注:apkplug是利用动态加载方式实现的插件化框架,具体大家自行了解吧。

WebIM说明 WebIM是一款基于jQuery的一款web即时通讯插件,姑且这么称呼吧。插件最大程度实现了IM的常用功能,除即时通讯的常用功能外,还加入了:消息盒子、窗口抖动、添加删除好友、最近联系人、超时登录界面、网站小秘书、聊天记录、发送频率限制、发送产品、发送名片、发送表情、产品分享、黑名单、举报、收藏、公告、智能网址过滤、消息提醒、修改资料、名片二维码、禁止粘贴、收起联系人列表、推荐好友等30余项改进。全浏览器兼容。 插件调用简单方便,只需在现有的web系统中加入几行代码,理论上可嵌入任何web系统。 2012年项目,已不再维护。 配置 $(function() { $(document).FnWebIM({ autoLogin :true, //boolean型,默认是否自动登录,true:自动登录,false:手动登录,默认为true msgRefreshTime :1000, //number型,消息刷新时间,单位为ms friendRefreshTime :10000, //number型,好友刷新时间,单位为ms showSecretary :true, //boolean型,默认是否显示小秘书,true:显示,false:不显示,默认为true noticeContent :"唐僧师徒历经千辛万苦,终于见到了佛祖……", //string型,公告内容 为空时不显示公告 sendPicture :true, //boolean型,是否允许发送图片,true:允许,false:不允许,默认为true msgMaxSize :300, //number型,单条消息最大允许字符 msgSound :false, //boolean型,是否开启声音提醒,true:开启,false:关闭,默认为true defaultWindow :"" //string型,登录后打开新聊天窗口,此处接收的参数为联系人的uid,否则会出错 }); }); 详细说明文档 http://www.zi-han.net/case/im/help.html 示例 http://www.zi-han.net/developer/721.html 注意 请在服务器(如localhost)环境下打开
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值