목차
개요
만보기형 Pop(이하 만보기)은 기본 아이콘 대신 걸음수를 보여줍니다. 목표 걸음 수에 도달했을 시 적립 가능 아이콘과 말풍선으로 사용자에게 적립 가능을 알립니다. 사용자는 리워드 적립을 위해 Pop 지면에 방문하게 됩니다. 리워드 획득을 위해 걸음 이외에 별도의 액션을 요구하지 않아 높은 방문율을 유지할 수 있습니다.
만보기는 히스트리 UI와 적립 UI라는 별도의 UI를 기본적으로 제공합니다.
준비 사항
Pop(기본형) 기본설정 적용 완료
Pop 연동에 사용한YOUR_POP_UNIT_ID
만보기 리워드 적립에 사용하는 Unit ID (이하
UNIT_ID_PEDOMETER
)만보기 광고 지면에 사용하는 Unit ID (이하
UNIT_ID_PEDOMETER_REWARD
)
만보기 라이브러리 추가
Application 레벨의 build.gradle
에 만보기 라이브러리를 추가합니다.
만보기 라이브러리의 버전은 BuzzAd Android SDK 버전과 동일한 버전을 사용합니다.
implementation 'com.buzzvil:buzz-pedometer:x.y.z'
만보기 초기화
만보기 라이브러리를 초기화합니다. 만보기 라이브러리는 사용자 프로필을 설정한 후에 초기화해야 합니다. BroadcastReceiver를 BuzzAdBenefit.registerSessionReadyBroadcastReceiver
에 등록하여 사용자 프로필 설정 완료 이벤트를 받을 수 있습니다.
다음은 만보기 라이브러리를 초기화하는 예시입니다.
public class App extends Application { private BroadcastReceiver sessionReadyReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { BuzzAdPopPedometer.init(context, "YOUR_POP_UNIT_ID"); } }; @Override public void onCreate() { super.onCreate(); final PedometerConfig pedometerConfig = new PedometerConfig.Builder(context, "YOUR_PEDOMETER_UNIT_ID", "YOUR_PEDOMETER_REWARD_UNIT_ID") .build(); final PopConfig popConfig = new PopConfig.Builder(getApplicationContext(), "YOUR_POP_UNIT_ID") .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); BuzzAdBenefit.registerSessionReadyBroadcastReceiver(this, sessionReadyReceiver); } }
만보기 활성화
만보기를 활성화 하기 위해서는 활동 감지 권한이 필요합니다. 다음은 만보기를 활성화하는 방법을 안내합니다.
활동 감지 권한 요청
OS 버전 Android 10 이상인 디바이스에서 만보기 기능을 사용하기 위해서는 활동 감지 권한이 필요합니다. (참고: Android Developer Guide)
다음은 신체 활동 감지 권한을 얻는 예시입니다.
@TargetApi(Build.VERSION_CODES.Q) private void requestActivityRecognitionPermission(Activity activity) { if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.ACTIVITY_RECOGNITION)) { if (!activity.isFinishing()) { new AlertDialog.Builder(activity) .setTitle(R.string.your_title) .setMessage(R.string.your_message) .setPositiveButton(android.R.string.your_ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { requestPermissions(new String[]{Manifest.permission.ACTIVITY_RECOGNITION}, ACTIVATION_REQUEST_CODE); } }).show(); } } else { requestPermissions(new String[]{Manifest.permission.ACTIVITY_RECOGNITION}, ACTIVATION_REQUEST_CODE); } }
만보기 활성화
권한을 획득한 후, Pop을 표시하고 만보기를 활성화합니다.
public class YourActivity extends AppCompatActivity { @Override public void onCreate() { super.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(); } } } }