/
(ver 4.45.x)(ver 5.3.x) BuzzScreen Android 연동 κ°€μ΄λ“œ

(ver 4.45.x)(ver 5.3.x) BuzzScreen Android 연동 κ°€μ΄λ“œ

κ°œμš”

BuzzScreen Android용 SDKλŠ” λͺ¨λ°”일 기기의 첫 화면을 κ΄‘κ³  μΈλ²€ν† λ¦¬λ‘œ ν™œμš©ν•  수 μžˆλ„λ‘ μ‚¬μš©μžμ—κ²Œ λ¦¬μ›Œλ“œλ₯Ό μ§€κΈ‰ν•˜λŠ” λ³΄μƒν˜• κ΄‘κ³ , λΉ„λ³΄μƒν˜• κ΄‘κ³ , λ‰΄μŠ€ 기사 λ“±μ˜ μ½˜ν…μΈ λ₯Ό κ²Œμ‹œν•˜μ—¬ μ•±μ˜ μˆ˜μ΅ν™”λ₯Ό μ§€μ›ν•˜λŠ” μž κΈˆν™”λ©΄ μ•± μ „μš© SDKμž…λ‹ˆλ‹€.

BuzzScreen Android용 SDK의 ꡬ동 방식은 μ•„λž˜μ˜ λ‹€μ΄μ–΄κ·Έλž¨μ„ μ°Έκ³ ν•˜μ„Έμš”.

μ‹œμž‘ν•˜κΈ° 전에

μ•ˆλ‚΄ 사항

이 κ°€μ΄λ“œλŠ” BuzzScreen Android용 SDKλ₯Ό 앱에 μ—°λ™ν•˜κΈ° μœ„ν•œ 정보λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. μ•„λž˜μ˜ μ•ˆλ‚΄ 사항을 μˆ™μ§€ν•œ ν›„ 연동을 μ§„ν–‰ν•˜μ„Έμš”.

  • 연동 μž‘μ—… μ „ λ²„μ¦ˆλΉŒ BD λ§€λ‹ˆμ €μ™€ 사전 ν˜‘μ˜κ°€ μ™„λ£Œλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

  • μ„œλΉ„μŠ€ μΆœμ‹œ μ „, 연동이 μ™„λ£Œλœ μ•±μ˜ apk νŒŒμΌμ„ λ²„μ¦ˆλΉŒ BD λ§€λ‹ˆμ €μ—κ²Œ μ „λ‹¬ν•˜μ—¬ 승인 절차λ₯Ό λ°ŸμœΌμ‹œκΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

λ°˜λ“œμ‹œ μž κΈˆν™”λ©΄μ„ ν†΅ν•œ 수읡 μ°½μΆœμ— λŒ€ν•œ ꡬ글 정책을 ν™•μΈν•œ ν›„ 연동을 μ§„ν–‰ν•˜μ„Έμš”.
특히, μž κΈˆν™”λ©΄ 앱은 μž κΈˆν™”λ©΄ κΈ°λŠ₯λ§Œμ„ μˆ˜ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ 이 μ™Έμ˜ λͺ©μ μ„ 가진 μ•±μ—λŠ” BuzzScreen Android용 SDKλ₯Ό 연동할 수 μ—†μŠ΅λ‹ˆλ‹€.

μš”κ΅¬ 사양

  • Android 4.0.3 Jellybean (API 레벨 15) 이상

  • Android Studio 3.2 이상

  • Gradle 4.0.1 이상

  • compileSdkVersionΒ 31 이상

  • AndroidX

  • JDK 1.11

  • Kotlin 버전 1.5 이상

Lockscreen Activity의 νŠΉμ •ν•œ style 섀정이 Android OS 8.0 λ²„μ „μ—μ„œ ν¬λž˜μ‹œκ°€ λ°œμƒν•  수 μžˆμœΌλ―€λ‘œ 확인이 ν•„μš”ν•©λ‹ˆλ‹€.

  • λ°œμƒ 쑰건: Android API 26의 μ„€μ •μœΌλ‘œ 인해 μ•„λž˜ 쑰건을 λͺ¨λ‘ μΆ©μ‘±ν•˜λŠ” 경우

    1. μ•±μ˜ targetSdkVersion 이 27 이상인 경우

    2. μ‚¬μš©μž λͺ¨λ°”일 κΈ°κΈ° OS 버전이 8.0(API 26)인 경우

    3. Lockscreen Activity에 적용된 style에 windowTranslucent, windowIsFloating, windowSwipeToDismiss 쀑 1개 이상이 true둜 μ„€μ •λ˜μ–΄ μžˆλŠ” 경우

  • ν•΄κ²° λ°©μ•ˆ

    • styles.xml μ—μ„œ windowTranslucent, windowIsFloating,windowSwipeToDismiss 쀑 true둜 μ„ΈνŒ…λœ ν•­λͺ©μ„ 제거 λ˜λŠ” false둜 λ³€κ²½

<resources> ... <style name="YourLockScreenTheme" parent="@style/AppTheme"> <!-- Items below need to be removed or set to false on specific conditions--> <item name="android:windowIsTranslucent">false</item> <item name="android:windowIsFloating">false</item> <item name="android:windowSwipeToDismiss">false</item> </style> </resources>

μ€€λΉ„ 사항

ν•­λͺ©

μ„€λͺ…

λΉ„κ³ 

ν•­λͺ©

μ„€λͺ…

λΉ„κ³ 

1

연동 μ•± λ‘œκ·ΈμΈμ„ μœ„ν•œ API μ„œλ²„

BuzzScreen SDK에 μ‚¬μš©μž 정보λ₯Ό λ“±λ‘ν•˜κΈ° μœ„ν•œ APIμž…λ‹ˆλ‹€.

Β 

2

포인트 적립 μš”μ²­ μˆ˜μ‹  API

λ²„μ¦ˆλΉŒ μ„œλ²„μ—μ„œ 포인트 적립 μš”μ²­μ„ 보낸 이후, μ‹€μ œ 포인트 지급을 μ²˜λ¦¬ν•  맀체사 API μ„œλ²„μž…λ‹ˆλ‹€.

맀체사 포인트 적립 포슀트백 API 연동 κ°€μ΄λ“œ μ°Έκ³ 

3

연동을 μœ„ν•œ ν‚€ κ°’

λ²„μ¦ˆλΉŒ BD λ§€λ‹ˆμ €λ‘œλΆ€ν„° λ°œκΈ‰λ°›μ€ app_key, unitId κ°’μž…λ‹ˆλ‹€.

  • app_key : μ—°λ™ν•˜λŠ” μž κΈˆν™”λ©΄ μ•±μ˜ ν‚€ κ°’

  • unitId : κ΄‘κ³  μ„œλΉ™μ„ μœ„ν•œ Unit ID

Β 

Β 

BuzzScreen μ—°λ™ν•˜κΈ°

1 단계. build.gradle , AndroidManifest.xml μ„€μ •

1. build.gradle에 μ•„λž˜ μ½”λ“œμ— λ³΄μ΄λŠ” μ €μž₯μ†Œ 및 λ””νŽœλ˜μ‹œλ₯Ό μΆ”κ°€ν•˜μ„Έμš”.

repositories { maven { url "https://dl.buzzvil.com/public/maven" } } dependencies { implementation 'com.buzzvil:buzzscreen:4.45.+' }

2. AndroidManifest.xml에 μ•„λž˜ meta dataλ₯Ό μΆ”κ°€ν•˜κ³  000000000000 뢀뢄에 app_keyλ₯Ό κΈ°μž…ν•˜μ„Έμš”.

<meta-data android:name="com.buzzvil.APP_KEY" android:value="app-pub-000000000000" />

3. λͺ¨λ“ˆ 레벨의 build.gradle νŒŒμΌμ— compileSdkVersionκ³Ό targetSdkVersion 을 31둜 μ—…λ°μ΄νŠΈν•˜μ„Έμš”.

2 단계. μ• λ“œ λ„€νŠΈμ›Œν¬ 연동

λ²„μ¦ˆλΉŒ BD λ§€λ‹ˆμ €κ°€ μ• λ“œ λ„€νŠΈμ›Œν¬ μΆ”κ°€ 연동에 λŒ€ν•œ μ•ˆλ‚΄λ₯Ό μ§„ν–‰ν•©λ‹ˆλ‹€. ADN μΆ”κ°€ 연동 κ°€μ΄λ“œλ₯Ό μ°Έμ‘°ν•˜μ—¬ λͺ¨λ“ˆ 레벨의 AndroidManifest.xml에 ν•΄λ‹Ή AdNetwork의 κ΄€λ ¨ μ½”λ“œλ₯Ό μΆ”κ°€ν•˜μ„Έμš”.

3 단계. λ©”μ†Œλ“œ 호좜

연동을 μœ„ν•΄ μ΄ˆκΈ°ν™”, μ‚¬μš©μž 정보 μ„€μ •, μž κΈˆν™”λ©΄ μ œμ–΄ 섀정을 μˆœμ„œλŒ€λ‘œ μ§„ν–‰ν•˜μ„Έμš”.

1) μ΄ˆκΈ°ν™”: init() 및 launch() 호좜

ν•­λͺ©

μ½”λ“œ

호좜 μœ„μΉ˜

μ„€λͺ…

ν•­λͺ©

μ½”λ“œ

호좜 μœ„μΉ˜

μ„€λͺ…

λ²„μ¦ˆμŠ€ν¬λ¦° μ΄ˆκΈ°ν™”
ν•„μˆ˜

BuzzScreen.init(String unitId, Context context, Class lockerActivityClass, int imageResourceIdOnFail)

  • Application Class 의 onCreate

  • λͺ¨λ“  λ‹€λ₯Έ λ©”μ†Œλ“œλ³΄λ‹€ 항상 λ¨Όμ € ν˜ΈμΆœν•˜μ„Έμš”.

  • Parameters

    • unitId : BuzzScreen SDK μ‚¬μš©μ„ μœ„ν•œ Unit ID둜, λ²„μ¦ˆμŠ€ν¬λ¦° μ–΄λ“œλ―Όμ—μ„œ 확인 κ°€λŠ₯ν•©λ‹ˆλ‹€.

    • context : Application contextλ₯Ό this둜 μž…λ ₯ν•©λ‹ˆλ‹€.

    • lockerActivityClass : μž κΈˆν™”λ©΄ μ•‘ν‹°λΉ„ν‹° 클래슀.

      • μž κΈˆν™”λ©΄μ„ μ»€μŠ€ν„°λ§ˆμ΄μ§•ν•˜μ§€ μ•ŠλŠ” 경우 SDK λ‚΄μ—μ„œ μ œκ³΅ν•˜λŠ” SimpleLockerActivity.class λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

      • μ»€μŠ€ν„°λ§ˆμ΄μ§•μ„ ν•˜λŠ” 경우 직접 κ΅¬ν˜„ν•œ μ•‘ν‹°λΉ„ν‹° 클래슀λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ UI μ»€μŠ€ν„°λ§ˆμ΄μ§•μ˜ μ„€λͺ…을 μ°Έκ³ ν•˜μ„Έμš”.

    • imageResourceIdOnFail : λ„€νŠΈμ›Œν¬ μ—λŸ¬ λ°œμƒ μ‹œ ν˜Ήμ€ μΌμ‹œμ μœΌλ‘œ μž κΈˆν™”λ©΄μ— 보여쀄 κ΄‘κ³ κ°€ μ—†λŠ” 경우 λ³΄μ—¬μ£Όκ²Œ λ˜λŠ” 이미지λ₯Ό μ•± λ‚΄ λ¦¬μ†ŒμŠ€μ— ν¬ν•¨μ‹œμΌœμ•Ό ν•˜λ©°, 이 μ΄λ―Έμ§€μ˜ λ¦¬μ†ŒμŠ€ 아이디λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

λ²„μ¦ˆμŠ€ν¬λ¦° μ‹œμž‘
ν•„μˆ˜

BuzzScreen.getInstance().launch()

μ•± μ‹€ν–‰ μ‹œ 처음 μ‹€ν–‰λ˜λŠ” 앑티비티에 μΆ”κ°€ν•˜μ„Έμš”.

-

Β 

μ•„λž˜μ˜ μ½”λ“œ 예제λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

Β 

2) μ‚¬μš©μž 정보 μ„€μ •

ν•­λͺ©

μ½”λ“œ

호좜 μœ„μΉ˜

μ„€λͺ…

ν•­λͺ©

μ½”λ“œ

호좜 μœ„μΉ˜

μ„€λͺ…

μ‚¬μš©μž 정보 섀정을 μœ„ν•œ 객체

BuzzScreen.getInstance().getUserProfile()

BuzzScreen.getInstance().activate() 호좜 μ „μž…λ‹ˆλ‹€.

μ‚¬μš©μž 정보 μ„€μ •ν•  수 μžˆλŠ” UserProfile 클래슀λ₯Ό ν˜ΈμΆœν•©λ‹ˆλ‹€.

μ‚¬μš©μž 식별 κ°’ ν•„μˆ˜

setUserId(String userId)

userId

  • μ‚¬μš©μžμ—κ²Œ μ λ¦½κΈˆμ„ μ§€κΈ‰ν•˜κΈ° μœ„ν•œ ν•„μˆ˜μ μΈ μ„€μ • κ°’μž…λ‹ˆλ‹€.

  • λ§€μ²΄μ‚¬μ—μ„œ μ‚¬μš©μžλ₯Ό ꡬ뢄할 수 μžˆλŠ” 식별 κ°’μž…λ‹ˆλ‹€.

  • 맀체사 포인트 적립 포슀트백 API 연동 μš”μ²­ μ‹œμ— μ „λ‹¬λ©λ‹ˆλ‹€. 이에 λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ 맀체사 포인트 적립 포슀트백 API 연동 κ°€μ΄λ“œλ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

μ‚¬μš©μž μ—°λ Ή ꢌμž₯

setBirthYear(int birthYear)

μ‚¬μš©μžμ˜ μΆœμƒλ…„λ„λ₯Ό 4자리 숫자둜 μž…λ ₯ν•˜μ—¬ λ‚˜μ΄λ₯Ό μ„€μ •ν•˜μ„Έμš”.

μ‚¬μš©μž 성별 ꢌμž₯

setGender(String gender)

미리 μ •μ˜λœ String을 톡해 ν˜•μ‹μ— λ§žμΆ”μ–΄ 성별을 μ„€μ •ν•˜μ„Έμš”.

  • UserProfile.USER_GENDER_MALE : 남성

  • UserProfile.USER_GENDER_FEMALE : μ—¬μ„±

μ‚¬μš©μž 지역 선택

setRegion(String region)

"μ‹œ/도 + 곡백 + μ‹œ/κ΅°/ꡬ" ν˜•μ‹μœΌλ‘œ μ„€μ •ν•˜μ„Έμš”.

이 μ™Έ 선택

μ»€μŠ€ν…€ νƒ€κ²ŒνŒ… κ°€μ΄λ“œ μ°Έκ³ 

λ§€μ²΄μ‚¬μ—μ„œ μ›ν•˜λŠ” μ‚¬μš©μž μ •λ³΄λ‘œ νƒ€κ²ŸνŒ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Β 

μ•„λž˜μ˜ μ½”λ“œ 예제λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

Β 

3) μž κΈˆν™”λ©΄ μ œμ–΄ μ„€μ •

ν•­λͺ©

μ½”λ“œ

호좜 μœ„μΉ˜

μ„€λͺ…

ν•­λͺ©

μ½”λ“œ

호좜 μœ„μΉ˜

μ„€λͺ…

λ‹€λ₯Έ μ•± μœ„μ— ν‘œμ‹œ κΆŒν•œ νšλ“ ν•„μˆ˜

BuzzScreen.getInstance().showOverlayPermissionGuideDialogIfNeeded(OverlayPermissionListener listener)

λ²„μ¦ˆμŠ€ν¬λ¦° ν™œμ„±ν™” μ‹œμ 

λ²„μ¦ˆμŠ€ν¬λ¦° ν™œμ„±ν™” ν•„μˆ˜

BuzzScreen.getInstance().activate()

λ²„μ¦ˆμŠ€ν¬λ¦° ν™œμ„±ν™” μ‹œμ 

  • activate()λ₯Ό 처음 μž κΈˆν™”λ©΄ ν™œμ„±ν™” μ‹œ ν˜ΈμΆœν•˜λ©΄, 이후뢀터 μžλ™μœΌλ‘œ μž κΈˆν™”λ©΄ 사이클이 κ΄€λ¦¬λ˜κΈ° λ•Œλ¬Έμ— deactivate()λ₯Ό ν˜ΈμΆœν•˜κΈ° 전에 λ‹€μ‹œ ν˜ΈμΆœν•  ν•„μš”λŠ” μ—†μŠ΅λ‹ˆλ‹€.

이 ν•¨μˆ˜κ°€ 호좜된 이후뢀터 μž κΈˆν™”λ©΄μ— λ²„μ¦ˆμŠ€ν¬λ¦°μ΄ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

  • λ‹€λ₯Έ μ•± μœ„μ— ν‘œμ‹œ κΆŒν•œμ„ νšλ“ν•œ 이후에 ν˜ΈμΆœν•˜λŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€. 그렇지 μ•Šμ„ κ²½μš°μ— λ°œμƒν•˜λŠ” λ¬Έμ œμ— λŒ€ν•΄μ„œλŠ” λ‹€λ₯Έ μ•± μœ„μ— ν‘œμ‹œ κΆŒν•œ νšλ“ν•˜κΈ° 토픽을 μ°Έκ³ ν•˜μ„Έμš”.

λ²„μ¦ˆμŠ€ν¬λ¦° λΉ„ν™œμ„±ν™” ν•„μˆ˜

BuzzScreen.getInstance().deactivate()

λ²„μ¦ˆμŠ€ν¬λ¦° λΉ„ν™œμ„±ν™” μ‹œμ 

이 ν•¨μˆ˜κ°€ 호좜되면 더 이상 μž κΈˆν™”λ©΄μ— λ²„μ¦ˆμŠ€ν¬λ¦°μ΄ λ‚˜νƒ€λ‚˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ‚¬μš©μž λ‘œκ·Έμ•„μ›ƒ ν•„μˆ˜

BuzzScreen.getInstance().logout()

μ‚¬μš©μžκ°€ λ‘œκ·Έμ•„μ›ƒν•˜λŠ” μ‹œμ 

이 ν•¨μˆ˜λŠ” deactivate()λ₯Ό ν˜ΈμΆœν•˜λ©°, λ²„μ¦ˆμŠ€ν¬λ¦°μ—μ„œ μ‚¬μš©ν•˜λŠ” μ‚¬μš©μž 정보λ₯Ό κΈ°κΈ°μ—μ„œ μ‚­μ œν•©λ‹ˆλ‹€.

λ²„μ¦ˆμŠ€ν¬λ¦°μ΄ ν™”λ©΄μ—μ„œ μ‚¬λΌμ§€λŠ” μ‹œκ°„ μ„€μ • ꢌμž₯

BuzzScreen.getInstance().setSettings(BuzzScreen.Settings.FINISH_IN_SEC, int set_seconds)

BuzzScreen.init() 이후에 호좜

λ²„μ¦ˆμŠ€ν¬λ¦° μ•‘ν‹°λΉ„ν‹°κ°€ 화면에 뜬 λ’€ 일정 μ‹œκ°„ λ™μ•ˆ μœ μ €μ˜ ν™œλ™μ΄ 없을 경우 λ²„μ¦ˆμŠ€ν¬λ¦°μ΄ ν™”λ©΄μ—μ„œ μ‚¬λΌμ§‘λ‹ˆλ‹€.

  • Parameters

    • set_seconds : μ‚¬μš©μžμ˜ ν™œλ™μ΄ μ—†λŠ” 경우 λ²„μ¦ˆμŠ€ν¬λ¦°μ΄ ν™”λ©΄μ—μ„œ μ‚¬λΌμ§€κ²Œ 될 μ‹œκ°„ (λ‹¨μœ„: 초)

  • 상세 λ™μž‘ 예

    • λ―Έμ„€μ • μ‹œ: 60초 λ™μ•ˆ μœ μ € ν™œλ™μ΄ 없을 경우 λ™μž‘ν•©λ‹ˆλ‹€.

    • set_seconds = 30 : 30초 λ™μ•ˆ μœ μ € ν™œλ™μ΄ 없을 경우 λ™μž‘ν•©λ‹ˆλ‹€.

    • set_seconds = 0 : λ™μž‘ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μž κΈˆν™”λ©΄μ„ ν™œμ„±ν™”ν•œ ν›„ μ‹€μ œλ‘œ μž κΈˆν™”λ©΄μ΄ 처음 μ€€λΉ„κ°€ 된 μ‹œμ  확인 선택

BuzzScreen.getInstance().activate(OnReadyListener listener)

Β 

ν™œμ„±ν™”ν•œ ν›„ μ‹€μ œλ‘œ μž κΈˆν™”λ©΄μ΄ 처음 μ€€λΉ„κ°€ μ™„λ£Œλœ μ‹œμ μ„ μ•Œκ³  싢을 λ•Œ, μ•„λž˜μ˜ interfaceλ₯Ό κ΅¬ν˜„ν•˜μ—¬ activate() λ©”μ†Œλ“œμ˜ νŒŒλΌλ―Έν„°λ‘œ λ„˜κΉλ‹ˆλ‹€.

Notification μ»€μŠ€ν…€ 선택

μ„œλΉ„μŠ€ λ…Έν‹°ν”ΌμΌ€μ΄μ…˜ λ¬Έμ„œ μ°Έκ³ 

Β 

λ²„μ¦ˆμŠ€ν¬λ¦°μ„ ν™œμ„±ν™”ν•œ ν›„ μ•Œλ¦Ό νŒ¨λ„μ— μƒμ„±λœ μ•Œλ¦Όμ˜ icon, text 등을 μˆ˜μ •ν•˜κ³ μž ν•˜λŠ” 경우

Β 

4 단계. λ‹€λ₯Έ μ•± μœ„μ— ν‘œμ‹œ κΆŒν•œ νšλ“ν•˜κΈ°

Android 10λΆ€ν„° λ³€κ²½λœ 정책에 따라, μž κΈˆν™”λ©΄μ„ λ„μš°κΈ° μœ„ν•΄μ„œλŠ” λ‹€λ₯Έ μ•± μœ„μ— ν‘œμ‹œ κΆŒν•œμ„ νšλ“ν•΄μ•Ό ν•©λ‹ˆλ‹€. 이에 따라 BuzzScreen Android용 SDKλŠ” μ‚¬μš©μžμ—κ²Œ ν•΄λ‹Ή κΆŒν•œμ„ μš”μ²­ν•˜λŠ” λ©”μ‹œμ§€λ₯Ό μž κΈˆν™”λ©΄κ³Ό 인앱(In-App)에 λ…ΈμΆœν•΄ κΆŒν•œ νšλ“ 지원 κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

1) 인앱 μ•ˆλ‚΄ λ©”μ‹œμ§€

  • boolean BuzzScreen#showOverlayPermissionGuideDialogIfNeeded(OverlayPermissionListener listener)

    • μ‚¬μš©μžμ—κ²Œ β€œλ‹€λ₯Έ μ•± μœ„μ— 그리기” κΆŒν•œ νšλ“μ„ μš”μ²­ν•˜λŠ” λ©”μ‹œμ§€μ˜ νŒμ—… λ‹€μ΄μ–Όλ‘œκ·Έλ₯Ό λ„μš°λŠ” μΈν„°νŽ˜μ΄μŠ€μž…λ‹ˆλ‹€.

    • μ•±μ˜ 메인 화면이 생성될 λ•Œ(MainActivity의 OnCreate()) ν•΄λ‹Ή νŒμ—…μ„ λ³΄μ—¬μ£ΌλŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€.

    • 리턴 값은 νŒμ—… λ‹€μ΄μ–Όλ‘œκ·Έκ°€ λ°œμƒν–ˆλŠ”μ§€ μ•„λ‹Œμ§€λ₯Ό μ•Œλ €μ£ΌλŠ” boolean κ°’μž…λ‹ˆλ‹€.

    • 인자둜 주어진 listenerλ₯Ό 톡해 κΆŒν•œ νšλ“ μ—¬λΆ€λ₯Ό μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.

  • νŒμ—…μ—μ„œ 확인 클릭 μ‹œ ν•΄λ‹Ή κΆŒν•œμ„ νšλ“ν•  수 μžˆλŠ” μ•ˆλ“œλ‘œμ΄λ“œ μ„€μ • ν™”λ©΄μœΌλ‘œ μ΄λ™ν•˜κ³ , κΆŒν•œ νšλ“μ‹œ μžλ™μœΌλ‘œ 이전 ν™”λ©΄μœΌλ‘œ μ „ν™˜

  • Android 10 λ―Έλ§Œμ΄κ±°λ‚˜ ν•΄λ‹Ή κΆŒν•œμ΄ 이미 νšλ“λ˜μ–΄ μžˆλŠ” κ²½μš°μ—λŠ” νŒμ—…μ„ 보여주지 μ•ŠμŒ

2) μž κΈˆν™”λ©΄ μ•ˆλ‚΄ λ©”μ‹œμ§€

  • μ•±μ—μ„œ μΆ”κ°€ μ½”λ“œλ₯Ό μž‘μ„±ν•  ν•„μš”μ—†μ΄ μžλ™μœΌλ‘œ 적용

  • Android 10 λ―Έλ§Œμ΄κ±°λ‚˜ ν•΄λ‹Ή κΆŒν•œμ΄ 이미 νšλ“λ˜μ–΄ μžˆλŠ” κ²½μš°μ—λŠ” νŒμ—…μ„ 보여주지 μ•ŠμŒ

  • 6μ‹œκ°„ κ°„κ²©μœΌλ‘œ λ…ΈμΆœ

5 단계. κΈ°λ³Έ λ³΄μ•ˆ κΈ°λŠ₯ ν™”λ©΄ 속성 μˆ˜μ •

BuzzScreen.init()된 직후 λ©”μ†Œλ“œλ₯Ό ν˜ΈμΆœν•˜μ—¬ λ³΄μ•ˆ κΈ°λŠ₯ ν™”λ©΄ 속성을 μˆ˜μ •ν•˜μ„Έμš”.

  • backgroundResourceId(int resourceId): Swipe mode λ³΄μ•ˆν™”λ©΄μ— λ‚˜μ˜€λŠ” 배경화면을 지정

  • backgroundImageScaleType(enum ImageView.ScaleType): Swipe mode λ³΄μ•ˆν™”λ©΄μ— μ§€μ •ν•œ λ°°κ²½ν™”λ©΄μ˜ μ •λ ¬κ°’ μ„€μ • (κΈ°λ³Έκ°’: FIT_XY, μ°Έμ‘° link)

  • backgroundColor(int Color): Swipe mode λ³΄μ•ˆν™”λ©΄μ˜ 배경색 μ„€μ • (κΈ°λ³Έκ°’: Color.WHITE, μ°Έμ‘° link)

  • backgroundDimAlpha(float): Swipe mode λ³΄μ•ˆν™”λ©΄μ—λŠ” μ‹œκ³„μ™€ μ•‘μ…˜ μ•ˆλ‚΄ ν…μŠ€νŠΈμ˜ 가독성을 높이기 μœ„ν•˜μ—¬ μ•ŒνŒŒκ°’μ΄ 적용된 검은색 ν™”λ©΄μ˜ μ•ŒνŒŒκ°’μ„ 쑰절 (κΈ°λ³Έκ°’: 0.7)

  • showClock(boolean): μ‹œκ³„μ˜ λ…ΈμΆœ/λ―Έλ…ΈμΆœμ„ μ„ΈνŒ… (κΈ°λ³Έκ°’: true)

  • showDescription(boolean): μœ μ € μ•‘μ…˜ μ•ˆλ‚΄ ν…μŠ€νŠΈμ˜ λ…ΈμΆœ/λ―Έλ…ΈμΆœμ„ μ„ΈνŒ… (κΈ°λ³Έκ°’: true)

μ•„λž˜μ˜ μ½”λ“œ 예제λ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

Β 

6 단계. 포인트 적립 포슀트백 연동(Server-to-Server 연동)

λ²„μ¦ˆμŠ€ν¬λ¦°μ€ 포인트 적립이 λ°œμƒν–ˆμ„ λ•Œ 직접 μ‚¬μš©μžλ“€μ—κ²Œ 포인트λ₯Ό μ§€κΈ‰ν•˜λŠ” 것이 μ•„λ‹™λ‹ˆλ‹€. λ²„μ¦ˆμŠ€ν¬λ¦° μ„œλ²„μ—μ„œλŠ” 맀체사 μ„œλ²„λ‘œ 포인트 적립 μš”μ²­μ„ 보낼 뿐이며, μ‹€μ œ 지급은 맀체사 μ„œλ²„μ—μ„œ μ²˜λ¦¬ν•©λ‹ˆλ‹€.

포인트 적립 μš”μ²­ 흐름

λ²„μ¦ˆλ°°λ„ˆ(BuzzBanner)

λ²„μ¦ˆλ°°λ„ˆ(BuzzBanner)λŠ” BuzzScreen SDK 4.15.xλΆ€ν„° λ²„μ¦ˆμŠ€ν¬λ¦° ν™”λ©΄ μ•„λž˜μ— 비보상 λ…ΈμΆœν˜• κ΄‘κ³ λ₯Ό λ…ΈμΆœν•˜λŠ” λ°°λ„ˆ νƒ€μž…μ˜ μ§€λ©΄μž…λ‹ˆλ‹€. λ²„μ¦ˆλΉŒμ—μ„œ κΈ°λ³Έ UIλ₯Ό μ œκ³΅ν•˜λŠ” SimpleLockerActivity, 자유둭게 UIλ₯Ό μ»€μŠ€ν„°λ§ˆμ΄μ§•ν•  수 μžˆλŠ” LockerActivityλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

μ€€λΉ„ 사항

λ²„μ¦ˆλ°°λ„ˆλ₯Ό μ—°λ™ν•˜λ €λ©΄ μ—°λ™ν•˜λ €λŠ” μ•±μ˜ 고유 μ‹λ³„μž(App ID)와 κ΄‘κ³  μ§€λ©΄μ˜ 고유 μ‹λ³„μž(Unit ID)κ°€ ν•„μš”ν•©λ‹ˆλ‹€. IDλ₯Ό λ°œκΈ‰λ°›μœΌλ €λ©΄ λ²„μ¦ˆλΉŒ λ‹΄λ‹Ήμžμ—κ²Œ μ—°λ½ν•˜μ„Έμš”.

ID μœ ν˜•

μ„€λͺ…

ID μœ ν˜•

μ„€λͺ…

BuzzBannerAppID

앱을 κ΅¬λΆ„ν•˜κ²Œ ν•˜λŠ” 고유 App ID μž…λ‹ˆλ‹€.

BuzzBannerSecret

앱을 κ΅¬λΆ„ν•˜κ²Œ ν•˜λŠ” 고유 App Secret μž…λ‹ˆλ‹€.

PlacementID

각 κ΄‘κ³  지면을 κ΅¬λΆ„ν•˜κ²Œ ν•˜λŠ” 고유 ID μž…λ‹ˆλ‹€. λ°°λ„ˆμ˜ μ‚¬μ΄μ¦ˆμ™€ PlacementID κ°€ μ œλŒ€λ‘œ λ§€μΉ­λ˜μ–΄μ•Ό κ΄‘κ³  ν• λ‹Ή 및 λ…ΈμΆœμ΄ μ •μƒμ μœΌλ‘œ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€.

BuzzBanner μ΄ˆκΈ°ν™”

BuzzScreen을 μ΄ˆκΈ°ν™”ν•œ λ‹€μŒ λ°”λ‘œ BuzzBannerλ₯Ό μ΄ˆκΈ°ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ˜ 절차λ₯Ό λ”°λ₯΄μ„Έμš”. .

  1. 사전에 μ€€λΉ„ν•œ IDλ₯Ό BuzzScreen.getInstance().initBuzzBanner에 μ„€μ •ν•˜μ„Έμš”.

  2. BuzzBannerConfigλ₯Ό μƒμ„±ν•˜μ„Έμš”.

  3. μƒμ„±ν•œ BuzzBannerConfigλ₯Ό BuzzScreen.getInstance().setDefaultBuzzBannerConfig(buzzBannerConfig)λ₯Ό 톡해 μ„€μ •ν•˜μ„Έμš”.

μ‚¬μ΄μ¦ˆ

Enum

μ‚¬μ΄μ¦ˆ

Enum

Banner 320 x 50

BuzzBanner.BannerSize.W320XH50

Banner 320 x 100

BuzzBanner.BannerSize.W320XH100

SimpleLockerActivity μ‚¬μš©ν•˜κΈ°

BuzzBannerConfig λ₯Ό μ„€μ •ν•˜λ©΄ μžλ™μœΌλ‘œ SimpleLockerActivity μ•„λž˜μ— BuzzBannerκ°€ μΆ”κ°€λ©λ‹ˆλ‹€.

μ»€μŠ€ν…€ LockerActivity μ‚¬μš©ν•˜κΈ°

1. xml 파일의 μ›ν•˜λŠ” μœ„μΉ˜μ— BuzzBannerView λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

Β 

Β 

Β 

2. Activityμ—μ„œ onResume, onPause, onDestroy λ₯Ό ν˜ΈμΆœν•˜μ„Έμš”.

Β 

3. μ˜΅μ…˜: λ°°λ„ˆ 광고에 λŒ€ν•œ μ½œλ°±μ„ λ°›κΈ° μœ„ν•΄ BuzzBannerView 에 Load μƒνƒœλ₯Ό λ”°λ₯΄λŠ” λ¦¬μŠ€λ„ˆλ₯Ό 등둝할 수 μžˆμŠ΅λ‹ˆλ‹€.

ADN μΆ”κ°€ 연동

BuzzBanner 의 맀좜 κ·ΉλŒ€ν™”λ₯Ό μœ„ν•΄ μΆ”κ°€ 연동 κ°€λŠ₯ν•œ Ad Network 연동 κ°€μ΄λ“œμž…λ‹ˆλ‹€.

Β 

ADN

Β 

버전 정보

maven μ €μž₯μ†Œ

build.gradle(implementation)

Β 

ADN

Β 

버전 정보

maven μ €μž₯μ†Œ

build.gradle(implementation)

Adfit(Kakao)

3.12.7

Cauly

3.5.22

Mobon

1.0.0.54

Β 

Pangle

4.7.1.4

UnityAds

4.3.0

Β 

Vungle

6.11.0

Β 

Coupang

1.2.8

Β 

AppLovin(11.3.3)

1.2.8

Β 

ν•œμ€„λ‰΄μŠ€(BuzzHeadlineNews)

ν•œμ€„λ‰΄μŠ€(BuzzHeadlineNews)λŠ” BuzzScreen 4.31.x λΆ€ν„° λ²„μ¦ˆμŠ€ν¬λ¦°μ— λ…ΈμΆœλ˜λŠ” 비보상 μ½˜ν…μΈ μž…λ‹ˆλ‹€.

SimpleLockerActivity μ‚¬μš©ν•˜κΈ°

λ²„μ¦ˆλΉŒμ—μ„œ μ œκ³΅ν•˜λŠ” SimpleLockerActivity, SimpleSlidingLockerActivity μ‚¬μš© μ‹œμ—λŠ” λ³„λ„μ˜ 연동 κ³Όμ • 없이 μžλ™μœΌλ‘œ μž κΈˆν™”λ©΄ ν•˜λ‹¨μ— ν•œμ€„λ‰΄μŠ€κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

μ»€μŠ€ν…€ LockerActivity μ‚¬μš©ν•˜κΈ°

μ»€μŠ€ν…€ LockerActivity 에 ν•œμ€„λ‰΄μŠ€λ₯Ό μΆ”κ°€ν•˜λ €λ©΄ xml 파일의 μ›ν•˜λŠ” μœ„μΉ˜μ— BuzzHeadlineNewsView λ₯Ό μΆ”κ°€ν•˜μ„Έμš”.