title: 快速入门

你可以通过以下教程快速了解 IM 的用法。同时,你可以通过 IM Demo 进行体验。

环境准备

  • 支持 Android Studio 1.4 以上或者 Eclipse ADT 15.0.0 以上版本
  • 支持 JDK 7.0 以上版本
  • 支持 Android 手机系统 4.0.3以上版本,即 Android SDK 15 以上版本

1. 创建应用

首先,你需要在控制面板中创建应用。请参考 控制面板-创建应用

2. 安装 SDK

1.安装 Wilddog IM SDK

你可以直接下载 Android SDK 进行安装。

2.工程配置

Wilddog IM 解决方案在 Android 上需要 android.permission.INTERNET 权限。你需要在 AndroidMainfest.xml 文件添加以下内容: xml 添加内容

3. 引入SDK

  1. compile com.wilddog.wilddogim:wilddog-im:0.2.0

4. 集成用户

IM 使用 customToken 的方式来集成开发者的已有用户系统。野狗提供 Server SDK 生成 customToken,开发者需要提供用户的 ID、昵称、头像。流程如下:

  1. 客户端向开发者服务器请求 customToken。
  2. 开发者服务器使用野狗 Server SDK 生成 customToken 返回给客户端。
  3. 客户端使用 customToken 登录 Wilddog IM 服务。
  1. wilddogAuth.addAuthStateListener(new WilddogAuth.AuthStateListener() {
  2. @Override
  3. public void onAuthStateChanged(WilddogAuth wilddogAuth) {
  4. Log.d("result",(wilddogAuth.getCurrentUser()==null)+"");
  5. if(wilddogAuth.getCurrentUser()==null){
  6. // 为空
  7. }else {
  8. //登录成功
  9. Log.d("result",wilddogAuth.getCurrentUser().getUid());
  10. }
  11. }
  12. });

提示:

你可以在 控制面板 - 即时通讯 - 接口测试 中手动生成 Token 用于测试。

5.初始化

调用 WilddogIM.newInstance() 方法初始化 SDK。

  1. WilddogIM wilddogIM = WilddogIM.newInstance();

6. 发起聊天

发送消息前需要先创建会话和消息体。

  1. List<String> ids = new ArrayList<>();
  2. ids.add("uid1");
  3. ids.add("uid2");
  4. ids.add("uid3");
  5. WilddogIM.newConversation(ids, new WilddogIM.CompletionListener() {
  6. @Override
  7. public void onComplete(WilddogIMError error, Conversation wilddogConversation) {
  8. if(error==null){
  9. String messageText = "Hi! How are you";
  10. TextMessage textMessage = Message.newMessage(messageText);
  11. conversation.sendMessage(textMessage, new WildValueCallBack<String>() {
  12. @Override
  13. public void onSuccess(String s) {
  14. Log.d("result","发送成功");
  15. }
  16. @Override
  17. public void onFailed(int code, String des) {
  18. Log.d("result",des);
  19. }
  20. });
  21. }else {
  22. Log.d("result","create conversation failure");
  23. }
  24. }
  25. });

7. 接收消息

WilddogIM.WilddogIMMessageListener 的代理方法 onNewMessage() 中接收新消息。

  1. private WilddogIM.WilddogIMMessageListener listener=new WilddogIMClient.WilddogIMMessageListener() {
  2. @Override
  3. public void onNewMessage(List<com.wilddog.wildim.Message> messages) {
  4. for(com.wilddog.wildim.Message wildMessage:messages){
  5. switch (message.getMessageType()) {
  6. case TEXT:
  7. //文本消息
  8. TextMessage textMessage = (TextMessage)message;
  9. case IMAGE:
  10. //图片消息
  11. ImageMessage imageMessage = (ImageMessage)message;
  12. case VOICE:
  13. //语音消息
  14. VoiceMessage voiceMessage = (VoiceMessage)message;
  15. }
  16. }
  17. }
  18. };