목차
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
개요
...
만보기형 Pop(이하 만보기)은 기본 아이콘 대신 걸음수를 보여줍니다. 목표 걸음 수에 도달했을 시 적립 가능 아이콘과 말풍선으로 사용자에게 적립 가능을 알립니다. 사용자는 리워드 적립을 위해 Pop 지면에 방문하게 됩니다. 리워드 획득을 위해 걸음 이외에 별도의 액션을 요구하지 않아 높은 방문율을 유지할 수 있습니다.
...
만보기는 히스트리 UI와 적립 UI라는 별도의 UI를 기본적으로 제공합니다.
...
준비 사항
Pop(기본형) 기본설정 적용 완료
Pop 연동에 사용한YOUR_POP_UNIT_ID
만보기 리워드 적립에 기본형 Pop 기본 설정 적용 완료
만보기 걸음 수 등록, 목표 걸음 달성 시의 리워드 적립, 리워드 적립 페이지의 광고 지면에 사용하는 Unit ID (이하
UNIT_ID_PEDOMETER
)만보기 목표 걸음 달성 후 표시되는 바텀시트 광고 지면에 사용하는 Unit ID (이하
UNIT_ID_PEDOMETER_REWARD
)
...
Application 레벨의 build.gradle
에 만보기 라이브러리를 추가합니다.
만보기 라이브러리의 버전은 BuzzAd Android SDK 버전과 동일한 버전을 사용합니다.
Code Block | ||
---|---|---|
| ||
implementation 'com.buzzvil:buzz-pedometer:x.y.z' |
만보기 초기화
Application의 onCreate에서 PedometerConfig를 설정합니다. 그리고 BuzzAdPopPedometer.init
을 호출하는 sessionReadyReceiver
를 등록합니다. sessionReadyReceiver.onReceive
는 BuzzAdBenefit.setUserProfile
이 실행된 이후에 호출됩니다. 만보기 라이브러리를 초기화합니다. 만보기 라이브러리는 사용자 프로필을 설정한 후에 초기화해야 합니다. BroadcastReceiver를 BuzzAdBenefit.registerSessionReadyBroadcastReceiver
에 등록하여 사용자 프로필 설정 완료 이벤트를 받을 수 있습니다.
다음은 만보기 라이브러리를 초기화하는 예시입니다.
Code Block | ||
---|---|---|
| ||
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_PEDOMETER", "YOUR_PEDOMETER_REWARD_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)
...
다음은 신체 활동 감지 권한을 얻는 방법입니다예시입니다.
Code Block | ||
---|---|---|
| ||
@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을 표시하고 만보기를 활성화 합니다활성화합니다.
Code Block | ||
---|---|---|
| ||
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(); } } } } |