Quick start (with cohosting)
Prerequisites
- Go to ZEGOCLOUD Admin Console to create a UIKit project.
- Get the AppID and AppSign of the project.
If you don't know how to create a project and obtain an app ID, please refer to this guide.
Prepare the environment
Before you attempt to integrate the SDK, make sure that the development environment meets the following requirements:
- Android Studio 2020.3.1 or a higher version.
- Android SDK 25, Android SDK Build-Tools 25.0.2, and Android SDK Platform-Tools 25.x.x or higher versions.
- An Android device running Android 4.4 or higher that supports audio and video.
- The Android device is connected to the Internet.
Integrate the SDK
Add ZegoUIKitPrebuiltLiveStreaming as dependencies
- Add the
jitpack
configuration.
- 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 todependencyResolutionManagement
>repositories
like this:
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.
}
}
If you can't find the above fields in settings.gradle
, it's probably because your Android Gradle Plugin version is lower than v7.1.0.
For more details, see Android Gradle Plugin Release Note v7.1.0.
- 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 toallprojects
->repositories
like this:
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://storage.zego.im/maven' } // <- Add this line.
maven { url "https://jitpack.io" } // <- Add this line.
}
}
- Modify your app-level
build.gradle
file:
dependencies {
...
implementation 'com.github.ZEGOCLOUD:zego_uikit_prebuilt_live_streaming_android:+' // Add this line to your module-level build.gradle file's dependencies, usually named [app].
implementation 'com.github.ZEGOCLOUD:zego_uikit_signaling_plugin_android:+' // Add this line to your module-level build.gradle file's dependencies, usually named [app].
}
Using the Live Streaming Kit
- Specify the
userID
anduserName
for connecting the Live Streaming Kit service. liveID
represents the live streaming you want to start or watch (only supports single-host live streaming for now).
userID
,userName
, andliveID
can only contain numbers, letters, and underlines (_).- Using the same
liveID
will enter the same live streaming.
With the same liveID
, only one user can enter the live stream as host. Other users need to enter the live stream as the audience.
public class LiveActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_call);
addFragment();
}
public void addFragment() {
long appID = yourAppID;
String appSign = yourAppSign;
String userID = yourUserID;
String userName = yourUserName;
boolean isHost = getIntent().getBooleanExtra("host", false);
String yourLiveID = getIntent().getStringExtra("liveID");
ZegoUIKitPrebuiltLiveStreamingConfig config;
if (isHost) {
config = ZegoUIKitPrebuiltLiveStreamingConfig.host(true);
} else {
config = ZegoUIKitPrebuiltLiveStreamingConfig.audience(true);
}
ZegoUIKitPrebuiltLiveStreamingFragment fragment = ZegoUIKitPrebuiltCallFragment.newInstance(
appID, appSign, userID, userName,yourLiveID,config);
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, fragment)
.commitNow();
}
}
class LiveActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_live)
addFragment()
}
private fun addFragment() {
val appID: Long = yourAppID
val appSign = yourAppSign
val userID = YourUserID
val userName = YourUserName
val isHost = intent.getBooleanExtra("host", false)
val yourLiveID = intent.getStringExtra("liveID")
val config: ZegoUIKitPrebuiltLiveStreamingConfig
config = if (isHost) {
ZegoUIKitPrebuiltLiveStreamingConfig.host(true)
} else {
ZegoUIKitPrebuiltLiveStreamingConfig.audience(true)
}
val fragment = ZegoUIKitPrebuiltLiveStreamingFragment.newInstance(
appID, appSign, userID, userName, yourLiveID, config
)
supportFragmentManager.beginTransaction()
.replace(R.id.fragment_container, fragment)
.commitNow()
}
}
Then, you can start live streaming by starting your LiveActivity
.
Run & Test
Now you have finished all the steps!
You can simply click the Run on Android Studio to run and test your App on the device.
Related guides
Resources
Click here to get the complete sample code.