SDK初始化:
HighApi为SDK核心类,请客户端持有其唯一单例对API进行调用。
HighApi构造器函数
HighApi(Context appContext, final String appId, ApiInitListener apiInitListener)
参数说明:appContext 全应用上下文对象,推荐使用applicationappid 平台为引用分配的唯一标示,可在后台管理出查看。apiInitListener 初始化监听器,由于现SDK为异步初始化,部分其他设定需要在SDK初始化完成后执行,便可写在此监听对象的回调函数中。 聊天服务器的登录:HighApi 方法
public void initChatClient(String account, String pw)
方法说明:
根据用户在我嗨平台的帐号密码初始化聊天客户端并验证当前用户身份,用户未注册时,将自动注册登录。请在HighApi初始成功化后执行该方法。
添加聊天消息监听:
HighApi方法
public void addMessageListener(MessageListener messageListener)
方法说明:
为聊天服务添加监听,收到新消息时会回调监听对象的 onMessageArrived(HMessage hMessage) 方法。注意:不需要监听时请移除该监听。
移除聊天消息监听:
HighApi方法
public void removeMessageListener(MessageListener messageListener)
方法说明:
当不在需要监听并响应新消息时调用,移除已经注册的消息监听。
订阅聊天室方法:
HighApi方法
public void chatClientSubscribe(String clientId)
方法说明:
需在聊天客户端初始化后调用。
参数说明:
clientId 客户端用户为已标示符。
添加订阅监听方法:
HighApi方法
public void addSubscribeListener(ChatSubscribeListener chatSubscribeListener)
方法说明:
为聊天服务添加订阅监听,分别在订阅成功/订阅失败/取消订阅成功时调用对应的回调方法。
发送消息方法:
HighApi方法
public void sendMessage(String msg, String topic)
方法说明:
向指定频道发送消息。
参数说明:
msg 自定义格式的消息
topic 所要发送的目标频道
HighApi方法
public void sendMessage(HMessage hMessage, String topic)
參數說明:
hMessage 预定义的消息对象
topic 所要发送的目标频道
使用示例demo代码:
package com.yaoshi.wohai.highsdkdemo.activity; import android.app.Application; import android.util.Log; import com.wohai.yaoshi.highsdk.chat.listener.ChatSubscribeListener; import com.wohai.yaoshi.highsdk.chat.message.HMessage; import com.wohai.yaoshi.highsdk.chat.service.MessageListener; import com.wohai.yaoshi.highsdk.chat.service.exception.NotInitException; import com.wohai.yaoshi.highsdk.main.ApiInitListener; import com.wohai.yaoshi.highsdk.main.HighApi; public class DemoApplication extends Application implements ApiInitListener { private static HighApi highApi; private final static String TAG = "DemoApplication"; @Override public void onCreate() { super.onCreate(); //init high sdk. highApi = new HighApi(this, "testAppId", this); } @Override public void onComplete() { try { highApi.initChatClient("testClient", "testPw"); highApi.addMessageListener(new MessageListener() { @Override public void onMessageArrived(HMessage hMessage) { Log.d(TAG, "onMessageArrived: message = " + hMessage); } }); highApi.addSubscribeListener(new ChatSubscribeListener() { @Override public void onClientSubscribeSuccess(String s) { highApi.sendMessage("test", "test"); } @Override public void onClientSubscribeFail(String s, int i) { } @Override public void onUnSubscribeFail(String s) { } }); } catch (NotInitException e) { e.printStackTrace(); } try { highApi.chatClientSubscribe("test"); } catch (NotInitException e) { e.printStackTrace(); } } public static HighApi getHighApi() { return highApi; } }
时间: 2024-10-13 07:57:39