Getting Started (PedometerLite)

 

PedometerLite 를 사용하기 위해선 Pop 초기화를 마친 상태여야 합니다.

<그림 1> PedometerLite feature 사용을 설정했을 때 Pop 피드의 모습

<그림 2> PedometerLite 를 활성화했을 때 Pop

 

Initialization

Step 1. Add pedometetr feature module

application level build.gradle 에 만보기 모듈을 추가합니다.

implementation 'com.buzzvil:buzz-pedometer:x.y.z'

buzzad-benefit:2.12.+ 를 사용하는 경우 buzz-pedometer:1.3.+ 사용
buzzad-benefit:2.13.+ 이후인 경우는, buzzad-benefit 와 동일한 버전 사용

<그림 3> Pop Interstitial Ad

Step 2. Set pedometer unitId

Application class 에서 BuzzAdBenefit.init 할 때

  1. pedometerConfig: unitId 설정

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

      1. UNIT_ID_PEDOMETER: 만보기 활성화/비활성화 페이지 광고 유닛.

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

Application class 에서 BuzzAdBenefit.init 할 때 위 unitId 를 가지고있는 pedometerConfig 를 설정합니다.

final PedometerConfig pedometerConfig = buildPedometerConfig(); final PopConfig popConfig = new PopConfig.Builder(getApplicationContext(), UNIT_ID_POP) ... .pedometerConfig(pedometerConfig) ... .build(); BuzzAdBenefit.init(this, buzzAdBenefitConfig); @NotNull private PedometerConfig buildPedometerConfig() { return new PedometerConfig .Builder(UNIT_ID_PEDOMETER, UNIT_ID_PEDOMETER_REWARD) .build(); }

Step 3. Initialize Pop Pedometer

Application class onCreatesessionReadyReceiver 를 등록합니다. 세션이 준비되면 만보기를 초기화합니다.

@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", "UNIT_ID_POP"); } } };

 

Step 4. (Optional) Handling PopToolbarHolder

PopToolbarHolder 는 customize 페이지에서 소개한대로 직접 구현이 가능합니다. PopToolbarHolder 를 customize 했을 경우에는 Pop Feed Toolbar 에 Pedometer Icon <그림 1> 을 나오게 하려면 각각 다른 작업을 해야합니다.

DefaultPopToolbarHolder: 추가 작업 없이 만보기 아이콘이 보입니다.

CustomPopToolbarHolder: 이 경우 ToolbarHolder 의 view 를 직접 그리기 때문에 icon 설정이 필요합니다.

  1. Line7, 24: getView() 에서 shouldShowPedometer() 를 통해서 pedometer 사용 가능여부를 체크 한 후, 사용가능하다면 Pedometer Icon 를 보여줍니다.

  2. Line 30: Click Listener 에서showPedometer(activity); 를 호출하면 pedometer 화면으로 이동합니다.

public class CustomPopToolbarHolder extends DefaultPopToolbarHolder { @Override public View getView(Activity activity, @NonNull String unitId) { ViewGroup root = (ViewGroup) activity.getLayoutInflater().inflate(R.layout.view_pop_custom_toolbar, null); showPedometerButtonIfNeeded(activity, root); showInquiryButton(activity, root, unitId); return root; } private void showInquiryButton(Activity activity, ViewGroup root, String unitId) { View buttonInquiry = root.findViewById(R.id.buttonInquiry); buttonInquiry.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showInquiry(activity, unitId); } }); } private void showPedometerButtonIfNeeded(Activity activity, ViewGroup root) { if (shouldShowPedometer()) { View buttonPedometer = root.findViewById(R.id.buttonPedometer); buttonPedometer.setVisibility(View.VISIBLE); buttonPedometer.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showPedometer(activity); } }); } } }

TemplatePopToolbarHolder: getView 에서 addPedometerMenuItemView(activity)를 호출 하면 Pedometer Icon 이 보이게 됩니다.

  1. Line 9: addPedometerMenuItemView(activity) 호출

public class TemplatePopToolbarHolder extends DefaultPopToolbarHolder { @Override public View getView(Activity activity, @NonNull String unitId) { toolbar = new PopToolbar(activity); toolbar.setTitle("TemplatePopToolbarHolder"); toolbar.setBackgroundColor(Color.LTGRAY); addPedometerMenuItemView(activity); addInquiryMenuItemView(activity, App.UNIT_ID_POP); addRightMenuItemView1(activity); return toolbar; } private void addRightMenuItemView1(@NonNull final Activity activity) { PopMenuImageView menuItemView = toolbar.buildPopMenuItemView(activity, R.drawable.ic_notification_pop_gift); menuItemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String url = "https://www.buzzvil.com/ko/main"; Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); activity.startActivity(intent); } }); toolbar.addRightMenuButton(menuItemView); } }

Step 5. Final Step

App 실행 → Pop 실행 → Pop Feed Toolbar 에 <그림 1> 과 같이 만보기 아이콘이 보이면 클릭해서 PedometerLite 기능을 사용할 수 있습니다.

 

Physical activity recognition

Android 10 (Q, API 29) 부터는 신체 활동 감지 권한이 필요하게 변경됐습니다. 앱에서 PedometerLite feature 를 활성화할 때 권한을 얻기 위한 팝업이 뜨게 됩니다.

참고: Android Developer Guide