ข้ามไปที่เนื้อหา

การลงทะเบียนแคมเปญ

ข้อกำหนดเบื้องต้น

ในการซิงค์กับ API สำหรับการลงทะเบียนแคมเปญ ให้แน่ใจว่าได้ออกโทเค็นการอนุญาต (API KEY) หากคุณมีคีย์แล้ว ให้ขอสิทธิ์เพิ่มเติม ดูที่ Hive Server API > Notification > Push v4 > Authentication เพื่อตรวจสอบวิธีการขอและออกโทเค็นการอนุญาต

API สำหรับลงทะเบียนแคมเปญ

ข้อมูลพื้นฐานและตัวแปรคำขอ

วิธีการ POST
URL /push/campaigns
แผนก ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
Header Content-Type application/json;charset=utf-8
Authorization bearer {{API KEY}}
Body id ฟิลด์สำคัญสำหรับการแก้ไขแคมเปญ Integer
status ฟิลด์สำคัญสำหรับการแก้ไขแคมเปญ Integer
company บริษัท
  • gamevil: Com2uS Holdings
  • com2us: Com2uS
  • gcp: Com2uS Platform
String O
companyIndex รหัสบริษัท (หมายเลขบริษัทที่ลงทะเบียนใน AppCenter) Integer O
Description คำอธิบายของแคมเปญ String O
notice ประเภทการแจ้งเตือน (ค่าเริ่มต้น: true).
true: ส่งเป็นการแจ้งเตือนประกาศ.
จะไม่ส่งไปยังผู้ใช้ที่ไม่ได้ตกลงรับการแจ้งเตือน หากเวลาส่งในเวลากลางคืน (21:00~08:00) จะต้องมีการยินยอมเพิ่มเติมสำหรับการแจ้งเตือนในเวลากลางคืน ดู กระบวนการแจ้งเตือนประกาศ.
false: ส่งเป็นการแจ้งเตือนเกม (การแจ้งเตือนการดำเนินงานที่จำเป็น). ส่งไม่คำนึงถึงความยินยอมของผู้ใช้.
※ หากการแจ้งเตือนถูกบล็อกที่ระดับอุปกรณ์/OS การแจ้งเตือนอาจไม่ถูกส่งไม่ว่าจะเป็นค่าของฟิลด์นี้.
Boolean X
Type ประเภทการส่ง
  • B: การส่งแบบกลุ่ม
  • T: การส่งเป้าหมาย
String O
targetingId ID เป้าหมาย ฟิลด์สำคัญในกรณีของแคมเปญเป้าหมาย Integer
registrant name ชื่อผู้ลงทะเบียน String X
id รหัสผู้ลงทะเบียน String O
reservation localizing ธงนี้กำหนดว่าจะแจ้งเตือนตามเขตเวลาของผู้ใช้เมื่อส่งการแจ้งเตือนหรือไม่
  • true: การแจ้งเตือนจะถูกส่งตามเขตเวลาท้องถิ่นของผู้ใช้
  • false: เขตเวลาสำหรับการส่งการแจ้งเตือนจะถูกกำหนดตามค่า gmtOffset
Boolean O
startDate startDate แสดงถึงวันที่เริ่มต้นการส่งการแจ้งเตือนที่กำหนดเวลา และ endDate แสดงถึงวันที่สิ้นสุดการส่งการแจ้งเตือน
ในช่วงระหว่างวันที่ทั้งสองนี้ การแจ้งเตือนจะถูกส่งตามเวลาที่กำหนด (time field)
(รูปแบบ ISO 8601, YYYY-MM-DD)
String O
endDate String O
time เวลาสำหรับการส่งการแจ้งเตือน (HH:mm) String O
gmtOffset ฟิลด์นี้ใช้เพื่อระบุเขตเวลาสำหรับการส่งการแจ้งเตือนเมื่อ localizing ถูกตั้งค่าเป็น false โดยระบุความแตกต่าง (เป็นวินาที) จาก UTC และสามารถมีค่าอยู่ระหว่าง -43200 ถึง 50400 ค่าเริ่มต้นคือ 32400 ซึ่งเป็นการชดเชยสำหรับเวลาเกาหลี (KST)
-18000 แสดงถึง UTC-5 (EST)
32400 แสดงถึง UTC+9 (KST)
ตัวอย่าง:
หาก startDate เป็น 2025-11-06, time เป็น 17:00, และ gmtOffset เป็น -18000 จะเริ่มส่งที่ 2025-11-06T17:00-5:00.
Long X
repeat ธงนี้บ่งชี้ว่าจะแจ้งเตือนซ้ำในช่วงเวลาที่กำหนดหรือไม่ Boolean O
weekday นี่คือวันที่ในสัปดาห์ที่การแจ้งเตือนจะถูกส่งซ้ำ
  • 1: วันจันทร์
  • 2: วันอังคาร
  • 3: วันพุธ
  • 4: วันพฤหัสบดี
  • 5: วันศุกร์
  • 6: วันเสาร์
  • 7: วันอาทิตย์
Integer[] X
skip วันที่จะข้ามการส่งการแจ้งเตือนในช่วงเวลาที่ส่งอย่างต่อเนื่อง String[] X
distribution enable ส่งการแจ้งเตือนแบบกระจายหรือไม่ Boolean X
interval ช่วงเวลาของการส่งการแจ้งเตือนแบบกระจาย Integer X
count จำนวนการส่งการแจ้งเตือนแบบกระจาย Integer X
continents รายการข้อมูลตามทวีปที่เลือก (ดูที่ รหัสประเทศ) ตรวจสอบโครงสร้าง CampaignContinent และ ตัวอย่าง ด้านล่างนี้ CampaignContinent[] O
ประเทศ ข้อมูลของประเทศที่เลือก (ดูที่ รหัสประเทศ) String[] O
เกม gameindex ดัชนีเกม Integer O
serverIds รายการรหัสเซิร์ฟเวอร์ String[] X
apps[] appindex ดัชนีแอป Integer O
appid AppId String O
defaultLanguage ภาษาการตั้งค่าเริ่มต้น (ดูที่ รหัสภาษา) String O
notification {{LANGUAGE}} ข้อมูลข้อความ ตรวจสอบโครงสร้าง ข้อความ และ ตัวอย่าง ด้านล่างนี้ ข้อความ X
ตัวเลือก badge ป้ายสำหรับการแจ้งเตือนแบบพุช Integer X
overwrite ว่าจะเขียนทับการแจ้งเตือนหรือไม่ Boolean X
collapseKey ค่าคีย์สำหรับการเขียนทับการแจ้งเตือน String X
engagement การมีส่วนร่วมของผู้ใช้ String X
comment ความคิดเห็น String X
groupKey ค่าคีย์กลุ่มเพื่อแสดงการแจ้งเตือนในกลุ่มเมื่อผู้ใช้ได้รับการแจ้งเตือนในสภาพแวดล้อม iOS หรือ Android OS การตั้งค่าการแจ้งเตือนที่เลือกในระบบปฏิบัติการอุปกรณ์จะถูกนำไปใช้โดยค่าเริ่มต้น สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับตัวเลือกนี้ โปรดดูเอกสารต่อไปนี้ String X
android icon นี่คือชื่อไฟล์รูปภาพไอคอนที่แสดงเมื่อมีการแจ้งเตือนแบบพุชปรากฏบนอุปกรณ์ของผู้ใช้ ไฟล์รูปภาพควรอยู่ใน /src/main/res/drawable ดู ที่นี่ สำหรับรูปแบบไฟล์รูปภาพที่รองรับ หากคุณต้องการแสดงรูปภาพบนเว็บแทนที่จะเป็นชื่อไฟล์รูปภาพ ให้พิมพ์ URL รูปภาพในฟิลด์นี้แทนชื่อไฟล์รูปภาพ หากฟิลด์นี้ว่างเปล่า ไอคอนแอปจะถูกแสดง String X
เสียง นี่คือชื่อไฟล์เสียงการแจ้งเตือนที่จะเล่นเมื่อมีการแจ้งเตือนแบบพุชปรากฏบนอุปกรณ์ของผู้ใช้ คุณสามารถระบุไฟล์เสียงที่รวมอยู่ในแอปพลิเคชัน และไฟล์เสียงควรอยู่ใน /src/main/res/raw หากช่องนี้ว่างเปล่า ไฟล์เสียงเริ่มต้นของระบบจะถูกใช้ String X
ความสำคัญ ความสำคัญของข้อความที่จะส่งไปยังอุปกรณ์ Android ความสำคัญนี้เป็นแนวคิดของ FCM ที่ควบคุมว่าเมื่อใดจะส่งข้อความ มันสามารถมีค่าเป็น NORMAL หรือ HIGH; ค่าเริ่มต้นคือ NORMAL สำหรับข้อมูลเพิ่มเติม โปรดดูที่ คู่มือ Firebase.
  • NORMAL = ความสำคัญเริ่มต้นสำหรับข้อความข้อมูล ข้อความที่มีความสำคัญปกติจะถูกส่งทันทีเมื่ออุปกรณ์ไม่ได้อยู่ในโหมดหลับ เมื่ออุปกรณ์ของคุณอยู่ในโหมดหลับ การส่งอาจถูกเลื่อนออกไปเพื่อประหยัดแบตเตอรี่จนกว่าอุปกรณ์จะออกจากโหมดหลับ สำหรับข้อความที่ไม่เร่งด่วนมาก เช่น การแจ้งเตือนอีเมลใหม่ การรักษา UI ให้ซิงค์ หรือการซิงค์ข้อมูลแอปพื้นหลัง ให้เลือกความสำคัญในการส่งแบบปกติ
  • HIGH = FCM จะพยายามส่งข้อความที่มีความสำคัญสูงทันที และหากจำเป็น FCM อาจปลุกอุปกรณ์และทำการประมวลผลที่จำกัด รวมถึงการเข้าถึงเครือข่ายที่จำกัด ข้อความที่มีความสำคัญสูงมักเกี่ยวข้องกับการที่ผู้ใช้มีปฏิสัมพันธ์กับแอปหรือการแจ้งเตือน
enum(NORMAL, HIGH) X
ios เสียง นี่คือชื่อไฟล์เสียงการแจ้งเตือนที่จะเล่นเมื่อมีการแจ้งเตือนแบบพุชปรากฏบนอุปกรณ์ของผู้ใช้ ไฟล์เสียงต้องมีอยู่ใน Library/Sounds ของคอนเทนเนอร์แอปหรือในบันเดิลหลักของแอป หากช่องนี้ว่างเปล่า จะถูกตั้งค่าเป็น "default" โดยอัตโนมัติและจะใช้ เสียงเริ่มต้นของระบบ ของอุปกรณ์ Apple ของผู้ใช้ td> String X

กระบวนการแจ้งเตือนประกาศ

การแจ้งเตือนประกาศจะถูกส่งเฉพาะเมื่อผู้ใช้แอปเกมได้ตกลงที่จะรับมัน หากเวลาส่งอยู่ระหว่าง 21:00 และ 08:00 ของวันถัดไป จะต้องมีการขอความยินยอมเพิ่มเติมสำหรับการแจ้งเตือนในเวลากลางคืน。

รายละเอียดของกระบวนการแจ้งเตือนประกาศมีดังนี้:

  • หากผู้ใช้ไม่เห็นด้วยที่จะรับการแจ้งเตือนประกาศ ข้อความทั้งหมดที่ตั้งเป็นประกาศจะไม่ถูกส่ง
  • ผู้ใช้ที่เห็นด้วยที่จะรับการแจ้งเตือนประกาศเท่านั้นที่สามารถเห็นด้วยเพิ่มเติมเพื่อรับการแจ้งเตือนในเวลากลางคืนได้
Warning

กฎระเบียบสำหรับการประกาศโฆษณาสำหรับผู้ใช้ชาวเกาหลี

หากคุณส่งการแจ้งเตือนประกาศไปยังผู้ใช้ชาวเกาหลี พวกเขาจะถือว่าเป็นการแจ้งเตือนโฆษณาและต้องปฏิบัติตามมาตรา 50 ของพระราชบัญญัติเกี่ยวกับการส่งเสริมการใช้เครือข่ายข้อมูลและการสื่อสารและการคุ้มครองข้อมูล การแจ้งเตือนโฆษณาจะต้องรวมข้อความที่ระบุว่าเป็นโฆษณาและคำแนะนำในการยกเลิกการสมัครสมาชิก

* ตัวอย่างของข้อความการแจ้งเตือนโฆษณา: (โฆษณา) {message_body} (ยกเลิกการสมัคร: เปลี่ยนในการตั้งค่า)
Note

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ option โปรดดูแนวทางของตลาดที่เกี่ยวข้อง

โครงสร้าง CampaignContinent

แผนก ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
CampaignContinent ทวีป ประเภทของทวีป สตริง O
countries รหัสของประเทศในทวีป String[] O

ตัวอย่างCampaignContinent

[
    {
      "name": "Africa",
      "countries": [
        "Algeria",
        "Angola",
        "Benin",
        "Sudan",
        "Swaziland",
        "Tanzania",
        "Togo",
        "Tunisia",
        "Zambia",
        "Zimbabwe"
      ]
    }
]

โครงสร้างข้อความ

แผนก ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
ข้อความ แอนดรอยด์ ชื่อเรื่อง ชื่อเรื่อง สตริง O
ข้อความ ข้อความ สตริง O
ข้อความที่ขยาย ข้อความที่ขยาย สตริง X
ลิงก์ภาพ ลิงก์ภาพ สตริง X
ticker Ticker สตริง X
ข้อความสรุป ข้อความสรุป สตริง X
iOS ชื่อเรื่อง ชื่อเรื่อง สตริง O
ข้อความ ข้อความ สตริง O
ลิงก์สื่อ ลิงก์ภาพ สตริง X

ตัวอย่างข้อความ

{
"ko": {
      "android": {
        "messageExpanded": "(Ad) TEST(Block: Available in settings)",
        "ticker": "gg",
        "title": "(Ad)test",
        "message": "(Ad) test (Restriction: Available in settings)",
        "summaryText": "",
        "imageUrl": ""
      },
      "ios": {
        "mediaUrl": "",
        "title": "Push",
        "message": "(Ad) TEST (Block: Available in settings)"
      },
    }
}

ผลลัพธ์

หัวข้อ ประเภทเนื้อหา application/json;charset=utf-8
UUID {{UUID}}
เนื้อหา เนื้อหาว่างเปล่าถ้าสำเร็จ

รหัสสถานะการตอบกลับ

คีย์ ค่า คำอธิบาย
200 สำเร็จ (เนื้อหาว่างเปล่า)
400 คำขอที่ไม่ถูกต้อง ข้อมูล POST ขาดหายไป
ข้อผิดพลาดรูปแบบ JSON
องค์ประกอบที่จำเป็นขาดหายไปหรือไม่ถูกต้อง
สามารถตรวจสอบเพิ่มเติมได้ด้วยข้อความเหตุผลในเนื้อหา
401 ไม่ได้รับอนุญาต หัวเรื่องการอนุญาตในข้อความคำขอขาดหายไปหรือไม่ถูกต้อง
โทเค็นการอนุญาต (API KEY) ยังไม่ได้ลงทะเบียน
ไม่มีสิทธิ์เข้าถึง API ที่เกี่ยวข้อง
403 ห้ามเข้าถึง แผนการอนุญาตของหัวเรื่องการอนุญาตไม่ใช่ "Bearer" (รองรับเฉพาะ Bearer เท่านั้น)
404 ไม่พบ URL คำขอผิด
500 ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน ข้อผิดพลาดภายในบนเซิร์ฟเวอร์
502 เกตเวย์ไม่ถูกต้อง เซิร์ฟเวอร์เกตเวย์ถูกโหลดมากเกินไป
การเชื่อมต่อเครือข่ายผิดพลาด
503 บริการไม่พร้อมใช้งาน เซิร์ฟเวอร์ API หรือเซิร์ฟเวอร์การอนุญาตหยุดทำงาน

ตัวอย่างโค้ด

การลงทะเบียนแคมเปญ

  • โทร
curl -v -L \
-H "Content-Type: application/json"  \
-H "Authorization: Bearer {API KEY}" \
-d '{
    "description": "TEST",
    "status": 1,
    "company": "gcp",
    "companyIndex": 3,
    "type": "B",
    "targetingId": 0,
    "reservation": {
        "localizing": false,
        "startDate": "2025-11-06",
        "endDate": "2025-11-06",
        "time": "17:00:00",
        "gmtOffset": 32400,
        "repeat": false,
        "periodType": "",
        "weekday": [],
        "skip": []
    },
    "game": {
        "gameName": "Step by Step",
        "gameindex": 597,
        "serverIds": [],
        "apps": [
            {
                "appindex": 20009,
                "appid": "com.gcp.stepbystep.android.google.global.normal",
                "versions": []
            }
        ],
        "serverAll": true
    },
    "distribution": {
        "enable": false,
        "interval": 0,
        "count": 0
    },
    "defaultLanguage": "ko",
    "option": {
        "badge": 1,
        "engagement": "",
        "overwrite": false,
        "collapseKey": "0",
        "comment": "",
        "groupKey": "",
        "android": {
            "icon": "",
            "sound": "",
            "priority": "high"
        },
        "ios": {
            "sound": ""
        }
    },
    "registrant": {
        "id": "test",
        "name": "Test"
    },
    "notification": {
        "ko": {
            "android": {
                "title": "TEST",
                "message": "(Advertising) TEST (Unsubscribe: Change in settings)",
                "messageExpanded": "",
                "ticker": "",
                "summaryText": "",
                "imageUrl": ""
            },
            "ios": {
                "title": "TEST",
                "message": "(Advertising) TEST (Unsubscribe: Change in settings)",
                "mediaUrl": ""
            }
        }
    },
    "countries": [
        "KR"
    ],
    "continents": [
        {
            "name": "Africa",
            "countries": []
        },
        {
            "name": "Americas",
            "countries": []
        },
        {
            "name": "Asia",
            "countries": [
                "South Korea"
            ]
        },
        {
            "name": "Europe",
            "countries": []
        },
        {
            "name": "Oceania",
            "countries": []
        },
        {
            "name": "Polar",
            "countries": []
        }
    ]
}' \
https://sandbox-notification.qpyou.cn/push/campaigns
  • คำขอ
> POST /push/campaigns HTTP/1.1
> User-Agent: curl/7.29.0
> Host: sandbox-notification.qpyou.cn
> Accept: */*
> Content-Type: application/json
> Authorization: Bearer {API KEY}
> Content-Length: 1314
> Expect: 100-continue
  • การตอบกลับ
< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Content-Length: 1491
< Content-Type: application/json
<: 3d18420b-4cf3-48a8-a3bf-6c9ac6cbe86a
<
{
    "uuid": "3d18420b-4cf3-48a8-a3bf-6c9ac6cbe86a",
    "status": 1,
    "modify": true,
    "id": 10163,
    "type": "B",
    "company": "gcp",
    "companyIndex": 3,
    "description": "TEST",
    "targetingId": 0,
    "reservation": {
        "localizing": false,
        "startDate": "2025-11-06",
        "endDate": "2025-11-06",
        "time": "17:00:00",
        "repeat": false,
        "gmtOffset": 32400
    },
    "distribution": {
        "count": 0,
        "interval": 0,
        "enable": false
    },
    "continents": [
        {
            "name": "Africa",
            "countries": []
        },
        {
            "name": "Americas",
            "countries": []
        },
        {
            "name": "Asia",
            "countries": [
                "South Korea"
            ]
        },
        {
            "name": "Europe",
            "countries": []
        },
        {
            "name": "Oceania",
            "countries": []
        },
        {
            "name": "Polar",
            "countries": []
        }
    ],
    "countries": [
        "KR"
    ],
    "lastEndTime": 1762448400,
    "lastEndTimestamp": 1762416000,
    "tasks": {
        "17:00:00": {
            "startTime": 1762448400,
            "endTime": 1762448400,
            "time": "17:00:00",
            "gmtOffset": 32400,
            "zones": [
                "Asia/Seoul"
            ],
            "startTimestamp": 1762416000,
            "endTimestamp": 1762416000
        }
    },
    "game": {
        "gameindex": 597,
        "gameName": "Step by Step",
        "apps": [
            {
                "appid": "com.gcp.stepbystep.android.google.global.normal",
                "appindex": 20009
            }
        ]
    },
    "defaultLanguage": "ko",
    "notification": {
        "ko": {
            "android": {
                "messageExpanded": "",
                "ticker": "",
                "summaryText": "",
                "imageUrl": "",
                "title": "TEST",
                "message": "(Advertising) TEST (Unsubscribe: Change in settings)"
            },
            "ios": {
                "title": "TEST",
                "message": "(Advertising) TEST (Unsubscribe: Change in settings)",
                "mediaUrl": ""
            }
        }
    },
    "option": {
        "badge": 1,
        "engagement": "",
        "overwrite": false,
        "collapseKey": "0",
        "comment": "",
        "groupKey": "",
        "android": {
            "icon": "",
            "priority": "high",
            "sound": ""
        },
        "ios": {
            "sound": ""
        }
    },
    "timestamp": {
        "date": "2024-10-21 15:18:57.923",
        "time": 1729491537923
    },
    "registrant": {
        "name": "Test",
        "id": "test"
    },
    "dryRun": false,
    "debug": false
}

การปรับเปลี่ยนแคมเปญ

  • โทร
curl -v -L \
-H "Content-Type: application/json"  \
-H "Authorization: Bearer {API KEY}" \
-d '{
    "id": 10163,
    "description": "TEST",
    "status": 1,
    "company": "gcp",
    "companyIndex": 3,
    "type": "B",
    "targetingId": 0,
    "reservation": {
        "localizing": false,
        "startDate": "2025-11-06",
        "endDate": "2025-11-06",
        "time": "17:00:00",
        "gmtOffset": -18000,
        "repeat": false,
        "periodType": "",
        "weekday": [],
        "skip": []
    },
    "game": {
        "gameName": "Step by Step",
        "gameindex": 597,
        "serverIds": [],
        "apps": [
            {
                "appindex": 20009,
                "appid": "com.gcp.stepbystep.android.google.global.normal",
                "versions": []
            }
        ],
        "serverAll": true
    },
    "distribution": {
        "enable": false,
        "interval": 0,
        "count": 0
    },
    "defaultLanguage": "ko",
    "option": {
        "badge": 1,
        "engagement": "",
        "overwrite": false,
        "collapseKey": "0",
        "comment": "",
        "groupKey": "",
        "android": {
            "icon": "",
            "sound": "",
            "priority": "high"
        },
        "ios": {
            "sound": ""
        }
    },
    "timestamp": {
        "time": 0,
        "date": ""
    },
    "registrant": {
        "id": "test",
        "name": "Test"
    },
    "notification": {
        "ko": {
            "android": {
                "title": "TEST",
                "message": "(Advertising) TEST (Unsubscribe: Change in settings)",
                "messageExpanded": "",
                "ticker": "",
                "summaryText": "",
                "imageUrl": ""
            },
            "ios": {
                "title": "TEST",
                "message": "(Advertising) TEST (Unsubscribe: Change in settings)",
                "mediaUrl": ""
            }
        }
    },
    "countries": [
        "KR"
    ],
    "continents": [
        {
            "name": "Africa",
            "countries": []
        },
        {
            "name": "Americas",
            "countries": []
        },
        {
            "name": "Asia",
            "countries": [
                "South Korea"
            ]
        },
        {
            "name": "Europe",
            "countries": []
        },
        {
            "name": "Oceania",
            "countries": []
        },
        {
            "name": "Polar",
            "countries": []
        }
    ]
}' \
https://sandbox-notification.qpyou.cn/push/campaigns
  • การร้องขอ
> POST /push/campaigns HTTP/1.1
> User-Agent: curl/7.29.0
> Host: sandbox-notification.qpyou.cn
> Accept: */*
> Content-Type: application/json
> Authorization: Bearer {API KEY}
> Content-Length: 1314
> Expect: 100-continue
  • การตอบกลับ
< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Content-Length: 1491
< Content-Type: application/json
< UUID: 65420989-ab96-4587-b19a-195fe13f9086
<
{
    "uuid": "65420989-ab96-4587-b19a-195fe13f9086",
    "status": 1,
    "id": 10163,
    "type": "B",
    "company": "gcp",
    "companyIndex": 3,
    "description": "TEST",
    "targetingId": 0,
    "reservation": {
        "localizing": false,
        "startDate": "2025-11-06",
        "endDate": "2025-11-06",
        "time": "17:00:00",
        "repeat": false,
        "gmtOffset": -18000
    },
    "distribution": {
        "count": 0,
        "interval": 0,
        "enable": false
    },
    "continents": [
        {
            "name": "Africa",
            "countries": []
        },
        {
            "name": "Americas",
            "countries": []
        },
        {
            "name": "Asia",
            "countries": [
                "South Korea"
            ]
        },
        {
            "name": "Europe",
            "countries": []
        },
        {
            "name": "Oceania",
            "countries": []
        },
        {
            "name": "Polar",
            "countries": []
        }
    ],
    "countries": [
        "KR"
    ],
    "lastEndTime": 1762498800,
    "lastEndTimestamp": 1762466400,
    "tasks": {
        "07:00:00": {
            "startTime": 1762498800,
            "endTime": 1762498800,
            "time": "07:00:00",
            "gmtOffset": -18000,
            "zones": [
                "Asia/Seoul"
            ],
            "startTimestamp": 1762466400,
            "endTimestamp": 1762466400
        }
    },
    "game": {
        "gameindex": 597,
        "gameName": "Step by Step",
        "apps": [
            {
                "appid": "com.gcp.stepbystep.android.google.global.normal",
                "appindex": 20009
            }
        ]
    },
    "defaultLanguage": "ko",
    "notification": {
        "ko": {
            "android": {
                "messageExpanded": "",
                "ticker": "",
                "summaryText": "",
                "imageUrl": "",
                "title": "TEST",
                "message": "(Advertising) TEST (Unsubscribe: Change in settings)"
            },
            "ios": {
                "title": "TEST",
                "message": "(Advertising) TEST (Unsubscribe: Change in settings)",
                "mediaUrl": ""
            }
        }
    },
    "option": {
        "badge": 1,
        "engagement": "",
        "overwrite": false,
        "collapseKey": "0",
        "comment": "",
        "groupKey": "",
        "android": {
            "icon": "",
            "priority": "high",
            "sound": ""
        },
        "ios": {
            "sound": ""
        }
    },
    "timestamp": {
        "date": "2024-10-21 15:25:45.611",
        "time": 1729491945611
    },
    "registrant": {
        "name": "Test",
        "id": "test"
    },
    "dryRun": false,
    "debug": false
}

รหัสประเทศ

ทวีป ประเทศ รหัส ประเทศ รหัส
แอฟริกา แองโกลา AO มาดากัสการ์ MG
บุร์กินาฟาโซ BF มาลี ML
บุรุนดี BI มอริเตเนีย MR
เบนิน BJ มอริเชียส MU
บอตสวานา BW มาลาวี MW
สาธารณรัฐประชาธิปไตยคองโก CD โมซัมบิก MZ
สาธารณรัฐแอฟริกากลาง CF นามิเบีย NA
สาธารณรัฐคองโก CG ไนเจอร์ NE
ไอวอรีโคสต์ CI ไนจีเรีย NG
แคเมอรูน CM รีอูเนียน RE
เคปเวิร์ด CV รวันดา RW
จิบูตี DJ เซเชลส์ SC
แอลจีเรีย DZ ซูดาน SD
อียิปต์ EG เซนต์เฮเลนา SH
ซาฮาราตะวันตก EH เซียร์ราลีโอน SL
เอริเทรีย ER เซเนกัล SN
เอธิโอเปีย ET โซมาเลีย SO
กาบอง GA ซูดานใต้ SS
กานา GH เซาโตเมและปรินซิเป ST
แกมเบีย GM สวาซิแลนด์ SZ
กินี GN ชาด TD
กินี-บิสเซา GW โตโก TG
ดินแดนอินเดียตะวันตกของอังกฤษ IO ตูนิเซีย TN
เคนยา KE แทนซาเนีย TZ
คอโมโรส KM ยูกันดา UG
ไลบีเรีย LR มายอต YT
เลโซโท LS แอฟริกาใต้ ZA
ลิเบีย LY แซมเบีย ZM
โมร็อกโก MA ซิมบับเว ZW
อเมริกา แอนติกาและบาร์บูดา AG ฮอนดูรัส HN
แองกวิลลา AI เฮติ HT
อาร์เจนตินา AR จาเมกา JM
อารูบา AW เซนต์คิตส์และเนวิส KN
บาร์เบโดส BB หมู่เกาะเคย์แมน KY
เซนต์บาร์เธเลมี BL เซนต์ลูเซีย LC
เบอร์มิวดา BM เซนต์มาร์ติน MF
โบลิเวีย BO มาร์ตินีก MQ
บอนแอร์, เซนต์อูสตาเชียและซาบา BQ มอนต์เซอเรต MS
บราซิล BR เม็กซิโก MX
บาฮามาส BS นิการากัว NI
เบลีซ BZ ปานามา PA
แคนาดา CA เปรู PE
ชิลี CL เซนต์ปิแอร์และมีเกลอน PM
โคลอมเบีย CO เปอร์โตริโก PR
คอสตาริกา CR ปารากวัย PY
คิวบา CU ซูรีนาม SR
คูราเซา CW เอลซัลวาดอร์ SV
โดมินิกา DM ซินต์มาร์เทน SX
สาธารณรัฐโดมินิกัน DO หมู่เกาะเติกส์และหมู่เกาะเคคอส TC
เอกวาดอร์ EC ตรินิแดดและโตเบโก TT
หมู่เกาะฟอล์กแลนด์ FK หมู่เกาะนอกชายฝั่งของสหรัฐอเมริกา UM
เกรนาดา GD สหรัฐอเมริกา US
เฟรนช์เกียนา GF อุรุกวัย UY
กรีนแลนด์ GL เซนต์วินเซนต์และเกรนาดีนส์ VC
กวาเดอลูป GP เวเนซุเอลา VE
หมู่เกาะเซาท์จอร์เจียและหมู่เกาะเซาท์แซนด์วิช GS หมู่เกาะบริติชเวอร์จิน VG
กัวเตมาลา GT หมู่เกาะเวอร์จินของสหรัฐอเมริกา VI
กายอานา GY
เอเชีย สหรัฐอาหรับเอมิเรตส์ AE เลบานอน LB
อัฟกานิสถาน AF ศรีลังกา LK
อาร์เมเนีย AM เมียนมาร์ MM
อาเซอร์ไบจาน AZ มองโกเลีย MN
บังกลาเทศ BD มาเก๊า MO
บาห์เรน BH มัลดีฟส์ MV
บรูไน BN มาเลเซีย MY
ภูฏาน BT เนปาล NP
จีน CN โอมาน OM
จอร์เจีย GE ฟิลิปปินส์ PH
ฮ่องกง HK ปากีสถาน PK
อินโดนีเซีย ID ดินแดนปาเลสไตน์ PS
อิสราเอล IL กาตาร์ QA
อินเดีย IN ซาอุดีอาระเบีย SA
อิรัก IQ สิงคโปร์ SG
อิหร่าน IR ซีเรีย SY
จอร์แดน JO ไทย TH
ญี่ปุ่น JP ทาจิกิสถาน TJ
คีร์กีซสถาน KG ติมอร์-เลสเต TL
กัมพูชา KH เติร์กเมนิสถาน TM
เกาหลีเหนือ KP ตุรกี TR
เกาหลีใต้ KR ไต้หวัน TW
คูเวต KW อุซเบกิสถาน UZ
คาซัคสถาน KZ เวียดนาม VN
ลาว LA เยเมน YE
ยุโรป อันดอร์รา AD ไอซ์แลนด์ IS
แอลเบเนีย AL อิตาลี IT
ออสเตรีย AT เจอร์ซีย์ JE
หมู่เกาะอัลแลนด์ AX ลิกเตนสไตน์ LI
บอสเนียและเฮอร์เซโกวีนา BA ลิทัวเนีย LT
เบลเยียม BE ลักเซมเบิร์ก LU
บัลแกเรีย BG ลัตเวีย LV
เบลารุส BY โมนาโก MC
สวิตเซอร์แลนด์ CH มอลโดวา MD
ไซปรัส CY มอนเตเนโกร ME
สาธารณรัฐเช็ก CZ มาซิโดเนีย MK
เยอรมนี DE มอลตา MT
เดนมาร์ก DK เนเธอร์แลนด์ NL
เอสโตเนีย EE นอร์เวย์ NO
สเปน ES โปแลนด์ PL
ฟินแลนด์ FI โปรตุเกส PT
หมู่เกาะแฟโร FO โรมาเนีย RO
ฝรั่งเศส FR เซอร์เบีย RS
สหราชอาณาจักร GB รัสเซีย RU
เกิร์นซีย์ GG สวีเดน SE
ยิบรอลตาร์ GI สโลวีเนีย SI
กรีซ GR สวาลบาร์ดและยานมาเยน SJ
โครเอเชีย HR สโลวาเกีย SK
ฮังการี HU ซานมาริโน SM
ไอร์แลนด์ IE ยูเครน UA
เกาะแมน IM วาติกัน VA
โอเชียเนีย อเมริกันซามัว AS นีอูเอ NU
ออสเตรเลีย AU นิวซีแลนด์ NZ
หมู่เกาะโคโคส CC โพลินีเซียฝรั่งเศส PF
หมู่เกาะคุก CK ปาปัวนิวกินี PG
เกาะคริสต์มาส CX ปิตแคร์น PN
ฟิจิ FJ ปาลาว PW
ไมโครนีเซีย FM หมู่เกาะโซโลมอน SB
กวม GU โทเคลอู TK
คิริบาส KI ตองกา TO
หมู่เกาะมาร์แชลล์ MH ตูวาลู TV
หมู่เกาะนอร์เทิร์นมาเรียนา MP วานูอาตู VU
นิวแคลิโดเนีย NC วอลลิสและฟุตูนา WF
เกาะนอร์ฟอล์ก NF ซามัว WS
นอรู NR
ขั้วโลก แอนตาร์กติกา AQ

รหัสภาษา

รหัสภาษา ภาษา
ko เกาหลี
zh-hans จีน (แบบย่อ)
zh-hant จีน (แบบดั้งเดิม)
en อังกฤษ
ja ญี่ปุ่น
ar อาหรับ
fr ฝรั่งเศส
de เยอรมัน
es สเปน
pt โปรตุเกส
th ไทย
it อิตาลี
ru รัสเซีย
id อินโดนีเซีย
vi เวียดนาม
tr ตุรกี