minSdkVersion 21로 변경

minSdkVersion이 16에서 21로 변경되었습니다.

Dark mode 지원

버즈부스터 화면에서 다크모드를 지원합니다. 앱에서 다크모드를 변경하려는 경우 아래와 같이 설정하세요.

// Light mode: System 설정과 관계 없이 라이트 모드 사용
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)

// Dark mode: System 설정과 관계 없이 다크 모드 사용
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)

// System 설정에 따름
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
    AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
} else {
    AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY)
}

<aside> 💡 아무 설정도 하지 않는 경우에는 System 설정을 따릅니다. V3와 동일하게 사용하기 위해서는 Light mode의 코드를 사용해야 합니다.

</aside>

User event 리스너 API 변경

User event listener를 set 하는 방식에서 add/remove 하는 방식으로 변경되었습니다.

As-is

BuzzBooster.getInstance().setUserEventListener(object : UserEventListener {
		override fun onUserEvent(userEvent: UserEvent) {
        Log.d("App", "onUserEvent: $userEvent")
    }
})

To-be

private val userEventListener = object : UserEventListener {
    override fun onUserEvent(userEvent: UserEvent) {
        Log.d("App", "onUserEvent: $userEvent")
    }
}

BuzzBooster.getInstance().addUserEventListener(userEventListener)

BuzzBooster.getInstance().removeUserEventListener(userEventListener)

Hybrid App 연동 API 변경

Android native와 webView 사이에 통신하기 위한 인터페이스 설정에 변경이 있습니다.

As-is

BuzzBoosterJavaScriptInterface.handle(webView, activity)

To-be