รหัสข้อผิดพลาดของ SDK MA สำหรับ iOS
นิยามรหัสข้อผิดพลาดของไคลเอนต์
เอกสารนี้ใช้กับ SDK MTMA แบบอิสระ v5.5.0 ขึ้นไป
| Code | คำอธิบาย | รายละเอียด |
|---|---|---|
| 0 | คำขอสำเร็จ | คำขออินเทอร์เฟซสำเร็จ |
| -1 | คำขอล้มเหลว | เครือข่ายผิดปกติ รูปแบบการตอบกลับไม่ถูกต้อง ฟังก์ชัน MA ปิดอยู่ในการกำหนดค่าการเริ่มต้นใช้งาน หรือข้อผิดพลาดอื่นที่ไม่ทราบสาเหตุ |
| -2 | คำขอล้มเหลว | ยังไม่ได้เรียก start: หรือ MTMA ยังเริ่มต้นใช้งานไม่สำเร็จ หรือ MA AppKey โปรเจกต์ หรือข้อมูลระบุตัวตนเปลี่ยนก่อนคำขอในคิวเริ่มทำงาน |
| -3 | การตั้งค่าไม่ถูกต้อง | การตรวจสอบพารามิเตอร์ล้มเหลว เช่น MA AppKey ไม่ใช่ตัวอักษรหรือตัวเลข 24 ตัว หรือ identifyAccount: ไม่มีตัวระบุที่ใช้ได้หลังปรับข้อมูล |
| -4 | โปรเจกต์ปิด | อินเทอร์เฟซระหว่างการทำงานพบว่า MA ปิดอยู่ หรือเซิร์ฟเวอร์คืนข้อผิดพลาดโปรเจกต์ปิด หาก MA ปิดในการกำหนดค่าการเริ่มต้นใช้งาน ให้ดู -1 |
| -5 | สงวนไว้สำหรับเวอร์ชันเก่า | เวอร์ชันเก่าใช้ระบุว่า AppPush ยังลงทะเบียนไม่สำเร็จ MTMA แบบอิสระไม่ใช้รหัสนี้แล้ว |
| -6 | เปลี่ยนโปรเจกต์ | มีการเปลี่ยนโปรเจกต์ ต้องเรียก start: อีกครั้งเพื่อเริ่มต้นใช้งาน |
| -7 | คำขอกำลังทำงาน | อินเทอร์เฟซที่ไม่รองรับคิวมีคำขอกำลังทำงานอยู่ การเรียก start: ที่ถูกต้องจะไม่คืนรหัสนี้เพียงเพราะมีคำขอเริ่มต้นใช้งานอื่นอยู่ ส่วนคำขอช่องทาง Push ของบุคคลที่สามจะเข้าคิวตามลำดับ |
รหัสธุรกิจของเซิร์ฟเวอร์
ตารางข้างต้นเป็นรหัสข้อผิดพลาดที่ SDK สร้างเอง หากการทำงานทางธุรกิจบนเซิร์ฟเวอร์ล้มเหลว SDK จะคืนรหัสธุรกิจและข้อความที่เกี่ยวข้อง ดังนั้น callback อาจมี code เป็นค่าบวก รหัสเฉพาะเหล่านี้ใช้วิเคราะห์ปัญหาเท่านั้นและไม่รับประกันว่าจะคงเดิมระหว่างเวอร์ชัน อย่าเขียนเงื่อนไขการทำงานทางธุรกิจโดยอ้างอิงรหัสเหล่านี้
ตรวจสอบผลการเริ่มต้นใช้งานผ่าน MTMAInitResult.isSuccess สำหรับอินเทอร์เฟซอื่น code=0 หมายถึงคำขอสำเร็จ เมื่อเกิดความล้มเหลวที่ไม่คาดคิด ให้ส่ง code และ message ต้นฉบับแก่ฝ่ายสนับสนุนทางเทคนิค
code=0ของidentifyAccount:ไม่ได้หมายความว่าตั้งค่าตัวระบุทั้งหมดสำเร็จ ดู ตั้งค่าตัวระบุผู้ใช้- หากคุณสมบัติ object_array ยังไม่ได้กำหนดบนเซิร์ฟเวอร์ การทำงานระดับสมาชิกอาจคืน
code=0โดยไม่แก้ไขข้อมูล ดูกรณีอื่นที่ไม่เปลี่ยนข้อมูลใน ตั้งค่าคุณสมบัติผู้ใช้ และตรวจสอบผลจริงผ่านคอนโซล MA หรือคุณสมบัติผู้ใช้บนเซิร์ฟเวอร์
| สถานการณ์ | code ใน callback | message ใน callback |
|---|---|---|
เซิร์ฟเวอร์คืนความล้มเหลวทางธุรกิจ (HTTP 4xx/5xx เนื้อหาตอบกลับเป็น JSON ที่ถูกต้องและมี code เป็นตัวเลข) |
ค่า code ต้นฉบับของเซิร์ฟเวอร์ |
ข้อความ msg/message ต้นฉบับของเซิร์ฟเวอร์ |
| เครือข่ายผิดปกติ หรือไม่สามารถอ่านรหัสธุรกิจจากเนื้อหาตอบกลับได้ | -1 |
ข้อความคงที่ของ SDK |
โปรเจกต์ปิด / เปลี่ยนโปรเจกต์ (HTTP 400 + 40001/40002) |
-4 / -6 |
ดูตารางข้างต้น |
ภาคผนวก: รหัสธุรกิจของเซิร์ฟเวอร์ที่พบบ่อย
ค่าต่อไปนี้ใช้เป็นข้อมูลอ้างอิงเพื่อวิเคราะห์ปัญหาเท่านั้น ไม่รับประกันว่าจะคงเดิมเมื่อเปลี่ยนเวอร์ชัน SDK หรือเซิร์ฟเวอร์:
| Code | ความหมาย |
|---|---|
| 55004 | พารามิเตอร์ธุรกิจไม่ถูกต้อง เช่น Bundle Identifier ของแอปไม่ตรงกับแหล่งข้อมูล MA หรือยังไม่ได้ผูก, AppKey ของช่องทางยังไม่ได้แมปในโปรเจกต์ปัจจุบัน หรือไม่มี channelId ในโปรเจกต์ปัจจุบัน ให้ดู message เพื่อหาสาเหตุที่เจาะจง |
| 55108 | EUID ไม่ถูกต้อง เช่น EUID และ MA RID ไม่ได้เป็นของผู้ใช้ MA คนเดียวกัน |
| 55110 | ส่งคำขอบ่อยเกินไป เช่น AppPush RID เดียวกันกำลังถูกผูกพร้อมกัน สามารถลองใหม่ภายหลัง |
| 55000 | ข้อผิดพลาดของระบบเซิร์ฟเวอร์ |
ผลลัพธ์รายตัวระบุผู้ใช้
ผลลัพธ์ต่อไปนี้รวมทั้งการตรวจสอบภายใน SDK และผลจากเซิร์ฟเวอร์ ดูกฎการประมวลผลฟิลด์ใน คลาส MTMAUserID:
| Code | ความหมาย |
|---|---|
| 0 | ประมวลผลตัวระบุผู้ใช้นี้สำเร็จ |
| 3001 | ค่าตัวระบุผู้ใช้ต้องไม่ว่าง (รหัสอ้างอิงของเซิร์ฟเวอร์ ใน SDK เวอร์ชันนี้ ค่าว่างของฟิลด์ตัวระบุสาธารณะทั้งสี่ถือว่าไม่ได้ส่ง จึงไม่สร้าง 3001 รายฟิลด์) |
| 3002 | ยังไม่ได้กำหนดตัวระบุผู้ใช้ในโปรเจกต์ปัจจุบัน |
| 3003 | ค่าตัวระบุผู้ใช้ยาวเกินขีดจำกัด |
| 3013 | ชนิดหรือรูปแบบค่าตัวระบุผู้ใช้ไม่ถูกต้อง รวมถึงชนิดที่ไม่ใช่ NSString |










