环信学习文档(Java)_即时通讯

来源:互联网 发布:侏罗纪世界4 知乎 编辑:程序博客网 时间:2024/05/22 14:32


一、  前言

此文档撰写日期为20160923,后续可能不准确,详细资料以官方为准!

二、  首先访问环信官网

1.1注册开发者账号

1步:在环信官网上点击即时通讯云,并点击免费使用

2 步:在环信管理后台的注册页面中,填写详细资料

企业 ID:只限于数字、字母、横线,且不能以横线开头和结尾。企业ID会存在于生成的 AppKey中。如:测试 Demo AppKey easemob-demo#chatdemo,则easemob-demo为填写的企业 ID

注:如果是个人应用开发的话,企业 ID直接写成自己定义的 ID就可以。

3步:点击注册。注册成功后,我们会向您填写的邮箱中发送验证信息,请前往邮箱进行账号激活。

1.2创建应用

1步:在我的应用中,点击“创建应用”按钮

2 步:填写创建应用的名称(内容只限于数字、大小写字母)

(应用名称会存在于你生成的 AppKey中,如:测试 Demo AppKey easemob-demo#chatdemo,则 chatdemo为填写的应用名称。注册授权根据需要自行选择。)

              3步:填写好应用名称后,点确定。创建成功,系统会为你生成 AppKey以及相关配置信息 (appkey的长度要在1k字节以内) 之后,将此 AppKey 配置到 AndroidiOSWeb IM上即可。

名词

解释

org_name

企业的唯一标识,开发者在环信开发者管理后台注册账号时填写的企业 ID

app_name

同一“企业”下“APP”唯一标识,开发者在环信开发者管理后台创建应用时填写的“应用名称”

org_admin

开发者在环信开发者管理后台注册时填写的“用户名”,企业管理员拥有对该企业账号下所有资源的操作权限

AppKey

一个 APP 的唯一标识,规则是 ${org_name}#${app_name}

 

三、  服务端集成

2.1登录环信官网,下载最新环信服务端代码

1、选择Java,把easymob文件夹下的文件导入到自己的项目中

2、导入后会发现一堆的“红叉    ”,解决此问题,先检查相关运行环境,JDK1.7,各种jar包。

3、发现依然报错!查看pom.xml文件,仔细核对后发现部分jar包小版本不一致;(★★★★★)

2.2服务端代码集成使用

   1、直奔主题,直接找到main方法运行一下看看结果再说

2、报了nullPointException;发现貌似token不能获取,发现集成代码时resouce文件夹下的配置文件被忽略了,查看配置文件config.properties里面有如下:

API_PROTOCAL = https

API_HOST = a1.easemob.com

API_ORG = easemob-playground #企业名

API_APP = test1   #app

APP_CLIENT_ID = YXA6wDs-MARqEeSO0VcBzaqg5A

APP_CLIENT_SECRET = YXA6JOMWlLap_YbI_ucz77j-4-mI0JA

APP_IMP_LIB = httpclient #调用方式(可选jersey                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

3、配置信息完成后,测试创建单个用户,多个用户都没有问题;

4、测试查询获取用户时,报错!!!!!!

[ERROR]: Request body is invalid.

Status: null

Response Body: {}

发现实现类HttpClientRestAPIInvoker70行有一行body判断为null的,判断为null时,不执行request调用;此行需要注释掉后,执行成功!!!!!(★★★★★)


0 0