服务端SDK

0.0.1. SDK简介

目前只提供有Java语言的服务端SDK,其它语言按照API接口文档来自己对接也很简单。服务器SDK包括Admin SDK、机器人SDK和频道SDK。如果您需要一种或多种功能都可以使用这个SDK。

  1. Admin SDK是IM服务的管理SDK,实现了包括创建用户、发送消息、创建群组、创建机器人、创建频道、管理敏感词、封禁/解封用户、消息回调等操作,实现了所有的Server API接口。
  2. 机器人SDK是机器人管理SDK,可以管理某个机器人,实现了包括查询用户、发送消息、创建群组等操作,实现了所有的Robot API接口。
  3. 频道SDK是频道SDK,可以管理某个频道,实现了包括查询用户、广播消息、单发消息、订阅/取消订阅、修改自身信息等操作,实现了所有的Channel API接口。

0.0.2. SDK的位置

源码在server/sdk目录,编译打包后在release包中的server_sdk目录中。在server_sdk目录下有2个jar包和一个说明。

0.0.3. 引入SDK

  1. 把release包中的两个jar包common-0.xx.jarsdk-0.xx.jar放到工程目录下,比如${ProjectPath}/src/lib目录下。
  2. 修改pom文件,在pom文件中加入如下依赖,注意修改jar包的路径

    <dependencies>
         <dependency>
             <groupId>com.google.code.gson</groupId>
             <artifactId>gson</artifactId>
             <version>2.8.2</version>
         </dependency>
    
         <dependency>
             <groupId>commons-httpclient</groupId>
             <artifactId>commons-httpclient</artifactId>
             <version>3.1</version>
         </dependency>
    
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient</artifactId>
             <version>4.5.3</version>
         </dependency>
    
         <dependency>
             <groupId>commons-codec</groupId>
             <artifactId>commons-codec</artifactId>
             <version>1.11</version>
             <scope>compile</scope>
         </dependency>
    
         <dependency>
             <groupId>com.google.protobuf</groupId>
             <artifactId>protobuf-java</artifactId>
             <version>2.5.0</version>
         </dependency>
    
         <dependency>
             <groupId>cn.wildfirechat</groupId>
             <artifactId>sdk</artifactId>
             <version>0.20</version>
             <scope>system</scope>
             <systemPath>${project.basedir}/src/lib/sdk-0.20.jar</systemPath>
         </dependency>
    
         <dependency>
             <groupId>cn.wildfirechat</groupId>
             <artifactId>common</artifactId>
             <version>0.20</version>
             <scope>system</scope>
             <systemPath>${project.basedir}/src/lib/common-0.20.jar</systemPath>
         </dependency>
     </dependencies>
    
  3. 修改打包插件配置,确保打包时能把这两个jar包打进去,下面是springboot的修改,请参考。如果有问题,请百度解决。

    <!--# 由于添加了本地jar包,需要打包时把sdk和common打进去,下面是springboot项目添加includeSystemScope部分,其它类型项目请百度。 -->
     <build>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
                 <configuration>
                     <includeSystemScope>true</includeSystemScope>
                 </configuration>
             </plugin>
         </plugins>
     </build>
    
  4. 编译打包,确保能够打包成功。

0.0.4. 使用SDK

  1. 首先需要初始化。在ChatConfig类里有三个函数,分别初始化Server API接口、Robot API接口和Channel API接口。如果您只使用部分接口,只需要初始化您使用的功能就行了。 ```java AdminConfig.initAdmin(mIMConfig.admin_url, mIMConfig.admin_secret);

RobotService robotService = new RobotService(im_url, robotId, robotSecret);

ChannelServiceApi channelServiceApi = new ChannelServiceApi(im_url, channelId, channelSecret);

> Admin URL使用server API端口(默认是18080), Robot和Channel API使用80端口。

2. 调用不同的接口,来实现功能
```java
//使用用户id获取token
  IMResult<OutputGetIMTokenData> tokenResult = UserAdmin.getUserToken(user.getUserId(), clientId);
  if (tokenResult.getErrorCode() != ErrorCode.ERROR_CODE_SUCCESS) {
    LOG.error("Get user failure {}", tokenResult.code);
    return null;
  }
  return tokenResult.getResult().getToken();

    //机器人发送消息给用户
    IMResult<SendMessageResult> resultRobotSendMessage = robotService.sendMessage("robot1", conversation, payload);
    if (resultRobotSendMessage != null && resultRobotSendMessage.getErrorCode() == ErrorCode.ERROR_CODE_SUCCESS) {
        System.out.println("robot send message success");
    } else {
        System.out.println("robot send message failure");
        System.exit(-1);
    }
  1. 使用说明 请参考源码${ProjectPath}/sdk/src/main/java/cn/wildfirechat/sdk/Main.java。如果有问题或者缺失,请提issue。
2018 © wildfirechat.net 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2022-08-29 09:42:41

results matching ""

    No results matching ""