Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Application 레벨의 build.gradle 에 만보기 라이브러리를 추가합니다.
만보기 라이브러리의 버전은 BuzzAd Android SDK 버전과 동일한 버전을 사용합니다.

Code Block
languagebash
implementation 'com.buzzvil:buzz-pedometer:x.y.z'

만보기 초기화

Application의 onCreate에서 PedometerConfig를 설정합니다. 그리고 BuzzAdPopPedometer.init을 호출하는 sessionReadyReceiver를 등록합니다. sessionReadyReceiver.onReceiveBuzzAdBenefit.setUserProfile이 실행된 이후에 호출됩니다. 만보기 라이브러리를 초기화합니다. 만보기 라이브러리는 사용자 프로필을 설정한 후에 초기화해야 합니다. BroadcastReceiver를 BuzzAdBenefit.registerSessionReadyBroadcastReceiver에 등록하여 사용자 프로필 설정 완료 이벤트를 받을 수 있습니다.

다음은 만보기 라이브러리를 초기화하는 예시입니다.

Code Block
languagejava
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
languagejava
@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);
    }
}

...