개요
Pop(기본형) 에 만보기 기능이 추가되어 기본 아이콘대신 걸음수를 보여주며, 유저가 목표 걸음수에 도달했을시 리워드 지급을 안내합니다. 리워드 지급시 광고를 보여주며 유저의 리텐션을 높일 수 있습니다.
준비 사항
UNIT_ID_PEDOMETER
: 만보기 리워드 적립을 하는 fragment에서의 광고 유닛UNIT_ID_PEDOMETER_REWARD
: 만보기 마일스톤을 눌렀을 때 나오는 bottom sheet dialog 광고 유닛
PedometerePop 을 사용하기 위해선 Pop 기본설정을 마친 상태여야 합니다.
<그림 1> Pop(만보기형)의 Pop Feed
<그림 2> Pop(만보기형)의 기본 UI
<그림 3> Pop Interstitial Ad
Step 1. 만보기 SDK 설치
Application level build.gradle
에 만보기 모듈을 추가합니다.
implementation 'com.buzzvil:buzz-pedometer:x.y.z'
BuzzAd SDK와 동일한 버전 사용
Step 2. PedometerConfig 설정
Application class 에서 BuzzAdBenefit.init
할 때 pedometerConfig 와 popConfig 를 설정하여
pedometerConfig: 발급받은 Pedometer Unit Id를 개 를 benefit 초기화 시 설정합니다.
UNIT_ID_PEDOMETER
: 만보기 리워드 적립을 하는 fragment에서의 광고 유닛UNIT_ID_PEDOMETER_REWARD
: 만보기 마일스톤을 눌렀을 때 나오는 bottom sheet dialog 광고 유닛(Optional)
pedometerIntroUnitId
를 통해YOUR_UNIT_ID_PEDOMETER_INTRO
를 설정합니다.pedometerIntroUnitId
가 설정되어 있으면 유저가 Pedometer History 페이지에 진입할 시 Interstitial 광고를 보여줍니다.
popConfig:
feedHeaderViewAdapterClass
를DefaultPedometerPopHeaderViewAdapter
로 설정popMode
를PopMode.PEDOMETER_POP
로 설정
final PedometerConfig pedometerConfig = new PedometerConfig .Builder(getApplicationContext(), YOUR_UNIT_ID_PEDOMETER, YOU_UNIT_ID_PEDOMETER_REWARD) .pedometerIntroUnitId(YOUR_UNIT_ID_PEDOMETER_INTRO) // Optional .build(); final PopConfig popConfig = new PopConfig.Builder(getApplicationContext(), UNIT_ID_POP) ...생략... .feedHeaderViewAdapterClass(DefaultPedometerPopHeaderViewAdapter.class) .popMode(PopConfig.PopMode.PEDOMETER_POP) .pedometerConfig(pedometerConfig) .build(); final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(this) ...생략... .setPopConfig(popConfig) .build(); BuzzAdBenefit.init(this, buzzAdBenefitConfig);
Step 3. 초기화
Application class onCreate
에 sessionReadyReceiver
를 등록해야합니다. onReceive
는 BuzzAdBenefit.setUserProfile
가 살행된 후에 호출됩니다.
private BroadcastReceiver sessionReadyReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { initPedometer(context); Log.d(TAG, "Session is Ready. Ads can be loaded now."); } private void initPedometer(Context context) { Log.d(TAG, "Session is Ready. initPedometer"); if (popConfig.getPedometerConfig() != null) { BuzzAdPopPedometer.init(context, "YOUR_UNIT_ID_POP"); } } }; @Override public void onCreate() { super.onCreate(); BuzzAdBenefit.registerSessionReadyBroadcastReceiver(this, sessionReadyReceiver); }
Step 4. 권한 설정
Android 10 (Q, API 29) 부터는 신체 활동 감지 권한이 필요하게 변경됐습니다. (참고: Android Developer Guide)
Pop 은 다른 앱 위에 그리기 권한이 필요합니다. 다른 앱 위에 그리기 권한을 받기 위해서 SDK 에서 제공하는 기능을 이용할 수 있습니다.
Pop(기본형) 기본 설정의 Step 4에서 다른 앱 위에 그리기 권한을 획득한 후 자동으로 Activity 로 돌아왔을때, 아래와 같이 만보기 기능을 활성화합니다.
// Activity.onCreate ...생략... if (getIntent().getBooleanExtra(KEY_SETTINGS_RESULT, false) && getIntent().getIntExtra(KEY_SETTINGS_REQUEST_CODE, 0) == REQUEST_CODE_SHOW_POP) { if (BuzzAdPop.hasPermission(this)) { buzzAdPop.preloadAndShowPop(); BuzzAdPopPedometer.activate(); } } ...생략...