/
Potto : Getting Started

Potto : Getting Started

본 가이드는 BuzzAd-Benefit SDK의 Pop 타입 안에 Potto 기능을 연동하는 방법을 다루는 문서입니다.

BuzzAd-2.6.0 버전 이상에서 사용 가능합니다.

※ 주의사항

  • (중요) Potto는 BuzzAd-Benefit SDK의 Pop 타입이 연동되어있어야 사용 가능합니다. 연동하기 전, Pop이 제대로 연동되어있는지 확인해 주세요.

  • 연동하기 전에 BD 매니저를 통해 전달받은 Potto의 unit_id가 준비되어야 합니다.

  • 테스트/라이브하기 전, 1등 당첨자에게 지급할 당첨 포인트 액수를 BD 매니저에게 전달해야 합니다.

 

Index

 

Potto 기능 소개


Potto는 로또 형식의 당첨 번호 뽑기 기능입니다.

작동 원리

Potto는 매주 월요일마다 새롭게 시작하며, 주 단위로 운영됩니다. 사용자는 월요일부터 토요일까지 매일 번호를 하나씩 뽑을 수 있습니다. 이때, Potto 페이지에 나오는 광고 시청을 완료한 사용자만 번호를 뽑을 수 있습니다. 일요일 0시에는 토요일까지 6개의 번호를 모두 뽑은 사용자를 대상으로 당첨자를 뽑습니다. 일요일에 potto 페이지에 들어가면 당첨번호와 자신의 당첨 여부를 확인할 수 있습니다. 당첨금은 월요일 오전 중에 자동 지급됩니다.

매일 앱에 방문하여 번호를 뽑는 형태이기 때문에 요일을 놓치면 이전 번호를 뽑을 수 없습니다. 하지만 유저의 참여를 높이기 위하여 하루 놓친 번호 까지는 뽑을 수 있습니다. 예를 들어 화요일에 번호를 뽑지 않고 수요일에 들어온 유저는 화요일 번호를 뽑을 수 있습니다. 하지만 월요일, 화요일 번호를 뽑지 않고 수요일에 들어온 유저는 번호를 뽑을 수 없는 상태가 되고 해당 주의 potto는 더이상 참여할 수 없습니다.

예)
월 O / 화 X / 수 ? → 화요일, 수요일 번호 뽑기 가능
월 X / 화 X / 수 ? → 해당 주의 Potto 비활성화

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

 

진입 경로

pop feed의 toolbar의 우상단 메뉴에서 potto로 진입가능합니다.

 

Basic Usage


Step1. Set Potto unit_id

발급받은 Potto unit_id 를 benefit 초기화 시 설정합니다. Potto 페이지 진입시 보이는 광고를 담당하는 Unit의 ID 입니다. Application class 에서 BuzzAdBenefit.init 할 때 위 unit_id 를 가지고있는 pottoConfig 를 설정합니다.

popConfigBuilder.pottoConfig(new PottoConfig.Builder(POTTO_UNIT_ID_HERE) .build()); popConfig = popConfigBuilder.build(); BuzzAdBenefit.init(this, buzzAdBenefitConfig);

 

Step 2. (Optional) Handling PopToolbarHolder

DefaultPopToolbarHolder를 사용한다면 이 단계는 건너뜁니다.

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

  • DefaultPopToolbarHolder: 추가 작업 없이 Potto 아이콘이 보임

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

 

  1. Line 3, 12: getView() 에서 shouldShowPotto() 를 통해서 potto 사용 가능여부를 체크 한 후, 사용가능하다면 Potto Icon 를 보여줍니다.

  2. Line 18: Click Listener 에서showPotto(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); showPottoButtonIfNeeded(activity, root); return root; } private void showPottoButtonIfNeeded(Activity activity, ViewGroup root) { if (shouldShowPotto()) { View buttonPotto = root.findViewById(R.id.buttonPotto); buttonPotto.setVisibility(View.VISIBLE); buttonPotto.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showPotto(activity); } }); } } }

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

  1. Line 9: addPottoMenuItemView(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); addPottoMenuItemView(activity); return toolbar; } }

 

Customize

Customize 페이지 에서 Customize 하는 방법을 소개합니다.

Related content