[Ext.point] 곡톡 적용 ν•­λͺ© 연동

곡톡 적용 ν•­λͺ© 연동을 톡해 Extauth λͺ¨λ“ˆμ„ μ΄μš©ν•˜μ—¬ 고유 포인트 μ„œλΉ„μŠ€κ°€ 없어도, μ™ΈλΆ€ 포인트 μ‹œμŠ€ν…œμ„ ν†΅ν•˜μ—¬ 포인트 μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. ν•΄λ‹Ή λ¬Έμ„œμ—μ„œλŠ” SDK 적용 및 μ΄ˆκΈ°ν™”λ₯Ό μ§„ν–‰ν•˜κ³ , μ‚¬μš©μž 정보 관리와 μ—°κ΄€λœ ν•­λͺ©μ„ μ„€μ •ν•©λ‹ˆλ‹€.

이 λ¬Έμ„œλŠ”Β κ΄‘κ³  μ§€λ©΄μ˜ μ’…λ₯˜/ μˆ˜μ™€ 상관없이 연동이 λ˜μ–΄μ•Ό ν•˜λŠ” 곡톡 적용 ν•­λͺ©μž…λ‹ˆλ‹€.Β 

Β 

λ‹€μŒ 과정이 μ™„λ£Œλ˜μ—ˆλŠ”μ§€ 확인이 ν•„μš”ν•©λ‹ˆλ‹€.

Android X ν™˜κ²½μ΄ μ€€λΉ„ μ™„λ£Œλ˜μ—ˆλŠ”μ§€ (링크)
App Id κ°€ λ°œκΈ‰ μ™„λ£Œλ˜μ—ˆλŠ”μ§€
μ—°λ™ν•˜λ €λŠ” 버전이 ν™•μΈλ˜μ—ˆλŠ”μ§€

μœ„μ˜ κ³Όμ • 쀑 μ™„λ£Œλ˜μ§€ μ•Šμ€ ν•­λͺ©μ΄ μžˆλ‹€λ©΄, λ²„μ¦ˆλΉŒμ˜ BD λ§€λ‹ˆμ €μ—κ²Œ 문의 λ°”λžλ‹ˆλ‹€.

Β 


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

1. SDK μ μš©ν•˜κΈ°

build.gradle μ μš©ν•˜κΈ°

[1]Β build.gradle 의 dependencies 에 μ•„λž˜μ˜ μ½”λ“œλ₯Ό μ μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

repositories { maven { url "https://dl.buzzvil.com/public/maven" } } ... dependencies { implementation ("com.buzzvil:buzzad-benefit:3.29.+") }

Β 

SDK μ΄ˆκΈ°ν™”ν•˜κΈ°

[1] AndroidManifest.xml 에 λ‹€μŒ μ½”λ“œλ₯Ό μ μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.buzzvil.packagename"> <application> ... <!-- Caution: Replace `000000000000` with Your AppKey --> <meta-data android:name="com.buzzvil.APP_KEY" android:value="app-pub-000000000000" /> </application> </manifest>

[2] Application Class - onCreate 에 λ‹€μŒ μ½”λ“œλ₯Ό μ μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

public class App extends Application { @Override public void onCreate() { //// Extauth λͺ¨λ“ˆ ν™œμ„±ν™”λ₯Ό μœ„ν•΄ λ‹€μŒ ν•­λͺ©λ“€μ„ μΆ”κ°€ν•©λ‹ˆλ‹€. //// // ExtauthConfig - (1) AppIcon (3) loginTitle (4) loginDescription (5) comebackDeeplink λ₯Ό λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€. final BuzzAdBenefitExtauthConfig extauthConfig = new BuzzAdBenefitExtauthConfig.Builder(this) .setAppIcon(context.getApplicationInfo().getIcon()) .build(); // ExtauthInstaller final BuzzAdBenefitExtauthInstaller extauthInstaller = new BuzzAdBenefitExtauthInstaller(extauthConfig); final BuzzAdBenefitConfig buzzAdBenefitConfig = extauthInstaller.installTo(new BuzzAdBenefitConfig.Builder(this)) .build(); // (3) μ΄ˆκΈ°ν™” BuzzAdBenefit.init(this, buzzAdBenefitConfig); } }

색상은 ν…Œλ§ˆλ³€κ²½ κ°€μ΄λ“œμ— 따라 λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

[3] 확인이 ν•„μš”ν•œ ν•­λͺ© - 각각 μœ„ ν•­λͺ©μ˜ (1), (2), (3) 에 ν•΄λ‹Ήν•©λ‹ˆλ‹€.Β 

ConfigΒ λŠ” μœ„μ˜ β€˜Extauth λͺ¨λ“ˆ 미리 보기’ - '1) κ΄‘κ³ λ₯Ό 처음으둜 μ°Έμ—¬ν•˜μ—¬ 인증 화면이 λ…ΈμΆœ' 에 ν•΄λ‹Ήν•˜λ©°, λ‹€μŒμ„ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.Β (μ•„λž˜λ₯Ό ν΄λ¦­ν•˜μ—¬ 이미지λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.)

Β 

  1. setAppIcon(@DrawableRes int) 을 톡해 β€˜μ™ΈλΆ€ μ„œλΉ„μŠ€ 연동 νŽ˜μ΄μ§€β€™μ—μ„œ μ‚¬μš©ν•  μ•± μ•„μ΄μ½˜μ„ μ„€μ •ν•©λ‹ˆλ‹€. μœ„μ˜ μ˜ˆμ‹œμ—λŠ” κΈ°λ³Έ 섀정값을 μ μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ•± 전체 섀정에 영ν–₯을 주지 μ•ŠμŠ΅λ‹ˆλ‹€.

  2. setThemeColor(@ColorInt int) 을 톡해 β€˜μ™ΈλΆ€ μ„œλΉ„μŠ€ 연동 νŽ˜μ΄μ§€β€™μ—μ„œ μ‚¬μš©ν•  λ²„νŠΌμ˜ 기본색을 μ„€μ •ν•©λ‹ˆλ‹€. μœ„μ˜ μ˜ˆμ‹œμ—λŠ” κΈ°λ³Έ 섀정값을 μ μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ•± 전체 섀정에 영ν–₯을 주지 μ•ŠμŠ΅λ‹ˆλ‹€.

  3. setLoginTitle(String) 을 톡해 β€˜μ™ΈλΆ€ μ„œλΉ„μŠ€ 연동 νŽ˜μ΄μ§€β€™μ—μ„œ μ‚¬μš©ν•  타이틀 문ꡬλ₯Ό μ„€μ •ν•©λ‹ˆλ‹€. μœ„μ˜ μ˜ˆμ‹œμ—λŠ” 'this is loginTitle'을 μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€.

  4. setLoginDescription(String) 을 톡해 β€˜μ™ΈλΆ€ μ„œλΉ„μŠ€ 연동 νŽ˜μ΄μ§€β€™μ—μ„œ μ‚¬μš©ν•  μ„€λͺ… 문ꡬλ₯Ό μ„€μ •ν•©λ‹ˆλ‹€. μœ„μ˜ μ˜ˆμ‹œμ—λŠ” 'this is loginDescription'을 μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€.

  5. (μ€‘μš”)Β initΒ μ½”λ“œλŠ”Β onCreate 에 μ μš©ν•˜λŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€. μ–΄λ–€ 이유(λ‚΄λΆ€ μ •μ±… λ“±)둜 λ‹€μŒ μœ„μΉ˜μ— μ½”λ“œλ₯Ό μ μš©ν•˜μ§€ λͺ»ν•  경우, λ°˜λ“œμ‹œΒ μ΅œμ΄ˆλ‘œ κ΄‘κ³ λ₯Ό μš”μ²­ν•˜λŠ” μœ„μΉ˜λ³΄λ‹€ 이전에 λ°°μΉ˜λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

Β 

(Optional) λ”₯링크 μ»€μŠ€ν„°λ§ˆμ΄μ§•

BuzzAd Ext.Pointμ—μ„œλŠ” μ™ΈλΆ€ ν¬μΈνŠΈμ‚¬ 연동 μ™„λ£Œ μ‹œ μ›ΉνŽ˜μ΄μ§€λ₯Ό λ„μ›λ‹ˆλ‹€. 연동 μ™„λ£Œμ‹œ λ³΄μ—¬μ§€λŠ” μ›ΉνŽ˜μ΄μ§€μ—λŠ” β€˜μ•±μœΌλ‘œ λŒμ•„κ°€κΈ°β€™ λ²„νŠΌμ΄ 있으며, λ²„νŠΌμ„ λˆŒλ €μ„λ•Œ (μ‹€ν–‰μ€‘μ΄λ˜) μ•±μœΌλ‘œ λŒμ•„κ°‘λ‹ˆλ‹€. μΆ”κ°€λ‘œ β€˜μ•±μœΌλ‘œ λŒμ•„κ°€κΈ°β€™ λ²„νŠΌμ„ λˆŒλ €μ„ λ•Œ μ‹€ν–‰ν•  λ”₯링크λ₯Ό μ»€μŠ€ν„°λ§ˆμ΄μ§•ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Β 

λ”₯링크 μ»€μŠ€ν„°λ§ˆμ΄μ§•μ„ ν•˜λ©°, application Id 와 package name을 λ‹€λ₯΄κ²Œ μ„€μ •ν•œ 경우

Application Id 와 package name 이 λ™μΌν•˜μ§€ μ•Šμ€ 경우 μ˜λ„μΉ˜ μ•Šμ€ λ™μž‘μ„ μ•ΌκΈ°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
이런 경우 μ•„λž˜ κ°€μ΄λ“œλ₯Ό μ°Έμ‘°ν•˜μ—¬ setComebackDeeplink λ₯Ό μ„€μ •ν•΄μ•Όν•©λ‹ˆλ‹€.

Β 


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

2. μ‚¬μš©μž 정보 κ΄€λ¦¬ν•˜κΈ°

User profile 및 Session Ready Broadcast

μ‚¬μš©μž μ •λ³΄λŠ” userProfile μ—μ„œ κ΄€λ¦¬ν•©λ‹ˆλ‹€. 자체 포인트 μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•˜λŠ” 경우, 일반적으둜 μ‚¬μš©μž μ •λ³΄λŠ” λ‚΄λΆ€μ—μ„œ κ΄€λ¦¬ν•˜λŠ” 정보λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ, 이 μ—°λ™μ˜ 경우 μ™ΈλΆ€ 인증을 ν†΅ν•˜μ—¬ μ‚¬μš©μž 정보λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€. λ”°λΌμ„œ λ³„λ„μ˜ User profile 섀정이 ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

[1] μ™ΈλΆ€ 인증을 ν†΅ν•œ λ‘œκ·ΈμΈμ— μ„±κ³΅ν•˜λ©΄ Session Ready Broadcast κ°€ ν˜ΈμΆœλ©λ‹ˆλ‹€. μ΄λ•Œ BroadcastReceiver λ₯Ό μ‚¬μš©ν•˜μ—¬ 둜그인 μƒνƒœμ— λ”°λ₯Έ λ™μž‘μ„ κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

[2] (선택) μœ μ €μ˜ νƒ€κ²ŸνŒ… (성별, 생년) 정보 μž…λ ₯ν•˜κΈ°

μ™ΈλΆ€ 인증을 ν†΅ν•œ 둜그인 이후, μœ μ €μ˜ 아이디가 κ³ μœ ν•˜κ²Œ μ •ν•΄μ§‘λ‹ˆλ‹€. 이후, νŒŒνŠΈλ„ˆμ—μ„œ 직접 μœ μ €μ˜ 성별 및 μΆœμƒλ…„λ„ 정보λ₯Ό 직접 μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μœ μ €μ˜ νƒ€κ²ŸνŒ… 정보가 μž…λ ₯될 경우, μœ μ €κ°€ 더 λ§Žμ€ κ΄‘κ³ λ₯Ό μ°Έμ—¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€. (ν•΄λ‹Ή μ •λ³΄λŠ” μœ μ €κ°€ 직접 μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.)

νƒ€κ²ŸνŒ… 정보

  • gender

    • UserProfile.Gender.MALE: 남성

    • UserProfile.Gender.FEMALE: μ—¬μ„±

  • birthYear: μΆœμƒλ…„λ„ (4자리)

Β 

User preference μ„€μ •ν•˜κΈ°

μ•žμ„  λ‹¨κ³„μ˜ Session Ready Broadcast λ₯Ό μ΄μš©ν•˜μ—¬, μœ μ €κ°€ λ‘œκ·ΈμΈμ— μ„±κ³΅ν•œ μ‹œμ μ— λ‹€μŒμ„ μ„€μ •ν•©λ‹ˆλ‹€.

autoplayType()은 λ™μ˜μƒ κ΄‘κ³ μ˜ μžλ™ μž¬μƒμ— λŒ€ν•œ μ„€μ •μž…λ‹ˆλ‹€. 기본값은 Wifi ν™˜κ²½μ—μ„œλ§Œ μžλ™ μž¬μƒν•˜λ„λ‘ μ„€μ •λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. 선택 κ°€λŠ₯ν•œ 섀정값은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • AutoplayType.ON_WIFI: Wifi ν™˜κ²½μ—μ„œλ§Œ μžλ™ μž¬μƒλ©λ‹ˆλ‹€. (κΈ°λ³Έκ°’)

    • μ™ΈλΆ€ 포인트 연동이 μ™„λ£Œ λ˜μ§€ μ•Šμ€ 경우, μžλ™ μž¬μƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  • AutoplayType.ENABLED: 항상 μžλ™ μž¬μƒλ©λ‹ˆλ‹€.

  • AutoplayType.DISABLED: μžλ™ μž¬μƒμ„ μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

Β 

μ‚¬μš©μž 정보 μ‚­μ œν•˜κΈ°

μ™ΈλΆ€ 인증을 ν†΅ν•œ 둜그인이 λ§Œλ£Œλ˜λŠ” μ‹œμ  ν˜Ήμ€ μ•± μ‚¬μš© μ’…λ£Œλ‘œ μ„€μ •κ°’ μ‚­μ œκ°€ ν•„μš”ν•  경우, λ‹€μŒμ„ μ„€μ •ν•©λ‹ˆλ‹€.Β 

Β 


λ‹€μŒ κ³Όμ •μœΌλ‘œ λ„˜μ–΄κ°€κΈ°

β†’ κ΄‘κ³  지면 μ—°λ™ν•˜κΈ° (μ΅œμ‹  μ—°λ™κ°€μ΄λ“œ)