개요
만보기형 Pop(이하 만보기)은 기본 아이콘 대신 걸음수를 보여줍니다. 목표 걸음 수에 도달했을 시 적립 가능 아이콘과 말풍선으로 사용자에게 적립 가능을 알립니다. 사용자는 리워드 적립을 위해 Pop 지면에 방문하게 됩니다. 리워드 획득을 위해 걸음 이외에 별도의 액션을 요구하지 않아 높은 방문율을 유지할 수 있습니다.
준비 사항
Pop(기본형) 기본설정 적용 완료
만보기 리워드 적립에 사용하는 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'
만보기 초기화
테스트
테스트 만보기
PedometerConfig를 설정합니다. PopConfig에 popMode
를 PopMode.PEDOMETER_POP
로 설정합니다.
만보기 SDK는 sessionReadyReceiver.onReceive
에서 호출합니다.
Application class onCreate
에 sessionReadyReceiver
를 등록해야합니다. onReceive
는 BuzzAdBenefit.setUserProfile
가 살행된 후에 호출됩니다.
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"); Log.d(TAG, "Session is Ready. Ads can be loaded now."); } }; @Override public void onCreate() { super.onCreate(); ...생략... final PedometerConfig pedometerConfig = new PedometerConfig .Builder(context, "YOUR_UNIT_ID_PEDOMETER", "YOUR_UNIT_ID_PEDOMETER_REWARD") .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.pop_pedometer_dialog_permission_title) .setMessage(R.string.pop_pedometer_dialog_permission_description) .setPositiveButton(android.R.string.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(); } } } }