연동 테스트하기
체크리스트
섹션 제목: “체크리스트”SDK 초기화 확인
init호출 후onSuccess콜백이 호출되는지 확인합니다. 콜백에 임시 로그를 추가하면 쉽게 확인할 수 있습니다.moment.init(config, object : MomentSDK.RestartResultCallback {override fun onSuccess(resultCode: MomentSDK.RestartResultCode) {Log.d("MomentCheck", "init success: $resultCode")}override fun onFailure(exception: MomentException) {Log.w("MomentCheck", "init failed: ${exception.errorCode}")}})동의값 전달 확인
setMarketingPushEnabled/setNightMarketingPushEnabled는 콜백 없는 fire-and-forget 메서드입니다. 호출 자체가 이루어지는지만 확인하면 되며, 업로드에 실패한 경우 다음 호출 때 자동으로 재시도됩니다.테스트는 광고성 알림 수신에 동의한 상태(
setMarketingPushEnabled(true))로 진행해 주세요. 동의값이 false면 광고성 알림이 표시되지 않습니다.앱 이탈 테스트 알림 확인 (푸시 연동 시)
연동 확인용 테스트 알림(앱 이탈 시 발송)은 Fairy가 개발계 프로젝트에 설정해 드립니다. 테스트를 시작하기 전에 담당 채널로 설정을 요청해 주세요.
- 1~2단계 확인이 완료된 상태에서 앱을 실행합니다.
- 홈 버튼을 눌러 앱을 이탈합니다.
- 잠시 후 테스트 알림이 수신되면 단말~서버 연동이 정상적으로 완료된 것입니다.
FCM 직접 발송으로 확인 (선택)
FCM 연동까지 완료한 경우에는 Moment Public API로 테스트 메시지를 직접 발송해 확인할 수도 있습니다.
x-moment-api-key에는 SDK API Key와 별도로 Fairy에서 제공한 Server API Key를 사용합니다. 없는 경우 담당 채널로 요청해 주세요.발송 대상은
userId또는 user attribute 중 한 가지 방식으로만 지정합니다.userId로 지정 —
setUserId로 사용자 식별자를 등록하는 연동인 경우:Terminal window PROJECT_ID="{PROJECT_ID}"SERVER_API_KEY="{SERVER_API_KEY}"USER_ID="{USER_ID}"curl -X POST \"https://api.public.moment.fairytech.ai/project/${PROJECT_ID}/device-message/send" \-H "x-moment-api-key: ${SERVER_API_KEY}" \-H "Content-Type: application/json" \-d "{ \"userId\": \"${USER_ID}\" }"userId에는setUserId로 등록한 값을 그대로 넣어 주세요. 해당 사용자의 기기로 알림이 발송됩니다.user attribute로 지정 —
setUserId를 사용하지 않는 연동인 경우,setUserAttributes로 업로드한 attribute의 key와 value로 대상을 지정합니다:Terminal window PROJECT_ID="{PROJECT_ID}"SERVER_API_KEY="{SERVER_API_KEY}"ATTRIBUTE_KEY="{ATTRIBUTE_KEY}"ATTRIBUTE_VALUE="{ATTRIBUTE_VALUE}"curl -X POST \"https://api.public.moment.fairytech.ai/project/${PROJECT_ID}/device-message/send" \-H "x-moment-api-key: ${SERVER_API_KEY}" \-H "Content-Type: application/json" \-d "{ \"attributeKey\": \"${ATTRIBUTE_KEY}\", \"attributeValue\": \"${ATTRIBUTE_VALUE}\" }"데이터 적재 확인
단말에서 수집된 데이터가 서버에 정상 적재되었는지는 Fairy가 확인해 드립니다. 연동 개발 시작 날짜를 담당 채널로 알려주시면, 다음 날 데이터 적재 여부를 확인하고 연동 완료 여부를 회신드립니다.
자주 묻는 이슈
섹션 제목: “자주 묻는 이슈”테스트 알림이 오지 않아요
아래 항목을 순서대로 확인해 주세요. 확인 후에도 해결되지 않으면 담당 채널로 문의 부탁드립니다.
| 확인 항목 | 내용 |
|---|---|
| 알림 권한 | Android 13+ 에서 POST_NOTIFICATIONS 런타임 권한이 허용되어 있는지 확인 (기기 설정 > 앱 > 알림) |
| 동의값 | setMarketingPushEnabled(true) 가 호출된 상태인지 확인. 야간 시간대(21시~08시) 테스트라면 setNightMarketingPushEnabled(true) 도 필요 |
| 사용자 등록 | registerUserToPush 가 성공했는지 확인. 발송 대상 userId와 기기가 연결되어 있어야 합니다 |
| 서비스 계정 JSON | Firebase 서비스 계정 JSON(개발용)이 Fairy에 전달·반영되었는지 확인 |
| 메시지 처리 | onMessageReceived 에서 isFairyMessage → handleMessage 위임이 연결되어 있는지, Manifest에 서비스가 등록되어 있는지 확인 |
| 환경(프로젝트) 구분 | 개발계 테스트 알림은 개발계 프로젝트에서만 발송됩니다. 앱이 개발계 설정으로 빌드되었는지 확인 |
registerUserToPush 콜백이 호출되지 않아요
직전에 등록한 userId와 같으면 SDK가 내부적으로 생략(no-op)하며, 이 경우 콜백이 호출되지 않을 수 있습니다. 앱 데이터 삭제 후 첫 로그인 등 최초 등록 시점에 확인해 주세요. 콜백에 후속 로직을 연결하지 마세요.