실시간 타겟팅 (X)
직접 연동하기 (start / stop)
법적 동의를 직접 관리하는 고객사를 위한 연동 (동의 자체 관리형 · ConsentNone)
사전 준비
섹션 제목: “사전 준비”STEP 1) 앱 시작 시점에 init 호출하기
섹션 제목: “STEP 1) 앱 시작 시점에 init 호출하기”Application#onCreate 에서 init 을 호출합니다. init 은 SDK 기본 초기화를 수행하고, 인식 서비스가 비정상 종료됐던 경우(사용자의 앱 강제 종료 등) 서비스를 자동으로 재시작합니다.
init(config, callback)method reference
class MyApplication : Application() { override fun onCreate() { super.onCreate()
val moment = MomentSDK.getInstance(this) moment.init( config, object : MomentSDK.RestartResultCallback { override fun onSuccess(resultCode: MomentSDK.RestartResultCode) { if (resultCode == MomentSDK.RestartResultCode.SERVICE_RESTARTED) { // 인식 서비스가 재시작되었습니다. } }
override fun onFailure(exception: MomentException) { // 초기화/재시작에 실패했습니다. } } ) }}STEP 2) 권한 요청하기
섹션 제목: “STEP 2) 권한 요청하기”필요 권한 1: 사용정보 접근 (PACKAGE_USAGE_STATS)
인식 서비스를 시작하기 위해서는 사용자에게 사용정보 접근 허용 권한을 요청해야 합니다. 아래 예시 코드를 통해 권한을 요청할 수 있습니다. (참고: 스타터 예시)
val appUsagePermissionLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { if (MomentSDK.isAppUsagePermissionGranted(requireContext())) { // 권한 획득 성공 } else { // 권한 획득 실패 } }
val intent = Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS)intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)intent.data = Uri.fromParts("package", packageName, null)appUsagePermissionLauncher.launch(intent)필요 권한 2: 알림 권한 (POST_NOTIFICATIONS)
- 인식 후 알림을 보내기 위한 시스템 알림 권한입니다. Android 13(API 33) 이상에서는 런타임으로 요청해야 합니다.
- 알림 권한에 대한 가이드는 이 문서를 참조해주세요.
STEP 3) 서비스 시작하기 (start)
섹션 제목: “STEP 3) 서비스 시작하기 (start)”법적 동의가 완료된 사용자에 한해 start(config, callback) 를 호출해 인식 서비스를 시작합니다. (참고: 스타터 예시)
start(config, callback)method reference
momentSdk.start( momentSdkConfig, object : MomentSDK.ResultCallback { override fun onSuccess() {}
override fun onFailure(exception: MomentException) {} })서비스 종료하기 (stop)
섹션 제목: “서비스 종료하기 (stop)”사용자가 서비스 이용을 중단하는 경우 stop() 을 호출해 인식 서비스를 종료합니다.
momentSdk.stop()로그아웃 / 탈퇴 처리하기
섹션 제목: “로그아웃 / 탈퇴 처리하기”- 로그아웃 — 인식 서비스를 유지하는 경우 (기본 권장): 아무것도 호출하지 않아도 됩니다.
- 로그아웃 — 인식 서비스를 종료하는 경우:
wipeData()로 로컬 데이터를 삭제한 뒤stop()을 호출합니다. - 탈퇴:
wipeData()+stop()을 호출합니다.
momentSdk.wipeData()momentSdk.stop()