Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

PedometerLite 는 Pop 을 만보기로 사용할 수 있게 해주는 feature 입니다.

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.+ 사용

<그림 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 광고 유닛

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

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

final PedometerConfig pedometerConfig = buildPedometerConfig();
final PopConfig popConfig = new PopConfig.Builder(getApplicationContext(), UNIT_ID_POP)
        ...
        .pedometerConfig(pedometerConfig)
        .popExitUnitId(UNIT_ID_PEDOMETER_POP_EXIT) // Optional
        ...
        .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 기능을 사용할 수 있습니다.

Customization

PedometerConfig

PedometerConfig 를 통해서 아래 이미지의 내용(이미지, 컬러, 스트링)을 변경할 수 있습니다

No. 는 위 그림의 customize 가능한 영역의 숫자를 뜻합니다. unitId, rewardUnitId 는 필수고 나머지는 optioinal 입니다.

No.

Parameter

Description

 14

unitId

Pedometer fragment 에서 사용하는 광고 Unit Id

 17

rewardUnitId

Pedometer bottom sheet(리워드 정보 화면)에서 사용하는 광고 Unit Id

 <그림 3>

pedometerIntroUnitId

적립 가능 할 때 Pedometer fragment 진입 시 사용하는 광고 Unit id

1

toolbarTitle

Pedometer fragment 툴바에 표시되는 title

2

tutorialUrl

Pedometer fragment 툴바의 튜토리얼 버튼을 눌렀을 때 이동할 url 주소

3

introImageResId

Pedometer fragment 만보기 소개 이미지

4

introTitle

Pedometer fragment 만보기 소개 Title

5

introDescription

Pedometer fragment 만보기 소개 Description

6

switchThumbActiveColor

Pedometer fragment 만보기 Toggle Thumb 활성화 컬러

7

switchThumbInactiveColor

Pedometer fragment 만보기 Toggle Thumb 비활성화 컬러

8

switchTrackInactiveColor

Pedometer fragment 만보기 Toggle Track 비활성화 컬러

9

milestoneProgressGuideColor

Pedometer fragment 마일스톤 Progress Guide Color

10

milestoneProgressColor

Pedometer fragment 마일스톤 Progress Color

11

milestoneRewardIconResId

Pedometer fragment 마일스톤 적립 가능할 때 보이는 Icon resource id

12

rewardAvailableTextColor

Pedometer fragment 마일스톤 적립 가능할 때 표시되는 Text Color

13

rewardAvailableBackgroundResId

Pedometer fragment 마일스톤 적립 가능할 때 표시되는 Text Background Resource Id

15

bottomSheetImageResId

Pedometer bottom sheet 마일스톤 적립 가능할 때 보이는 image resource id

16

bottomSheetSuccessString

Pedometer bottom sheet 적립 완료 string

16

bottomSheetInProgressString

Pedometer bottom sheet 적립 중 string

18

popIconProgressColor

Pedometer Pop Icon Progress Color

19

popIconProgressGuideColor

Pedometer Pop Icon Progress Guide Color

20

popIconTextColor

Pedometer Pop Icon 에 표시 되는 걸음 수 Text Color

21

popIconRewardIconResId

Pedometer Pop Icon 적립 가능할 때 보이는 Icon resource id

22

popIconBackgroundColor

Pedometer Pop Icon Background Color

Physical activity recognition

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

https://developer.android.com/about/versions/10/privacy/changes#physical-activity-recognition

  • No labels