tencent cloud

Feedback

Last updated: 2024-04-26 16:48:02
    This article will guide you through the process of quickly integrating the TUILiveKit component. By following this document, you will complete the following key steps within an hour and ultimately obtain a video or voice live streaming function with a complete UI interface.

    Environment Preparations

    Android 5.0 (SDK API level 21) or above.
    Android Studio 4.2.1 or above.
    Devices with Android 5.0 or above.

    Step 1. Activate the service

    Before using the Audio and Video Services provided by Tencent Cloud, you need to go to the Console and activate the service for your application. For detailed steps, refer to Activate the service

    Step 2: Download TUILiveKit component

    Java
    Clone/download the code in Github , and then copy the tuilivekit subdirectory in the Android directory to the same level directory as the app in your current project, as shown below:
    
    
    

    Step 3: Project configuration

    Java
    1. Find the 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'
    2. Find the 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')
    Notice
    The TUILiveKit project has internal dependencies by default: TRTC SDKIM SDKtuiroomengineand 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.
    3. Since we use the reflection feature of Java inside the SDK, we need to add some classes in the SDK to the unobfuscated list, so you need to add the following code to the proguard-rules.pro file:
    -keep class com.tencent.** { *; }
    Note
    TUILiveKit will internally help you dynamically apply for camera, microphone, read storage permissions, etc. If you need to delete it due to your business problems, you can modifytuilivekit/src/main/AndroidManifest.xml

    Step 4. Log in

    Add the following code to your project, which completes the login of the TUI component by calling the relevant interface in TUICore. This step is very important, because you can use all functions of TUILiveKit only after the login is successful. Therefore, please patiently check whether the relevant parameters are correctly configured.
    java
    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 in
    new TUICallback() {
    @Override
    public void onSuccess() {
    Log.i(TAG, "login success");
    }
    
    @Override
    public void onError(int errorCode, String errorMessage) {
    Log.e(TAG, "login failed, errorCode: " + errorCode + " msg:" + errorMessage);
    }
    });
    Parameter description: The key parameters used by the login function are as detailed below:
    SDKAppID: Obtained in the last step in Step 1 and not detailed here.
    UserID: The ID of the current user, which is a string that can contain only letters (a–z and A–Z), digits (0–9), hyphens (-), or underscores (_).
    UserSig: The authentication credential used by Tencent Cloud to verify whether the current user is allowed to use the TRTC service. You can get it by using the 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.
    
    
    
    For more information, see UserSig.
    Note
    Many developers have contacted us with many questions regarding this step. Below are some of the frequently encountered problems:
    SDKAppID is invalid.
    userSig is set to the value of Secretkey mistakenly. The userSig is generated by using the SecretKey for the purpose of encrypting information such as sdkAppId, userId, and the expiration time. But the value of the userSig that is required cannot be directly substituted with the value of the SecretKey.
    userId is set to a simple string such as 1, 123, or 111, and your colleague may be using the same userId while working on a project simultaneously. In this case, login will fail as TRTC doesn't support login on multiple terminals with the same UserID. Therefore, we recommend you use some distinguishable userId values during debugging.
    The sample code on GitHub uses the 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 TUICallKit component from the server.

    Step 5. Enter the live preview screen

    1. Create a new file named app_activity_anchor.xml.
    <?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>
    2. Create a new file named AnchorActivity. By loading TUILiveKit TUILiveRoomAnchorFragment page, you can pull up preview screen, click on "start live" can be launched online video broadcast.
    java
    public class AnchorActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.app_activity_anchor); //RoomId can be customized
    String roomId = "123666";
    
    //Show the anchor preview page in the Activity. Click the Start Live button on the preview page to initiate live online video
    FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); TUILiveRoomAnchorFragment anchorFragment = new TUILiveRoomAnchorFragment(roomId); fragmentTransaction.add(R.id.fl_container, anchorFragment); fragmentTransaction.commit(); } }
    
    
    
    Video Live Preview Screen
    
    
    
    Live video streaming with pictures

    Step 6. The audience enters the studio

    1. Create a new file named app_activity_audience.xml.
    <?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>
    2. Create a new file named AudienceActivity. By loading TUILiveKit TUILiveRoomAudienceFragment page, you can enter room.
    java
    public class AudienceActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.app_activity_audience); //RoomId is the id of the room where the broadcast room is created
    String roomId = "123666";
    // Displays the audience page in the Activity FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); TUILiveRoomAudienceFragment audienceFragment = new TUILiveRoomAudienceFragment(roomId); fragmentTransaction.add(R.id.fl_container, audienceFragment); fragmentTransaction.commit(); } }
    
    
    
    Video Live Room
    
    
    
    Video Live Room

    More features

    Barrage
    Gift

    Q&A

    If you encounter problems with access and use, see Q&A
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support