App Store Connect 연동 - iOS 심사 알림
App Store Connect Webhook을 Echobell에 연결하고 앱 심사 상태, TestFlight 빌드, 릴리스 업데이트에 대한 푸시 알림이나 전화 알림을 받아 보세요.
App Store Connect Webhook은 iOS 릴리스 파이프라인에서 일어나는 모든 중요한 변화를 전달합니다. 이 신호가 Echobell로 들어오면 팀은 심사 결정, 릴리스, TestFlight 피드백을 발생 즉시 확인할 수 있습니다. 화면을 직접 새로 고치거나 메일함을 뒤질 필요가 없습니다.
팀이 이 연동을 구성하는 이유:
- 심사 상태가 "Rejected"나 "Ready for Sale"로 바뀔 때 더 빠르게 대응할 수 있습니다
- TestFlight 피드백과 빌드 처리 상황을 하나의 알림 흐름으로 확인할 수 있습니다
- PM, QA, 마케팅 담당자가 같은 정보를 공유하도록 돕는 명확한 모바일 알림
App Store Connect Webhook은 Account Holder, Admin 또는 App Manager 역할을 가진 개발자만 사용할 수 있습니다. Webhook 하나는 앱 하나에만 적용되며, 앱당 최대 10개의 Webhook을 만들 수 있습니다.
사전 준비 사항
- Webhook 트리거가 활성화된 Echobell 채널
- App Store Connect 접근 권한(Account Holder, Admin 또는 App Manager)
- 모니터링할 활성 iOS 앱 최소 하나
- Echobell Webhook URL(채널 → Triggers)
모니터링할 수 있는 항목
App Store Connect는 다음과 같은 상황을 Echobell로 알려 줍니다:
- App Store 버전 라이프사이클 — 제출 진행 상황, 승인, 거절, 릴리스
- TestFlight 주요 이벤트 — 빌드 처리 결과, 테스터 피드백, 초대 상태 변경
설정 개요
- Echobell 채널과 알림 템플릿을 준비합니다
- 채널의 Webhook URL을 복사합니다
- App Store Connect에서 Webhook을 설정합니다
- 테스트 전송을 보내 표시 형식을 확인합니다
단계별 가이드
Echobell 채널 만들기
- Echobell 앱을 엽니다
- 새 채널을 만듭니다(예: "App Store Connect")
- 한눈에 알아볼 수 있도록 눈에 띄는 색상을 선택합니다
- 이 업데이트를 받아야 할 팀원을 추가합니다
알림 템플릿 설정하기
팀이 빠르게 대응할 수 있도록 각 이벤트 페이로드에 명확한 제목과 요약을 지정합니다.
제목 템플릿:
[{{app.name}}] {{eventType}} - {{status}}
본문 템플릿:
📱 App: {{app.name}}
🔄 Event: {{eventType}}
📊 Status: {{status}}
⏰ Time: {{eventDate}}
💬 Message: {{message}}
🔗 View in App Store Connect
더 담백한 표현을 원한다면 이모지는 빼도 됩니다. 템플릿 변수는 그대로 유지됩니다.
Echobell Webhook URL 가져오기
- 채널 설정 → Triggers를 엽니다
- 제공된 Webhook URL을 복사합니다
- 이 URL은 외부에 공개하지 마세요. App Store Connect에 붙여 넣을 값입니다
App Store Connect Webhook 설정하기
앞서 복사한 Echobell URL을 사용해 Apple 공식 가이드를 따릅니다:
Webhook 만들기
- App Store Connect에 로그인합니다
- Users and Access → Integrations로 이동합니다
- Additional 아래에서 Webhooks를 클릭합니다
- Webhooks 옆의 추가 버튼(+)을 클릭합니다
- Webhook을 설정합니다:
- Name: 알아보기 쉬운 이름(예: "Echobell Notifications")
- Payload URL: 복사한 Echobell Webhook URL을 붙여 넣습니다
- Secret: 검증에 사용할 안전한 문자열을 만듭니다
- App: 모니터링할 앱을 선택합니다
- Event Triggers: 받고 싶은 이벤트를 선택합니다
사용할 수 있는 이벤트 트리거
필요한 이벤트만 골라 조합하세요:
App Store 버전 이벤트
- App Store Version State Changed — 심사 상태가 바뀌는 모든 순간
- App Store Version Released — 스토어에 최종 공개되는 시점
TestFlight 이벤트
- TestFlight Beta Feedback — 새 의견, 평점, 기기 정보
- TestFlight Beta Review State Changed — 빌드 승인 및 거절
- Add를 클릭해 Webhook을 만듭니다
연동 테스트하기
App Store Connect에 내장된 Test 버튼을 사용합니다:
- Webhook 목록에서 방금 추가한 Webhook을 엽니다
- Test를 클릭하면 App Store Connect가 핑을 보냅니다
- Echobell에 "Ping" 이벤트가 템플릿 형식대로 표시되는지 확인합니다
고급 설정
Webhook 보안
- HTTPS: Echobell URL은 TLS를 기본으로 사용하므로 추가 설정이 필요 없습니다.
- 시크릿 관리: App Store Connect는 시크릿을 필수로 요구하지만 Echobell은 이를 메타데이터로만 취급합니다. 나중에 직접 서명을 검증하고 싶을 수 있으니 잘 보관해 두세요.
- IP 허용 목록: Apple의 아웃바운드 IP 대역만 허용하도록 방화벽을 좁혀 두세요.
사용자 지정 알림 템플릿
심사 상태 변경과 피드백에 서로 다른 형식을 사용하면 신호를 한눈에 구분할 수 있습니다.
앱 상태 변경용
- 제목:
[{{app.name}}] App {{eventType}}
- 본문:
🍎 Your app "{{app.name}}" status has changed!
📊 Status: {{status}}
📅 Date: {{eventDate}}
- 링크:
{{app.url}}
TestFlight 피드백용
- 제목:
[{{app.name}}] New TestFlight Feedback
- 본문:
📱 App: {{app.name}}
👤 Tester: {{tester.name}}
⭐ Rating: {{rating}}/5
💬 Feedback: {{feedback}}
📱 Device: {{device}}
- 링크:
{{feedbackUrl}}
여러 앱 관리하기
- 앱이나 환경별로 채널을 나누어 만드세요("MyApp - Beta", "MyApp - Prod")
- 이름 규칙을 통일해 팀원이 어디를 봐야 할지 바로 알 수 있게 하세요
- 트래픽이 몰릴 때는 채널별로 자동화 규칙이나 무음 시간을 적용하세요
- 각자의 역할에 맞는 채널에만 팀원을 추가하세요
Webhook 페이로드 구조
App Store Connect는 Webhook 페이로드를 JSON 형식으로 보냅니다. 일반적인 구조는 다음과 같습니다:
{
"eventType": "APP_STORE_VERSION_STATE_CHANGED",
"apiVersion": "v1",
"eventId": "12345678-1234-1234-1234-123456789012",
"eventDate": "2025-01-15T10:30:00Z",
"data": {
"app": {
"id": "1234567890",
"name": "My App"
},
"appStoreVersion": {
"id": "12345678",
"versionString": "1.2.3",
"state": "READY_FOR_SALE"
}
}
}
모범 사례
- 채널 구성: 앱이나 환경별로 별도의 채널을 만드세요
- 팀 관리: 각 채널에는 관련 있는 팀원만 추가하세요
- 템플릿 사용자 지정: 업무 흐름에 가장 중요한 정보가 보이도록 템플릿을 조정하세요
- 알림 유형: 치명적인 앱 거절에는 긴급을, 일상적인 업데이트에는 일반을 사용하세요
문제 해결
알림이 오지 않는다면 다음을 확인하세요:
- Webhook URL을 정확히 복사했는지 확인합니다
- 채널이 활성 상태이고 구독자가 있는지 확인합니다
- App Store Connect의 Webhook 설정을 확인합니다
- App Store Connect의 Test 버튼으로 연결 상태를 확인합니다
- App Store Connect에서 Webhook 전송 기록을 확인합니다
개인정보 보호 및 데이터 처리
Echobell은 개인정보 보호를 우선합니다:
- 알림 내용은 사용자 기기에 로컬로 저장됩니다
- 서버에는 필수 설정 데이터만 저장됩니다
- Webhook URL은 비밀 정보로 취급해야 합니다
- Echobell 서버에는 알림 데이터가 남지 않습니다