跑通圈组 Demo 源码

更新时间: 2023/08/08 03:07:47

圈组是网易云信IM即时通讯服务的全新能力,可用来帮助您构建“类 Discord 即时通讯社群”。圈组与单聊(点对点聊天)、群聊、聊天室一起构成网易云信IM即时通讯服务的四大能力模块。

效果展示

基本概念

  • 服务器:圈组服务器(Server)并非传统意义上的服务器,它是社群本身。所有的内容、兴趣、话题、关系都是以此为基础进行发展的。在圈组的场景下,任何行为的开始前都应该先创建一个圈组服务器。当用户开始邀请朋友时,是以圈组服务器的维度去发起邀请的。也就是说,用户的朋友加入的是圈组服务器。
  • 频道:频道(Channel)是社群里的话题承载者。所有频道都要在圈组服务器下创建。 只有圈组服务器的成员才有可能访问该服务器的频道。
  • 身份组:身份组是拥有完善且灵活的配置机制的权限管理系统,它包含两大元素:权限组和拥有这些权限的用户。身份组适用于在不同维度(例如社区维度和房间维度)对用户进行差异化的权限管控。

前提条件

在开始运行示例项目之前,请确保您已:

  • 已在云信控制台创建应用,获取 App Key。

  • 注册云信 IM 账号,获取 accid 和 token。

  • 准备如下开发环境/工具:

    • Android Studio Bumblebee
    • Java 11
    • Gradle 7.4.1
    • Android Gradle Plugin 7.1.3

跑通流程

  1. 前往 GitHub 下载圈组 Demo 源码

  2. 将示例项目导入 Android Studio。

  3. 在 AndroidManefest.xml 中配置 App Key。

    如果需要使用“发送地理位置消息”的功能,还需在 AndroidManefest.xml 中配置高德地图 API Key 和定位服务(APSService)。

    示例代码:

    <!--在application节点里面增加<meta-data>配置云信APPKey等-->
        <application ...>
        <!-- 云信 APPKEY -->
        <meta-data
            android:name="com.netease.nim.appKey"
            android:value="your APPKey" /> 
        <!-- 高德地图API Key -->
        <meta-data
            android:name="com.amap.api.v2.apikey"
            android:value="apikey" />  
        <!-- 高德地图定位 -->
        <service android:name="com.amap.api.location.APSService" />
    </application>
    
  4. 配置 IM 账号(accid)和 token。

    WelcomActivity 中的startLogin方法中填入您申请的 IM 账号和 token。

    示例代码:

    private void startLogin() {
        ALog.d(Constant.PROJECT_TAG, TAG, "startLogin");
    
        String account = ""; // 传入IM账号(accid)
        String token = ""; // 传入 token 
        LoginInfo loginInfo = LoginInfo.LoginInfoBuilder.loginInfoDefault(account,token).build();
    
        if (!TextUtils.isEmpty(account) && !TextUtils.isEmpty(token)) {
            loginQChat(loginInfo);
        } else {
            activityWelcomeBinding.appDesc.setVisibility(View.GONE);
            activityWelcomeBinding.loginButton.setVisibility(View.VISIBLE);
            activityWelcomeBinding.loginButton.setOnClickListener(view -> launchLoginPage());
        }
    }
    
  5. 将源码运行在您的 Android 设备上,即可开始体验圈组 Demo。

相关信息

本工程包含 Demo 和圈组 UIKit 源码,Demo 默认采用 Maven 方式引入qchatKit-ui(圈组模块)、chatkit-ui(会话模块)等。如果想修改为源码依赖,请在 app/build. gradle 文件中修改依赖方式即可。

此文档是否对你有帮助?
有帮助
去反馈
  • 效果展示
  • 基本概念
  • 前提条件
  • 跑通流程
  • 相关信息