목차
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
개요
...
만보기형 Pop(이하 만보기)은 기본 아이콘 대신 걸음수를 보여줍니다. 목표 걸음 수에 도달했을 시 적립 가능 아이콘과 말풍선으로 사용자에게 적립 가능을 알립니다. 사용자는 리워드 적립을 위해 Pop 지면에 방문하게 됩니다. 리워드 획득을 위해 걸음 이외에 별도의 액션을 요구하지 않아 높은 방문율을 유지할 수 있습니다.
...
만보기는 히스트리 UI와 적립 UI라는 별도의 UI를 기본적으로 제공합니다.
...
준비 사항
Pop(기본형) 기본설정 기본형 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' |
만보기 초기화
테스트
PedometerConfig를 설정합니다. PopConfig에 popMode
를 PopMode.PEDOMETER_POP
로 설정합니다.
만보기 SDK는 sessionReadyReceiver.onReceive
에서 호출합니다.
Application class onCreate
에 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 |
...
", "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);
}
} |
만보기 활성화
만보기를 활성화 하기 위해서는 활동 감지 권한이 필요합니다. 다음은 만보기를 활성화하는 방법을 안내합니다.
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
활동 감지 권한 요청
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.pop_pedometer_dialog_permissionyour_title) .setMessage(R.string.pop_pedometer_dialog_permission_descriptionyour_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(); } } } } |