Skip to content
:docs

EntryPoint

Learn how to add an entry point and implement additional features through the SDK interface.

Key features

EntryPoint is an entry component that fits naturally into various locations in your app and gives users easy access to content. It supports a floating action button (FAB), Banner, BottomSheet, Popup, and Custom UI, allowing you to choose and position it to suit your design. Configure it through the Buzzvil Dash admin. Clicking it can open BenefitHub, Lucky Box, or Mission Pack, or follow a deep link to a specific screen in your app.

Integration

Follow these steps to integrate EntryPoint.

Step 1. Prepare

Step 2. Configure

Entry point types

TypeDescription
FABA floating action button at the bottom right of the screen.
BannerA banner fixed at your chosen position on the screen. Multiple banner entries appear as slides and advance automatically every three seconds.
PopupA popup in the center of the screen.
BottomSheetA bottom sheet that slides up from the bottom of the screen.
CustomLets you implement an entry point with a custom UI.

Entry point images

TypeImage
FAB
Banner
Popup
BottomSheet

Supported entry point UI specifications

TypeSpecifications
FAB
  • Image formats: PNG, JPG, JSON (Lottie)
  • File size: Up to 2 MB
  • Image ratio: 60 x 60 (width x height)
  • Tooltip: Up to 6 characters, including spaces
  • Message: Up to 20 characters, including spaces
Banner
  • Image formats: PNG, JPG, JSON (Lottie)
  • File size: Up to 2 MB
  • Image ratio: 351 x 112 (width x height)
Popup
  • Image formats: PNG, JPG, JSON (Lottie)
  • File size: Up to 2 MB
  • Image ratio: 335 x 380 (width x height)
BottomSheet
  • Image formats: PNG, JPG, JSON (Lottie)
  • File size: Up to 2 MB
  • Image ratio: 335 x 256 (width x height)

Step 3. Request

Request entry points as shown in the code below.

Kotlin
BuzzEntryPoint.load(
    onSuccess = { availableTypes ->
        // 요청에 성공하면 표시 가능한 엔트리포인트 타입 배열과 함께 호출됩니다.
    }, onError = { buzzAdError ->
        // 요청에 실패하면 에러와 함께 호출됩니다.
    }
)

Entry point types in BuzzEntryPointType

TypeBuzzEntryPointType
FABBuzzEntryPointType.FAB
BannerBuzzEntryPointType.BANNER
PopupBuzzEntryPointType.POPUP
BottomSheetBuzzEntryPointType.BOTTOM_SHEET
CustomBuzzEntryPointType.CUSTOM

Step 4. Display (FAB)

Display the FAB entry point as shown below.

Kotlin
import com.buzzvil.entrypoint.BuzzEntryPoint

if (BuzzEntryPoint.canShow(BuzzEntryPointType.FAB)) {
    BuzzEntryPoint.showFab(binding.root)
}

Step 4. Display (Banner)

Display the Banner entry point as shown below.

XML
<com.buzzvil.entrypoint.presentation.BuzzEntryPointBanner
    android:id="@+id/entryPointBanner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>


Kotlin
import com.buzzvil.entrypoint.BuzzEntryPoint

if (BuzzEntryPoint.canShow(BuzzEntryPointType.BANNER)) {
    BuzzEntryPoint.showBanner(entryPointBanner)
}

Step 4. Display (Popup)

Display the Popup entry point as shown below.

Kotlin
import com.buzzvil.entrypoint.BuzzEntryPoint

if (BuzzEntryPoint.canShow(BuzzEntryPointType.POPUP)) {
    BuzzEntryPoint.showPopup(requireContext())    
}

Step 4. Display (BottomSheet)

Display the BottomSheet entry point as shown below.

Kotlin
import com.buzzvil.entrypoint.BuzzEntryPoint

if (BuzzEntryPoint.canShow(BuzzEntryPointType.BOTTOM_SHEET)) {
    BuzzEntryPoint.showBottomSheet(requireContext())
}

Step 4. Display (Custom)

Display a Custom entry point using the example below. You can design the UI freely and call customEntryPointClicked to handle clicks.

Kotlin
val identifier = "YOUR_IDENTIFIER"
BuzzEntryPoint.customEntryPointClicked(requireContext(), identifier)

Additional features

This section explains how to implement additional EntryPoint features.

Customize deep-link behavior

You can customize deep-link behavior when an entry point is clicked. See the example below.

Kotlin
BuzzEntryPoint.setDeepLinkHandler { deepLinkUrl ->
    // 대시 어드민을 통해 설정한 deepLink url string이 전달됩니다.
    YourRouter.route(deepLinkUrl)
}