快速开始指南

接入表情云 SDK(以下也称之为BQMM SDK),有以下必要步骤:

  1. 下载与导入
  2. 获取必要的接入信息
  3. 开始集成

第一步:下载与导入

下载 页面提供表情mm SDK和环信版Demo两个工程。

BQMM SDK目前支持在Eclipse和Android Studio中进行导入。

Eclipse的导入

  • 表情mm SDK项目下载解压后可获得一个Eclipse项目,包括SDK的核心库libs/bqmm_v1.0.jar以及一些必要的资源文件,开发者可在自己的Eclipse工程中直接导入。

  • 环信版Demo是表情mm SDK和环信SDK(V2.2.4或V3.0)的整合版,包含环信SDK以及表情mm SDK的完整功能,并且可以作为表情mm SDK整合过程的示例代码下载。

Android Studio的导入

  1. 依次选择File->New->Import Module...,选择BQMM_Lib目录,点击finish以后AS会开始导入。

  2. Gradle构建成功之后,其他模块只要把BQMM_Lib对应的模块到依赖中,就可以使用表情MM SDK的功能了:

    (1). 打开Project Structure对话框(Ctrl+Alt+Shift+S),在左边的Modules中选中需要使用表情MM SDK的模块。

    (2). 在右边一栏选中Dependencies标签页,点击右边的绿色加号,选择3 Module Dependency,然后选中BQMM_Lib对应的模块,依次点击OK。

第二步:获取必要的接入信息


开发者将应用与SDK进行对接时,必要接入信息如下:

  • appId - 应用的App ID
  • appSecret - 应用的App Secret

以上信息可以在表情云开发者注册页面获取。

第三步:开始集成


  1. 在AndroidManifest.xml中配置相关权限及Activity信息

    <!-- 读写权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" >
    <!-- 网络权限 -->
    <uses-permission android:name="android.permission.INTERNET" >
    <!-- 手机设备信息 -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" >
    
    <activity
        android:name="com.melink.bqmmsdk.ui.store.EmojiPackageList"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.melink.bqmmsdk.ui.store.EmojiDetail"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.melink.bqmmsdk.ui.store.EmojiPackageDetail"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.melink.bqmmsdk.ui.store.EmojiPackageSetting"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.melink.bqmmsdk.ui.store.EmojiPackageSort"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.melink.bqmmsdk.ui.store.ServiceDeclaration"
        android:screenOrientation="portrait" >
    </activity>
    
  2. 在应用Application中初始化sdk,需要设置后台添加的应用AppId和AppSecret

    BQMM.getInstance().initConfig(getApplicationContext(),"YOUR_APP_ID", "YOUR_APP_SECRET");
    
  3. 在XML文件中引入键盘相关控件布局

    <com.melink.bqmmsdk.widget.BQMMSendButton
        android:id="@+id/chatbox_send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="发送"
        android:textSize="15sp"/>
    <com.melink.bqmmsdk.widget.BQMMEditView
        android:id="@+id/chatbox_message"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <com.melink.bqmmsdk.ui.keyboard.BQMMKeyboard
        android:id="@+id/chat_msg_input_box"
        android:layout_width="match_parent"
        android:layout_height="250dp"/>
    
  4. 声明控件及初始化BQMMSDK

    bqmm = BQMM.getInstance();
    //注册UI中的EditView、Keyboard和SendButton
    bqmm.setEditView(bqmmEditText);
    bqmm.setKeyboard(bqmmKeyboard);
    bqmm.setSendButton(bqmmSendButton);
    bqmm.load();
    
  5. 监听表情发送事件

    bqmmsdk.setBqmmSendMsgListener(new IBqmmSendMessageListener() {
        @Override
        public void onSendFace(Emoji face) {
            JSONArray msgCodes = BQMMMessageHelper.getFaceMessageData(face);
            sendFaceText(BQMMMessageHelper.getFaceMessageString(face),msgCodes,FACETYPE); 
        }
    
        @Override
        public void onSendMixedMessage(List<Object> emojis, boolean isMixedMessage) {
            String msgString = BQMMMessageHelper.getMixedMessageString(emojis);
            //判断一下文本中是否含有非Unicode表情
            //小表情都是Unicode字符,因此在消息中只含有文字和小表情的时候,这里仍然是false
            if(isMixedMessage){
                JSONArray msgCodes = BQMMMessageHelper.getMixedMessageData(emojis);
                sendFaceText(msgString,msgCodes, EMOJITYPE);
            }else{
                sendText(msgString);
            }
        }
    });
    

    BQMMMessageHelper是SDK提供的默认表情消息格式处理类,开发者可使用默认消息格式,也可以自行定义消息格式。

    sendFaceTextsendText是两个需要开发者自己去实现的方法,分别对应发送表情和发送文本两种情况。开发者可以根据App采用的的通信SDK自己实现这两个方法,也可以参考表情云提供的各个Demo进行实现。

  6. 显示表情消息

    • 在布局文件中加入BQMMMessageText
     <com.melink.bqmmsdk.widget.BQMMMessageText
        android:id="@+id/bv_messagetext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    
    • 调用方法显示消息
    bqmmMessageText.showMessage(msgString, msgType, msgCodes);
    
  7. 显示与隐藏键盘

    bqmmKeyboard.showKeyboard();
    bqmmKeyboard.hideKeyboard();
    
  8. 结束页面时,关闭sdk

    @Override
    protected void onDestroy() {
        //关闭SDK
        bqmm.destroy();
        super.onDestroy();
    }
    

第四步:混淆配置


-dontwarn com.melink.**
-keep class com.melink.** {*;}

更多参考,请下载各Demo项目查看

results matching ""

    No results matching ""