admin管理员组

文章数量:1130349

融云

以下步骤都是建立在项目已经导入 IMKit的基础上的。

1、配置融云APPKEY

打开 IMKit 的 AndroidManifest 找到 以下内容并且替换为你自己的融云APPKEY。

<meta-dataandroid:name="RONG_CLOUD_APP_KEY"android:value="您自己的App Key" /> 

2、初始化融云

在Application的onCreate()方法中加入:

 /***  初始化*/RongIM.init(this);

3、登录的用户连接到融云服务器

首先在通过融云 Server API 接口获取 Token,然后再把 Token 传入 connect 方法,开始连接服务器。在整个应用程序全局,只需要调用一次 connect 方法,SDK 会负责自动重连。

 /*** 建立与服务器的连接*/RongIM.connect(token, new RongIMClient.ConnectCallback() {/*** Token 错误,在线上环境下主要是因为 Token 已经过期,您需要向 App Server 重新请求一个新的 Token*/@Overridepublic void onTokenIncorrect() {Log.d("LoginActivity", "--onTokenIncorrect");}/*** 连接融云成功* @param userid 当前 token*/@Overridepublic void onSuccess(String userid) {Log.d("LoginActivity", "--onSuccess" + userid);//您需要的操作}/*** 连接融云失败* @param errorCode 错误码,可到官网 查看错误码对应的注释*/@Overridepublic void onError(RongIMClient.ErrorCode errorCode){Log.d("LoginActivity", "--onError" + errorCode);}});

4、配置会话列表

在项目中建一个Activity和xml文件。

public class ConversationListActivity extends FragmentActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.conversationlist);}}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=""android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent"><fragment
        android:id="@+id/conversationlist"android:name="io.rong.imkit.fragment.ConversationListFragment"android:layout_width="match_parent"android:layout_height="match_parent" /></LinearLayout>

注意:android:name 是固定的,fragment必须给一个id

在 AndroidManifest.xml 中配置 intent-filter:
融云的会话列表和会话界面都需要接收 intent 并实现跳转,比如收到通知或推送后,点击通知栏可以跳转到会话列表。因此您需要在 AndroidManifest.xml 中,您的会话列表 Activity 下面配置 intent-filter,其中,android:host 是您应用的包名,需要手动修改,其他请保持不变。

<!--会话列表-->
<activity
    android:name="您建立的会话列表Activity"android:screenOrientation="portrait"android:windowSoftInputMode="stateHidden|adjustResize"><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><data
            android:host="您应用的包名"android:pathPrefix="/conversationlist"android:scheme="rong" /></intent-filter>
</activity>

5、启动会话界面

完成以上配置后,即可启动会话及会话列表界面,启动界面操作必须在执行初始化 SDK 方法 init 及连接融云服务器 connect 之后进行。

 /*** 启动单聊* context - 应用上下文。* targetUserId - 要与之聊天的用户 Id。* title - 聊天的标题,如果传入空值,则默认显示与之聊天的用户名称。*/if (RongIM.getInstance() != null) {RongIM.getInstance().startPrivateChat(context , targetUserId , title);}

6、自定义广播接收器

2.6.0 之后的版本必须自定义一个继承 PushMessageReceiver 的广播接收器,否则可能会导致点击后台通知没有反应,或者收不到推送通知等问题。
点击这里

融云

以下步骤都是建立在项目已经导入 IMKit的基础上的。

1、配置融云APPKEY

打开 IMKit 的 AndroidManifest 找到 以下内容并且替换为你自己的融云APPKEY。

<meta-dataandroid:name="RONG_CLOUD_APP_KEY"android:value="您自己的App Key" /> 

2、初始化融云

在Application的onCreate()方法中加入:

 /***  初始化*/RongIM.init(this);

3、登录的用户连接到融云服务器

首先在通过融云 Server API 接口获取 Token,然后再把 Token 传入 connect 方法,开始连接服务器。在整个应用程序全局,只需要调用一次 connect 方法,SDK 会负责自动重连。

 /*** 建立与服务器的连接*/RongIM.connect(token, new RongIMClient.ConnectCallback() {/*** Token 错误,在线上环境下主要是因为 Token 已经过期,您需要向 App Server 重新请求一个新的 Token*/@Overridepublic void onTokenIncorrect() {Log.d("LoginActivity", "--onTokenIncorrect");}/*** 连接融云成功* @param userid 当前 token*/@Overridepublic void onSuccess(String userid) {Log.d("LoginActivity", "--onSuccess" + userid);//您需要的操作}/*** 连接融云失败* @param errorCode 错误码,可到官网 查看错误码对应的注释*/@Overridepublic void onError(RongIMClient.ErrorCode errorCode){Log.d("LoginActivity", "--onError" + errorCode);}});

4、配置会话列表

在项目中建一个Activity和xml文件。

public class ConversationListActivity extends FragmentActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.conversationlist);}}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=""android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent"><fragment
        android:id="@+id/conversationlist"android:name="io.rong.imkit.fragment.ConversationListFragment"android:layout_width="match_parent"android:layout_height="match_parent" /></LinearLayout>

注意:android:name 是固定的,fragment必须给一个id

在 AndroidManifest.xml 中配置 intent-filter:
融云的会话列表和会话界面都需要接收 intent 并实现跳转,比如收到通知或推送后,点击通知栏可以跳转到会话列表。因此您需要在 AndroidManifest.xml 中,您的会话列表 Activity 下面配置 intent-filter,其中,android:host 是您应用的包名,需要手动修改,其他请保持不变。

<!--会话列表-->
<activity
    android:name="您建立的会话列表Activity"android:screenOrientation="portrait"android:windowSoftInputMode="stateHidden|adjustResize"><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><data
            android:host="您应用的包名"android:pathPrefix="/conversationlist"android:scheme="rong" /></intent-filter>
</activity>

5、启动会话界面

完成以上配置后,即可启动会话及会话列表界面,启动界面操作必须在执行初始化 SDK 方法 init 及连接融云服务器 connect 之后进行。

 /*** 启动单聊* context - 应用上下文。* targetUserId - 要与之聊天的用户 Id。* title - 聊天的标题,如果传入空值,则默认显示与之聊天的用户名称。*/if (RongIM.getInstance() != null) {RongIM.getInstance().startPrivateChat(context , targetUserId , title);}

6、自定义广播接收器

2.6.0 之后的版本必须自定义一个继承 PushMessageReceiver 的广播接收器,否则可能会导致点击后台通知没有反应,或者收不到推送通知等问题。
点击这里

本文标签: 融云