Talk to us
Talk to us
menu

How to Build Video Conferencing App for Android

How to Build Video Conferencing App for Android

In a virtual, online meeting called an online video conference, two or more people can communicate in real time over an audio and video chat. The culture of remote labor has spread due to the epidemic. Want to create your own video conferencing app for Android is simple? Here is a brief guide on how to quickly build an Android online conferencing application with ZEGOCLOUD UIKits.

Why ZEGOCLOUD SDK for Android Video Conferencing APP

ZEGOCLOUD UIKits is for developers to build video conferencing apps for Android in low code. It is a prebuilt feature-rich component, which enables you to add video conferences to your Android app in minutes.

Additionally, since the business logic is integrated with the user interface, you can modify UI components to add or remove features.

The logic and user interface of the video conferencing capability is completely handled by the Android Video Conference Kit, which is included in UIKits, as depicted in the picture. Include:

  • Multi-user audio/video conferences
  • Adaptive video layouts
  • Real-time sound waves display
  • Customizable UI styles
  • Device management
  • Extendable top/bottom menu bar
  • Customizable conference title
  • Member List
  • Conference join/leave notifications
online conference

You only need to implement business-related logic. For example:

  • User login registration
  • Conference List Management
  • User permission, etc.

Preparation

  • A ZEGOCLOUD developer account–Sign up
  • Android Studio 2020.3.1 or later
  • Devices with Android 5.0 or later
  • Basic understanding of Android development

How to Build Online Video Conferencing App on Android

1. Create a project

Open your Android Studio, click New Project- Empty Acticvity, then change the Project Name, package name, project location, language and min SDK if you need。

2. Create a new Empty Activity

create a new Empty Activity called ConferenceActivity, and add a join online conference button in MainActivity to navigate to it.

findViewById(R.id.button).setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(MainActivity.this,ConferenceActivity.class);
        startActivity(intent);
    }
});
main activity

3. Add jitpack

If your Android Gradle Plugin is 7.1.0 or later: enter your project’s root directory, open the settings.gradle file to add the jitpack to dependencyResolutionManagement -> repositories like this:

dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
    google()
    mavenCentral()
    maven { url 'https://www.jitpack.io' } // <- Add this line.
}
}
jitpack

If your Android Gradle Plugin is earlier than 7.1.0: enter your project’s root directory, open the build.gradle file to add the jitpack to allprojects -> repositories like this:

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url "https://jitpack.io" }  // <- Add this line.
    }
}

4. Modify app-level

Modify your app-level on build.gradle file.

dependencies {
    ...
    implementation 'com.github.ZEGOCLOUD:zego_uikit_prebuilt_video_conference_android:latest.release'
}
prebuilt

5. Add prebuilt UI to the project.

  1. Go to ZEGOCLOUD Admin Console, get the appID and appSign of your project.
  2. Specify the userID and userName for connecting the Video Conference Kit service.
  3. Create a conferenceID that represents the conference you want to start.
  4. add a method in ConferenceActivity and call it in the ConferenceActivity‘s onCreate method.
public class ConferenceActivity extends AppCompatActivity {

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

        addFragment();
    }

    public void addFragment(){
        long appID = yourAppID; // your appID, get from ZEGOCLOUD console
        String appSign = yourAppSign; //your appSign, get from ZEGOCLOUD console

        String userID =  ;  // your userID
        String userName =  ;  // your userName
        String conferenceID =  // conferenceID

        ZegoUIKitPrebuiltVideoConferenceConfig config = new ZegoUIKitPrebuiltVideoConferenceConfig();
        ZegoUIKitPrebuiltVideoConferenceFragment fragment = ZegoUIKitPrebuiltVideoConferenceFragment.newInstance(
            appID,appSign,userID,userName,conferenceID,config);
        getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,fragment).commitNow();
    }
}
conference

6. Assign id for the root view

Modify the auto-created activity_conference.xml file, assign a id fragment_container for the root view:

        <?xml version="1.0" encoding="utf-8"?>
        <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/fragment_container"    
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        </androidx.constraintlayout.widget.ConstraintLayout>

Custom Prebuilt UI

You can custom prebuilt UI by modifying the ZegoUIKitPrebuiltVideoConferenceConfig :

ZegoUIKitPrebuiltVideoConferenceConfig config = new ZegoUIKitPrebuiltVideoConferenceConfig();
config.turnOnCameraWhenJoining = false;
config.audioVideoViewConfig.useVideoViewAspectFill = true;
config.bottomMenuBarConfig.buttons = Arrays.asList(
    ZegoMenuBarButtonName.TOGGLE_CAMERA_BUTTON,
    ZegoMenuBarButtonName.LEAVE_BUTTON,
    ZegoMenuBarButtonName.CHAT_BUTTON
);
config.topMenuBarConfig.isVisible = false;
config.inRoomNotificationViewConfig.notifyUserLeave = false;
config.memberListConfig.showCameraState = false;

You can download the source code from here.

Conclusion

Even though video conferencing is a competitive and rapidly changing market, there is still a lack of highly secured and customizable video conferencing platforms like Zoom. That’s why many businesses consider developing software tailored to their industry and customers. If you need a deeper requirement for your video conferencing app building, ZEGOCLOUD comes with a video call SDK that allows developers to customize video UI/UX. Sign up and try it now!

Read more:

Talk to Expert

Learn more about our solutions and get your question answered.

Talk to us

Take your apps to the next level with our voice, video and chat APIs

Free Trial
  • 10,000 minutes for free
  • 4,000+ corporate clients
  • 3 Billion daily call minutes

Stay updated with us by signing up for our newsletter!

Don't miss out on important news and updates from ZEGOCLOUD!

* You may unsubscribe at any time using the unsubscribe link in the digest email. See our privacy policy for more information.