เชื่อมต่อ App Store Connect - แจ้งเตือนการรีวิว iOS
เชื่อม webhook ของ App Store Connect เข้ากับ Echobell เพื่อรับการแจ้งเตือนแบบพุชหรือสายโทรเข้าสำหรับสถานะการรีวิวแอป บิลด์ TestFlight และการอัปเดตการปล่อยเวอร์ชัน
Webhook ของ App Store Connect จะกระจายทุกความเปลี่ยนแปลงที่สำคัญในไปป์ไลน์การปล่อยแอป iOS ของคุณ เมื่อสัญญาณเหล่านั้นไหลเข้าสู่ Echobell ทีมของคุณจะเห็นผลการรีวิว การปล่อยเวอร์ชัน และฟีดแบ็กจาก TestFlight ทันทีที่เกิดขึ้น โดยไม่ต้องคอยรีเฟรชหน้าหรือรื้อค้นในกล่องอีเมล
ทำไมหลายทีมจึงเชื่อมต่อนี้:
- ตอบสนองได้เร็วขึ้นเมื่อผลการรีวิวเปลี่ยนเป็น "Rejected" หรือ "Ready for Sale"
- มีสายการแจ้งเตือนเดียวสำหรับทั้งฟีดแบ็ก TestFlight และการประมวลผลบิลด์
- การแจ้งเตือนที่ชัดเจนและอ่านง่ายบนมือถือ ช่วยให้ PM, QA และฝ่ายการตลาดเห็นตรงกัน
Webhook ของ App Store Connect ใช้ได้กับนักพัฒนาที่มีบทบาท Account Holder, Admin หรือ App Manager แต่ละ webhook ใช้ได้กับแอปเดียวเท่านั้น และคุณสร้าง webhook ได้สูงสุด 10 รายการต่อแอป
สิ่งที่ต้องเตรียม
- ช่อง Echobell ที่เปิดใช้ทริกเกอร์แบบ webhook แล้ว
- สิทธิ์เข้าถึง App Store Connect (Account Holder, Admin หรือ App Manager)
- แอป iOS ที่ใช้งานอยู่อย่างน้อยหนึ่งแอปเพื่อเฝ้าดู
- Webhook URL ของ Echobell (ช่อง → Triggers)
สิ่งที่คุณเฝ้าดูได้
App Store Connect ส่งสัญญาณมายัง Echobell ได้ในกรณีต่อไปนี้:
- วงจรชีวิตของเวอร์ชันบน App Store — ความคืบหน้าการส่งตรวจ การอนุมัติ การถูกปฏิเสธ และการปล่อยเวอร์ชัน
- หมุดหมายของ TestFlight — ผลการประมวลผลบิลด์ ฟีดแบ็กจากผู้ทดสอบ และการเปลี่ยนสถานะคำเชิญ
ภาพรวมการตั้งค่า
- เตรียมช่อง Echobell พร้อมเทมเพลตการแจ้งเตือน
- คัดลอก webhook URL ของช่อง
- ตั้งค่า webhook ใน App Store Connect
- ส่งข้อมูลทดสอบเพื่อตรวจสอบรูปแบบข้อความ
คู่มือทีละขั้นตอน
สร้างช่องใน Echobell
- เปิดแอป Echobell
- สร้างช่องใหม่ (เช่น "App Store Connect")
- เลือกสีที่โดดเด่นเพื่อให้กวาดตาหาได้เร็ว
- เพิ่มเพื่อนร่วมทีมที่ควรได้รับอัปเดตเหล่านี้
ตั้งค่าเทมเพลตการแจ้งเตือน
ตั้งหัวข้อและสรุปที่ชัดเจนให้กับ payload ของแต่ละอีเวนต์ เพื่อให้ทีมลงมือได้อย่างรวดเร็ว
เทมเพลตหัวข้อ:
[{{app.name}}] {{eventType}} - {{status}}
เทมเพลตเนื้อหา:
📱 แอป: {{app.name}}
🔄 อีเวนต์: {{eventType}}
📊 สถานะ: {{status}}
⏰ เวลา: {{eventDate}}
💬 ข้อความ: {{message}}
🔗 ดูใน App Store Connect
หากคุณชอบโทนที่เรียบง่ายกว่านี้ จะตัดอีโมจิออกก็ได้ ตัวแปรของเทมเพลตยังคงเหมือนเดิม
รับ Webhook URL ของ Echobell
- เปิดหน้าตั้งค่าช่องของคุณ → Triggers
- คัดลอก webhook URL ที่ระบบให้มา
- เก็บไว้เป็นความลับ เพราะคุณจะนำไปวางใน App Store Connect
ตั้งค่า Webhook ใน App Store Connect
ทำตาม คู่มืออย่างเป็นทางการของ Apple โดยใช้ URL ของ Echobell ที่คุณคัดลอกไว้ก่อนหน้านี้:
สร้าง Webhook
- ลงชื่อเข้าใช้ App Store Connect
- ไปที่ Users and Access → Integrations
- ในหัวข้อ Additional ให้คลิก Webhooks
- คลิกปุ่มเพิ่ม (+) ที่อยู่ข้าง Webhooks
- ตั้งค่า webhook ของคุณ:
- Name: ชื่อที่สื่อความหมาย (เช่น "Echobell Notifications")
- Payload URL: วาง webhook URL ของ Echobell
- 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
ทดสอบการเชื่อมต่อ
ใช้ปุ่ม Test ที่มีอยู่ใน App Store Connect:
- ในรายการ webhook ให้เปิด webhook ที่คุณเพิ่งเพิ่ม
- คลิก Test แล้ว App Store Connect จะส่ง ping ออกมา
- ยืนยันว่า Echobell แสดงอีเวนต์ "Ping" ตามรูปแบบเทมเพลตของคุณ
การตั้งค่าขั้นสูง
ความปลอดภัยของ Webhook
- HTTPS: URL ของ Echobell มาพร้อม TLS อยู่แล้ว ไม่ต้องตั้งค่าเพิ่ม
- การจัดการ secret: App Store Connect บังคับให้ใส่ secret แต่ Echobell ถือว่าเป็นข้อมูลเมตา เก็บไว้เผื่อคุณต้องการนำไปตรวจสอบลายเซ็นในภายหลัง
- การอนุญาต IP: รัดกุมยิ่งขึ้นด้วยการอนุญาตเฉพาะช่วง IP ขาออกของ Apple
เทมเพลตการแจ้งเตือนแบบกำหนดเอง
ใช้รูปแบบที่ต่างกันระหว่างการเปลี่ยนสถานะการรีวิวกับฟีดแบ็ก เพื่อให้สัญญาณชัดเจนขึ้น
สำหรับการเปลี่ยนสถานะแอป
- หัวข้อ:
[{{app.name}}] App {{eventType}}
- เนื้อหา:
🍎 สถานะแอป "{{app.name}}" ของคุณเปลี่ยนแล้ว!
📊 สถานะ: {{status}}
📅 วันที่: {{eventDate}}
- ลิงก์:
{{app.url}}
สำหรับฟีดแบ็กของ TestFlight
- หัวข้อ:
[{{app.name}}] มีฟีดแบ็ก TestFlight ใหม่
- เนื้อหา:
📱 แอป: {{app.name}}
👤 ผู้ทดสอบ: {{tester.name}}
⭐ คะแนน: {{rating}}/5
💬 ฟีดแบ็ก: {{feedback}}
📱 อุปกรณ์: {{device}}
- ลิงก์:
{{feedbackUrl}}
การจัดการหลายแอป
- สร้างช่องแยกกันตามแอปหรือตามสภาพแวดล้อม ("MyApp - Beta", "MyApp - Prod")
- ตั้งชื่อให้เป็นมาตรฐานเดียวกัน เพื่อให้เพื่อนร่วมทีมรู้ทันทีว่าต้องดูที่ไหน
- เพิ่มกฎอัตโนมัติหรือช่วงเวลาเงียบให้แต่ละช่องเมื่อมีการแจ้งเตือนถี่ขึ้น
- เพิ่มคนเข้าเฉพาะช่องที่ตรงกับบทบาทของเขาเท่านั้น
โครงสร้าง Payload ของ Webhook
App Store Connect ส่ง payload ของ 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 มาถูกต้อง
- ตรวจสอบว่าช่องยังใช้งานอยู่และมีผู้ติดตาม
- ตรวจสอบการตั้งค่า webhook ใน App Store Connect
- ใช้ปุ่ม Test ใน App Store Connect เพื่อตรวจสอบการเชื่อมต่อ
- ดูประวัติการส่ง webhook ใน App Store Connect
ความเป็นส่วนตัวและการจัดการข้อมูล
แนวทางที่ให้ความเป็นส่วนตัวมาก่อนของ Echobell:
- เนื้อหาการแจ้งเตือนถูกเก็บไว้บนเครื่องของคุณ
- เซิร์ฟเวอร์เก็บเฉพาะข้อมูลการตั้งค่าที่จำเป็นเท่านั้น
- ควรถือว่า webhook URL เป็นข้อมูลลับ
- ไม่มีการเก็บข้อมูลการแจ้งเตือนไว้บนเซิร์ฟเวอร์ของ Echobell