logo
当前页

快速开始

这份文档将指导您集成 IMKit 并快速开始聊天。

前提条件

  • 前往ZEGO管理控制台并执行以下操作:
    1. 创建一个项目,并获取您的项目的AppIDAppSign
    2. 激活即时通讯服务。
  • 准备环境:
    • Android Studio Arctic Fox(2020.3.1)或更高版本
    • Android SDK包:Android SDK 30,Android SDK平台-工具30
    • 运行在Android 5.0或更高版本且支持音频和视频的Android设备或模拟器。我们建议您使用真实设备。
    • Android设备和您的计算机已连接到互联网。

集成 SDK

1
将 com.github.ZEGOCLOUD:zego_inapp_chat_uikit_android 添加为依赖项
  • 添加 jitpack 配置
Android Gradle 插件版本为 7.1.0 或更高

进入项目的根目录,打开 settings.gradle 文件,将 jitpack 添加到 dependencyResolutionManagement > repositories 中,如下所示:

settings.gradle
dependencyResolutionManagement {
   repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
   repositories {
      google()
      mavenCentral()
      maven { url 'https://storage.zego.im/maven' }   // <- Add this line.
      maven { url 'https://www.jitpack.io' } // <- Add this line.
   }
}
1
Copied!
警告

如果在settings.gradle中找不到上述字段,可能是因为您的Android Gradle插件版本低于v7.1.0。

更多详细信息,请参阅Android Gradle插件发布说明v7.1.0

  • 修改应用级 build.gradle 文件
Untitled
dependencies {
    ...
    implementation 'com.github.ZEGOCLOUD:zego_inapp_chat_uikit_android:+'    // add this line in your module-level build.gradle file's dependencies, usually named [app].
}
1
Copied!
2
调用 init 方法来初始化 IMKit
MyApplication.java

import android.app.Application;

import com.zegocloud.zimkit.services.ZIMKit;

public class MyApplication extends Application {
    public static MyApplication sInstance;

    @Override
    public void onCreate() {
        super.onCreate();
        sInstance = this;
        Long appId = ;    // The AppID you get from ZEGOCLOUD Admin Console.
        String appSign = ;    // The App Sign you get from ZEGOCLOUD Admin Console.
        ZIMKit.initWith(this,appId,appSign);
        // Online notification for the initialization (use the following code if this is needed).
        ZIMKit.initNotifications();
    }
}
1
Copied!
3
在登录页面上调用 connectUser 方法以登录到 IMKit
警告

您可以自定义规则来生成用户ID和用户名。我们建议您设置一个有意义的用户ID。您可以将用户ID与您的业务账户系统关联起来。

MyZIMKitActivity.java

import android.content.Intent;
import android.os.Bundle;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import im.zego.zim.enums.ZIMErrorCode;
import com.zegocloud.zimkit.services.ZIMKit;

public class MyZIMKitActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    public void buttonClick() {
        // 用户ID和用户名:1到32个字符,只能包含数字、字母和以下特殊字符:'~'、'!'、'@'、'#'、'$'、'%'、'^'、'&'、'*'、'('、')'、'_'、'+'、'='、'-'、'`'、';'、'’'、','、'.'、'<'、'>'、'/'、'\'。
        String userId = ; // 作为用户的您的ID。
        String userName = ; // 作为用户的您的姓名。
        String userAvatar = ; // 您设置的用户头像必须是网络图片。例如,https://storage.zego.im/IMKit/avatar/avatar-0.png。
        connectUser(userId, userName,userAvatar); 
    }

    public void connectUser(String userId, String userName,String userAvatar) {
        // Logs in.
        ZIMKit.connectUser(userId,userName,userAvatar, errorInfo -> {
            if (errorInfo.code == ZIMErrorCode.SUCCESS) {
                // 成功登录后的操作。只有在成功登录后,您才会被重定向到其他模块。在这个示例代码中,您将被重定向到对话模块。
                toConversationActivity();
            } else {

            }
        });
    }

    // 将会话列表集成到您的Activity中作为一个Fragment。
    private void toConversationActivity() {
      // 重定向到您创建的会话列表(Activity)。
      Intent intent = new Intent(this,ConversationActivity.class);
      startActivity(intent);
    }
}
1
Copied!
4
显示 IMKit 的会话组件

ConversationActivity的布局在activity_conversation.xml中指定:

ConversationActivity.java
activity_conversation.xml
   public class ConversationActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_conversation);
    }

}
1
Copied!
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment
        android:id="@+id/frag_conversation_list"
        android:name="com.zegocloud.zimkit.components.conversation.ui.ZIMKitConversationFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>
1
Copied!

理想情况下,到这个时候,您的应用程序应该是这个样子的:

开始聊天

IMKit 支持以下功能:

相关指南

Previous

概述

Next

概述