BuzzvilSdk 는 기본적으로 Application.onCreate 에서 initialize 하도록 가이드되고 있습니다. 다만 다음과 코드를 앱에 적용하면 초기화 시점을 변경하여 사용할 수 있습니다.
유저 프로필 설정 샘플코드
/** * 유저 프로필 설정 * 1. Buzzvil SDK 초기화 상태를 확인하여 초기화되지 않았다면 BuzzvilSdk.initialize를 호출하여 초기화합니다. * 2. BuzzvilSdk.setUserProfile을 호출하여 유저 프로필을 설정합니다. */ binding.buttonPublisherLogin.setOnClickListener { initIfNeeded() setUserProfile() }
베네핏 허브 열기 샘플코드
/** * 베네핏 허브 열기 * 1. Buzzvil SDK 초기화 상태를 확인하여 초기화되지 않았다면 BuzzvilSdk.initialize를 호출하여 초기화합니다. * 2. BuzzAdFeed를 생성하여 show를 호출하여 허브를 엽니다. * 3. try-catch를 사용하여 BuzzAdFeed 를 사용할 수 없는 상태에 대한 Exception을 처리합니다. */ binding.buttonPublisherShowHub.setOnClickListener { initIfNeeded() try { Log.d(TAG, "buttonPublisherShowHub - Success. Buzzvil SDK is initialized.") val buzzAdFeed = BuzzAdFeed.Builder().build() buzzAdFeed.show(this) } catch (e: Exception) { Log.d(TAG, "buttonPublisherShowHub - Failure. exception: $e") e.printStackTrace() } }
setUserProfile()
유저 프로필을 설정합니다.
호출 시점: 앱에서 유저 프로필이 변경될 때 (로그인, 로그아웃 등)
참고: 연동문서 유저 프로필 등록하기
/** * 유저 프로필 설정 */ private fun setUserProfile() { Log.d(TAG, "setUserProfile") // Set user profile BuzzvilSdk.setUserProfile( userId = "test_user_id", gender = UserProfile.Gender.MALE, birthYear = 1990, ) }
initIfNeeded()
Buzzvil SDK가 초기화되지 않았다면 BuzzvilSdk.initialize를 호출하여 초기화합니다.
호출 시점 Buzzvil 코드를 사용하기 전에 호출
/** * Buzzvil SDK 초기화 * Buzzvil SDK가 초기화되지 않았다면 BuzzvilSdk.initialize를 호출하여 초기화합니다. */ private fun initIfNeeded() { // Initialize Buzzvil SDK if (BuzzvilSdk.isInitialized) { Log.d(TAG, "initIfNeeded - Buzzvil SDK is already initialized.") } else { Log.d(TAG, "initIfNeeded - Initialize Buzzvil SDK.") val buzzAdBenefitConfig = BuzzAdBenefitConfig.Builder(SAMPLE_BENEFIT_APP_ID) val feedConfigBuilder = FeedConfig.Builder(SAMPLE_BENEFIT_FEED_UNIT_ID) buzzAdBenefitConfig.setDefaultFeedConfig(feedConfigBuilder.build()) BuzzvilSdk.initialize( application, buzzAdBenefitConfig.build() ) } }
테스트 코드 첨부