1.添加子模块
通过 sourceTree 将SDK 代码的仓库地址 添加到自己的项目下 作为子模块。然后更新子模块,拉取到最新。
2.挂载C#脚本
在游戏启动的主场景中创建一个空GameObject,命名为 sdk,之后将拉取到的Jim_sdk/Scripts/JIM/api 下的 JIMClientAPI 以及 JIMTalkAPI 两个C# 脚本挂载到 sdk 这个空GameObject上。
3.获取C#脚本
function _M:init()
local sdk_ob = CS.UnityEngine.GameObject.Find("sdk")
jim_client_api = sdk_ob:GetComponent("JIMClientAPI")
jim_talk_api = sdk_ob:GetComponent("JIMTalkAPI")
-- 回调事件注册
jim_talk_api.onRegisterEvent = U.handle(self, self.on_register)
jim_talk_api.onLoginEvent = U.handle(self, self.on_login)
jim_talk_api.onRecTextMsg = U.handle(self, self.on_rec_text_msg)
jim_talk_api.onRecChatRoomTextMsg = U.handle(self, self.on_rec_chatroom_text_msg)
end
4.极光接口简介
基本上的调用接口都在 JIMClientAPI脚本中。
接口调用方式 | 具体功能 |
---|---|
InitSDK(isRoaming:bool) | 初始化 SDK,参数:isRoaming 是否消息漫游 bool值 |
Register(account:string,token:string) | 极光sdk注册用户,参数:account 为账户ID,token 为账户密码,两者都为String 类型 |
LoginSDK(account:string,token:string) | 极光sdk用户登录,参数:account 为账户ID,token 为账户密码,两者都为String 类型 |
LogoutSDK() | 极光sdk用户登出,无参数。 |
SendTextMsg(appKey:string,account:string,content:string) | 单聊发送文本消息,参数:appKey 为应用的密钥,account 为需要发送消息到达的账户ID,content 为消息文本内容,全为String 类型 |
EnterChatRoom(roomID:long) | 进入指定聊天室,参数:roomID 为聊天室的ID。 类型:长整型 |
QuitChatRoom(roomID:long) | 退出指定聊天室,参数:roomID 为聊天室的ID。 类型:长整型 |
SendChatRoomMsg(roomID:long,content:string,msg_type:string) | 聊天室发送消息用,参数:roomID 为聊天室ID,content 为消息文本内容,msg_type:为消息类型,字符串类型,“1”代表发送文本消息,“2”代表发送图片消息。 |
Lua 调用示例:
-- 注册接口
function _M:register(param)
local json_str = U.json.encode(param)
U.log.i(json_str)
jim_client_api:Register(json_str)
end
事件回调表格
回调名 | 具体功能 |
---|---|
OnRegisterEvent() | 注册回调,返回一个表格,其中包含两个参数, response_code Int 型参数,0代表成功,否则为失败。desc 为错误描述信息,String类型。 |
OnLoginEvent() | 登录回调,返回一个表格,其中包含一个 response_code Int 型参数,0代表成功,否则为失败。desc 为错误描述信息,String类型。 |
OnRecTextMsg() | 接受到单聊消息回调,回调参数:一个表格,source_name 消息来源的用户id,content 消息内容,msg_type 消息类型。全为 String 类型 |
OnRecChatRoomTextMsg() | 接收到聊天室消息回调,回调参数:一个表格,包含 cid 消息id,source_name 消息来源的用户id,content 消息内容,msg_type 消息类型。全为 String 类型 |
-- 回调事件注册
jim_talk_api.onRegisterEvent = U.handle(self, self.on_register)
jim_talk_api.onLoginEvent = U.handle(self, self.on_login)
jim_talk_api.onRecTextMsg = U.handle(self, self.on_rec_text_msg)
jim_talk_api.onRecChatRoomTextMsg = U.handle(self, self.on_rec_chatroom_text_msg)
TODO
用户登录状态变更回调
单聊发送消息回调
进入聊天室回调
退出聊天室回调
聊天室发送消息回调