프로젝트에 아래 코드를 추가합니다. 그 기능은 TUILogin의 관련 인터페이스를 호출하여 컴포넌트의 로그인을 완료하는 것입니다. 이 단계는 아주 중요합니다. 로그인 후에만 TUIRoomKit의 각 기능을 정상적으로 사용할 수 있기 때문에 관련 매개변수의 구성이 정확한지 여부를 세심하게 확인하시기 바랍니다.
UserID: 현재 사용자의 ID로 문자열 유형이며 영어 문자(az 및 AZ), 숫자(0~9), 하이픈(-) 및 밑줄(_)만 허용합니다.
UserSig: 서비스 활성화의 세 번째 단계에서 획득한 SDKSecretKey로 SDKAppID, UserID 등 정보를 암호화하여 얻을 수 있으며, UserSig는 Tencent Cloud에서 현재 사용자가 TRTC의 서비스를 이용할 수 있는지 여부를 식별하는 데 사용되는 인증용 티켓입니다. 콘솔의 보조 툴을 통해 하나의 임시 사용 가능한 UserSig를 생성할 수 있습니다.
개발 환경: 로컬 개발 디버깅 단계에 있다면, 로컬 GenerateTestUserSig.genTestUserSig() 함수를 사용하여 userSig를 생성할 수 있습니다. 이 방법에서 SDKSecretKey는 역컴파일에 의해 쉽게 해독되며, 암호키가 유출되면 공격자가 당신의 Tencent Cloud 트래픽을 도용할 수 있습니다.
2. ConferenceMainFragment는 회의 메인 인터페이스입니다. quickStartConference 방법(이 방법에서는 사용자 정의 방 번호를 입력함)을 호출하여 빠른 회의를 개시하고, 빠른 회의의 콜백 onConferenceStarted에서 ConferenceMainFragment를 현재 Activity에 추가하면 빠른 회의를 개시할 수 있습니다.
classConferenceOwnerActivity:AppCompatActivity(){privatevar mConferenceObserver :ConferenceObserver?=null
override fun onCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_conference)var fragment =ConferenceMainFragment()
mConferenceObserver = object:ConferenceObserver(){
override fun onConferenceStarted(conferenceId:String?, error:ConferenceError?){super.onConferenceStarted(conferenceId, error)if(error !=ConferenceError.SUCCESS){return}
val fragmentManager = supportFragmentManager
val transaction = fragmentManager.beginTransaction()
transaction.add(R.id.conference_container, fragment)
transaction.commitAllowingStateLoss()}}
fragment.setConferenceObserver(mConferenceObserver)// Replace "123456" with the corresponding conference number
fragment.quickStartConference("123456")}}
<!-- 아래 코드를 추가하여 ConferenceOwnerActivity 등록 --><activity android:name=".ConferenceOwnerActivity" /></application></manifest>
주의:
ConferenceOwnerActivity는 반드시 AppCompatActivity를 상속해야 합니다. 그렇지 않으면 표시할 수 없게 됩니다.
ConferenceOwnerActivity는 반드시 AndroidManifest.xml 파일에 등록해야 합니다.
3. TUILogin.login 함수를 호출한 후 실제 업무에 따라 회의 개시가 필요한 곳에서 ConferenceOwnerActivity 회의 인터페이스를 시작할 수 있습니다. 예를 들어, 하나의 빈 프로젝트의 MainActivity.java에서 회의 인터페이스를 시작하는 예시 코드는 다음과 같습니다.
// 회의 인터페이스 시작하기 Intent intent = new Intent(MainActivity.this, ConferenceOwnerActivity.class); startActivity(intent); } }
importandroid.content.Intent
importandroid.os.Bundle
importandroidx.appcompat.app.AppCompatActivity
classMainActivity:AppCompatActivity(){
override fun onCreate(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 회의 인터페이스 시작하기
val intent =Intent(this,ConferenceOwnerActivity::class.java)
startActivity(intent)
}
}
단계 6: 일반 구성원이 회의에 참가합니다.
1. ConferenceMainFragment는 회의의 메인 인터페이스입니다. joinConference 방법(이 방법에서는 가입할 방 번호를 입력함)을 호출하여 회의에 참가하고, 회의 참가의 콜백 onConferenceJoined에서 ConferenceMainFragment를 현재 Activity에 추가하면 현재 회의에 참가할 수 있습니다.
classConferenceGeneralActivity:AppCompatActivity(){private val tag:String="ConferenceGeneralActivity"privatevar mConferenceObserver :ConferenceObserver?=null
override fun onCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_conference)var fragment =ConferenceMainFragment()
mConferenceObserver = object:ConferenceObserver(){
override fun onConferenceJoined(conferenceId:String?, error:ConferenceError?){super.onConferenceJoined(conferenceId, error)if(error !=ConferenceError.SUCCESS){Log.e(tag,"Error : $error")return}
val fragmentManager = supportFragmentManager
val transaction = fragmentManager.beginTransaction()
transaction.add(R.id.conference_container, fragment)
transaction.commitAllowingStateLoss()}}
fragment.setConferenceObserver(mConferenceObserver)// Replace "123456" with the corresponding conference number
fragment.joinConference("123456")}}
ConferenceGeneralActivity는 반드시 AppCompatActivity를 상속해야 합니다. 그렇지 않으면 표시할 수 없게 됩니다.
ConferenceGeneralActivity는 반드시 AndroidManifest.xml 파일에 등록해야 합니다.
2. TUILogin.login 함수를 호출한 후 실제 업무에 따라 회의에 참가해야 하는 곳에서 ConferenceGeneralActivity 회의 인터페이스를 시작할 수 있습니다. 예를 들어, 하나의 빈 프로젝트의 MainActivity.java에서 회의 인터페이스를 시작하는 예시 코드는 다음과 같습니다.