
IM即时通讯
安全可靠、全球互通

实时音视频
流畅稳定、省钱省力
回答:
一 核心类说明
a. 使用 IMKit SDK, 核心类为 RongIM。
b. 使用 IMLib SDK, 核心类为 RongIMClient
调用任何 API 方法(包括初始化)时,请务必确保通过对应的核心类进行调用,否则会导致异常。
二 初始化时机
a. 在应用 **主进程** 中,初始化一次即可。
b. 快速集成时,推荐在 Application 的 onCreate() 复写方法中初始化 SDK。
c. 鉴于大部分正式应用,根据工信部要求,会有用户隐私协议页面,您也可以在用户接受隐私协议后再初始化。
三 示例代码
下面代码示范了如果在用户接受隐私协议后再初始化 SDK,以使用 IMKit SDK 为例。
如果您使用的是 IMlib SDK, 请将示例代码中的 RongIM 替换为 RongIMClient.
/** * 应用启动时,判断用户是否已接受隐私协议,如果已接受,正常初始化;否则跳转到隐私授权页面请求用户授权。 */ public class App extends Application { @Override public void onCreate() { super.onCreate(); //伪代码,从 sp 里读取用户是否已接受隐私协议 boolean isPrivacyAccepted = getPrivacyStateFromSp(); //用户已接受隐私协议,进行初始化 if (isPrivacyAccepted) { String appKey = "融云开发者后台创建的应用的 AppKey"; //第一个参数必须传应用上下文 RongIM.init(this.getApplicationContext(), appKey); } else { //用户未接受隐私协议,跳转到隐私授权页面。 goToPrivacyActivity(); } ... }} /** * 该类为隐私授权页面,示范如何在用户接受隐私协议后进行 IM 初始化。 */ public class PrivacyActivity extends Activity implements View.OnClickListener { ... @Override public void onClick(View v) { switch (v.getId()) { case R.id.accept_privacy: //伪代码,保存到 sp savePrivacyStateToSp(); String appKey = "融云开发者后台创建的应用的 AppKey"; //第一个参数必须传应用上下文 RongIM.init(this.getApplicationContext(), appKey); break; default: ... } }}