jitpack
repository dependencies to your project (Download the three-party library SVGAPlayer
that plays gift svg animation):build.gradle
file in the root directory of the project:allprojects { repositories { google() mavenCentral()// add jitpack repository maven { url 'https://jitpack.io' } } }
settings.gradle
file in the root directory of the project:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral()// add jitpack repository maven { url 'https://jitpack.io' } } }
settings.gradle
file in the project root directory and add the following code to it. Its function is to import the tuilivekit component downloaded in Step 2 into your current project:include ':tuilivekit'
build.gradle
file in the app directory and add the following code to it. Its function is to declare the dependence of the current app on the newly added tuilivekit component:api project(':tuilivekit')
TRTC SDK
、IM SDK
、tuiroomengine
and the public library tuicore
, and does not require separate configuration by developers. If you need to upgrade the version, just modify the tuilivekit/build.gradle
file.proguard-rules.pro
file:-keep class com.tencent.** { *; }
AndroidManifest.xml
, set a Theme.AppCompat
Theme to the android:theme
attribute of application
:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><application android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">...</application></manifest>
tuilivekit/src/main/AndroidManifest.xml
。AndroidManifest.xml,
please refer to allowBackup Exceptions.Theme.AppCompat
, please refer to Activity Theme Questions.TUILogin.login(context,1400000001, // Replace it with the SDKAppID obtained in Step 1"denny", // Please replace it with your UserID"xxxxxxxxxxx", // You can calculate a UserSig in the console and fill it innew TUICallback() {@Overridepublic void onSuccess() {Log.i(TAG, "login success");}@Overridepublic void onError(int errorCode, String errorMessage) {Log.e(TAG, "login failed, errorCode: " + errorCode + " msg:" + errorMessage);}});
login
function are as detailed below:SDKSecretKey
to encrypt the information such as SDKAppID
and UserID
. You can generate a temporary UserSig
by clicking the UserSig Generate button in the console.genTestUserSig
function to calculate UserSig
locally, so as to help you complete the current integration process more quickly. However, this scheme exposes your SecretKey
in the application code, which makes it difficult for you to upgrade and protect your SecretKey
subsequently. Therefore, we strongly recommend you run the UserSig
calculation logic on the server and make the application request the UserSig
calculated in real time every time the application uses the TUILiveKit
component from the server.<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/fl_container" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
StartLiveActivity.java
and register in the AndroidManifest.xml
. By loading TUILiveKit TUILiveAnchorFragment
page, you can pull up preview screen.public classStartLiveActivity
extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.app_activity_anchor); FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); LiveIdentityGenerator identityGenerator = LiveIdentityGenerator.getInstance(); String liveRoomId = identityGenerator.generateId(TUILogin.getUserId(), RoomType.LIVE); String voiceRoomId = identityGenerator.generateId(TUILogin.getUserId(), RoomType.VOICE); TUILiveAnchorFragment anchorFragment = new TUILiveAnchorFragment(liveRoomId, voiceRoomId); fragmentTransaction.add(R.id.fl_container, anchorFragment); fragmentTransaction.commit(); } }
TUILiveAnchorFragment
needs to pass in two parameters: liveRoomId
and voiceRoomId
, the naming convention of liveRoomId is "live_xxx", and the naming convention of voiceRoomId is "voice_xxx". You can use the generateId
method of the utility class LiveIdentityGenerator
to help generate the corresponding RoomId. For example, if you pass "123456" and RoomType.LIVE to the generateId method, you will get a RoomId of "live_123456".StartLiveActivity
in AndroidManifest.xml
of the app Project (please use the actual package name of your StartLiveActivity
):<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><application>...<!-- Example: To registerStartLiveActivity
, please use your actual package name --><activityandroid:name="com.trtc.uikit.livekit.example.view.main.StartLiveActivity"android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"/>...</application></manifest>
StartLiveActivity
inherited from AppCompatActivity
, StartLiveActivity
was given a Theme.AppCompat
theme. You can modify it to your own Theme.AppCompat
theme.Intent intent = new Intent(context,StartLiveActivity
.class); startActivity(intent);
![]() Video Live Preview Screen | ![]() Live video streaming with pictures |
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/fl_live_list" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
MainActivity.java
and register in the AndroidManifest.xml
. By loading TUILiveKit TUILiveListFragment
page, you can Present a list of roomspublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.app_activity_main);FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); TUILiveListFragment listFragment = new TUILiveListFragment(); fragmentTransaction.add(R.id.fl_live_list, listFragment); fragmentTransaction.commit(); } }
MainActivity
in AndroidManifest.xml
of the app Project (please use the actual package name of your MainActivity
):<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><application>...<!-- Example: To register MainActivity, please use your actual package name --><activityandroid:name="com.trtc.uikit.livekit.example.view.main.MainActivity"android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"/>...</application></manifest>
MainActivity
inherited from AppCompatActivity
, MainActivity
was given a Theme.AppCompat
theme. You can modify it to your own Theme.AppCompat
theme.![]() |
![]() Video Live Room | ![]() Video Live Room |
Was this page helpful?