...
만보기는 히스트리 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", "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)
...
다음은 신체 활동 감지 권한을 얻는 방법입니다예시입니다.
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); } } |
...