콘텐츠로 이동
모수 타겟팅 (Sigma)

연동 테스트하기

  1. 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}")
    }
    })
  2. 동의값 전달 확인

    setMarketingPushEnabled / setNightMarketingPushEnabled 는 콜백 없는 fire-and-forget 메서드입니다. 호출 자체가 이루어지는지만 확인하면 되며, 업로드에 실패한 경우 다음 호출 때 자동으로 재시도됩니다.

    테스트는 광고성 알림 수신에 동의한 상태(setMarketingPushEnabled(true))로 진행해 주세요. 동의값이 false면 광고성 알림이 표시되지 않습니다.

  3. 앱 이탈 테스트 알림 확인 (푸시 연동 시)

    연동 확인용 테스트 알림(앱 이탈 시 발송)은 Fairy가 개발계 프로젝트에 설정해 드립니다. 테스트를 시작하기 전에 담당 채널로 설정을 요청해 주세요.

    1. 1~2단계 확인이 완료된 상태에서 앱을 실행합니다.
    2. 홈 버튼을 눌러 앱을 이탈합니다.
    3. 잠시 후 테스트 알림이 수신되면 단말~서버 연동이 정상적으로 완료된 것입니다.
  4. 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}\" }"
  5. 데이터 적재 확인

    단말에서 수집된 데이터가 서버에 정상 적재되었는지는 Fairy가 확인해 드립니다. 연동 개발 시작 날짜를 담당 채널로 알려주시면, 다음 날 데이터 적재 여부를 확인하고 연동 완료 여부를 회신드립니다.

테스트 알림이 오지 않아요

아래 항목을 순서대로 확인해 주세요. 확인 후에도 해결되지 않으면 담당 채널로 문의 부탁드립니다.

확인 항목 내용
알림 권한 Android 13+ 에서 POST_NOTIFICATIONS 런타임 권한이 허용되어 있는지 확인 (기기 설정 > 앱 > 알림)
동의값 setMarketingPushEnabled(true) 가 호출된 상태인지 확인. 야간 시간대(21시~08시) 테스트라면 setNightMarketingPushEnabled(true) 도 필요
사용자 등록 registerUserToPush 가 성공했는지 확인. 발송 대상 userId와 기기가 연결되어 있어야 합니다
서비스 계정 JSON Firebase 서비스 계정 JSON(개발용)이 Fairy에 전달·반영되었는지 확인
메시지 처리 onMessageReceived 에서 isFairyMessagehandleMessage 위임이 연결되어 있는지, Manifest에 서비스가 등록되어 있는지 확인
환경(프로젝트) 구분 개발계 테스트 알림은 개발계 프로젝트에서만 발송됩니다. 앱이 개발계 설정으로 빌드되었는지 확인
registerUserToPush 콜백이 호출되지 않아요

직전에 등록한 userId와 같으면 SDK가 내부적으로 생략(no-op)하며, 이 경우 콜백이 호출되지 않을 수 있습니다. 앱 데이터 삭제 후 첫 로그인 등 최초 등록 시점에 확인해 주세요. 콜백에 후속 로직을 연결하지 마세요.