Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

<그림 3> Pop Interstitial Ad

 Step Step 2. PedometerConfig 설정

Application class 에서 BuzzAdBenefit.init 할 때

  1. pedometerConfig: 위 unitId Unit ID 설정

    1. 발급받은 Pedometer unitId Unit ID 2개 를 benefit 초기화 시 설정합니다.

      UNIT_ID_PEDOMETER: 만보기 리워드 적립을 하는 fragment에서의 광고 유닛

      UNIT_ID_PEDOMETER_REWARD: 만보기 마일스톤을 눌렀을 때 나오는 bottom sheet dialog 광고 유닛

    2. (Optional) pedometerIntroUnitId 를 통해 YOUR_UNIT_ID_PEDOMETER_INTRO 를 설정합니다. 이 UnitId 가 설정되어있으면 적립이 가능할 때 Intro 광고 <그림 3> 노출

  2. popConfig:

    1. <그림 1> 과 같이 feed 에 Pedometer 관련 내용을 보여주기 위해 feedHeaderViewAdapterClass 설정

    2. popModePopMode.PEDOMETER_POP설정(Optional)Pop 의 Exit 광고 <그림 3> 도 popExitUnitId 를 통해 설정 가능

Code Block
languagejava
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)
        .popExitUnitId(App.unitIdPedometerPopExit) //
Optional         .build();
final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(this)
        ...(생략)...
        .setPopConfig(popConfig)
        .build();
BuzzAdBenefit.init(this, buzzAdBenefitConfig);

...

Code Block
languagejava
@Override
public void onCreate() {
    super.onCreate();

    initBuzzAdBenefit();
    BuzzAdBenefit.registerSessionReadyBroadcastReceiver(this, sessionReadyReceiver);
}
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, "APP_ID", "YOUR_UNIT_ID_POP");
        }
    }
};

 Step Step 4. 권한 설정

Android 10 (Q, API 29) 부터는 신체 활동 감지 권한이 필요하게 변경됐습니다. (참고: Android Developer Guide)

...

Code Block
languagejava
// 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.showTutorialPopup(this);
        // overlay permission granted
        // collect event here if necessary
        activatePedometerPop();
    }
}

private void activatePedometerPop() {
    BuzzAdPopPedometer.activate();
}

Step

...

5. Pop 실행

팝을 실행 하기 위해서BuzzAdPop.preloadAndShowPop() 함수를 호출해 줍니다. 호출하기 전 다른 앱 위에 그리기 권한이 있는지 꼭 확인해 주세요. 팝이 한 번 활성화 하면 foreground service가 켜지면서 화면을 껐다켤때마다 팝이 지속적으로 화면에 보이게 됩니다.

...