3. SDK 초기화하기

3.1. SDK 초기화하기

  • SDK를 사용하기 위해서는 initialize() 함수를 다음의 값들로 초기화를 해주어야 합니다.
    • 서버 주소, APP_KEY, APP_SECRET
  • APP_KEY와 APP_SECRET은 Dashboard에서 회원 가입 후 애플리케이션을 생성하면 발급이 됩니다.(1.2 참고)
  • 서버 주소는 FFServerConfig를 통해 지정합니다. FFServer.PROD는 운영 서버를 의미합니다.
  • initialize() 함수는 앱 전체에서 한번만 호출되어야 하기 때문에 보통 ApplicationonCreate() 함수에서 호출해 주는 것을 추천합니다.
class BaseApplication : Application {
override fun onCreate() {
super.onCreate()
// connect to FlipFlop production server
val ffServerConfig = FFServerConfig(FFServer.PROD)
FlipFlop.initialize(ffServerConfig, APP_KEY, APP_SECRET)
}
}

3.2. SDK 사용을 위한 instance 생성하기

  • initialize() 함수 호출을 통한 초기화 후 SDK를 사용하려면 authorize() 함수를 호출하여 사용자와 연결을 해주어야 합니다. 필요한 정보는 다음과 같습니다.
    • 사용자 ID, 사용자 이름, 프로필 사진(선택 사항)
    • 사용자 ID는 애플리케이션 전체에서 유일한 값이어야 합니다.
  • 사용자 정보는 임의로 생성해도 되나 만드는 서비스의 사용자 정보와 일치시키면 사용자가 어떤 라이브를 진행했는지 어떤 채팅 메시지를 보냈는지를 쉽게 파악할 수 있습니다.
  • authorize() 함수는 가능한 앱 전체에서 한번만 호출하는 것이 좋습니다.
  • authorize() 함수의 리턴 값의 타입은 FlipFlop으로 이후 라이브를 하거나 보거나 할 때 사용되므로 이후 사용할 곳에서 접근이 가능하도록 어딘가에 저장하고 있어야 합니다.
    • 가장 간단하게 구현한다면 글로벌 변수에 저장하여 사용 할 수 있습니다.
    • 또는 Dagger같은 DI를 사용하여 간단하게 접근해서 사용하도록 할 수도 있습니다.
when (val result = FlipFlop.authorize(USER_ID, USERNAME, PROFILE_PHOTO_URL)) {
is FFResult.Success -> {
val sdk = result.value
}
is FFResult.Failure -> {
// failed to create instance
}
}