跳轉至

活动注册

先決條件

要與註冊活動的 API 同步,請確保發出授權令牌(API KEY)。如果您已經擁有該密鑰,請請求額外的權限。請參考 Hive 伺服器 API > 通知 > 推送 v4 > 認證 以檢查如何請求和發出授權令牌。

註冊活動的 API

基本數據和請求變量

方法 POST
網址 /push/campaigns
部門 欄位名稱 描述 類型 必填
sound 標頭 Content-Type application/json;charset=utf-8
授權 bearer {{API KEY}} -
主體 id 編輯活動的必要欄位 整數
status 編輯活動的必要欄位 整數
company 公司
  • gamevil: Com2uS Holdings
  • com2us: Com2uS
  • gcp: Com2uS Platform
字串 O
companyIndex 公司代碼(在 AppCenter 註冊的公司號碼) 整數 O
描述 活動的描述 字串 O
notice 是否發送通知 布林值 X
類型 發送類型
  • B: 批量推送
  • T: 定向推送
字串 O
targetingId 定向 ID 定向活動的必要欄位 整數
registrant name 註冊人姓名 字串 X
id 註冊人 ID 字串 O
reservation localizing 是否考慮當地時間 (一次發送/單獨發送) 布林值 O
startDate 持續發送的期間 (YYYY-MM-DD) 字串 O
endDate 字串 O
time 推送發送的時間 (HH:mm) 字串 O
repeat 是否持續發送推送 布林值 O
weekday 持續發送的非週末日子 整數[] X
skip 在持續發送期間跳過發送推送的日期 字串[] X
distribution enable 是否發送分配推送 布林值 X
interval 分配發送的間隔 整數 X
count 分配發送的次數 整數 X
continents 按選定大陸的信息列表 (參考國家代碼) 查看下面的CampaignContinent結構示例 CampaignContinent[] O
countries 選定國家的信息 (參考國家代碼) 字串[] O
game gameindex 遊戲索引 整數 O
serverIds 伺服器ID列表 字串[] X
apps[] appindex 應用索引 整數 O
appid AppId 字串 O
defaultLanguage 預設語言設定(參考語言代碼 字串 O
notification {{LANGUAGE}} 訊息資訊 檢查訊息結構和下面的範例 訊息 X
option badge 推播通知的徽章 整數 X
overwrite 是否覆蓋推播 布林值 X
collapseKey 覆蓋推播的鍵值 字串 X
engagement 用戶互動 字串 X
comment 評論 字串 X
groupKey 當用戶在 iOS 或 Android 操作系統環境中接收通知時,該組鍵值用於在組中顯示通知。設備操作系統中選擇的通知設置默認適用。有關該選項的更多詳細信息,請參見以下文檔。 字符串 X
android icon 當推送通知出現在用戶的設備上時,這是顯示的圖標圖像文件名。圖像文件應位於/src/main/res/drawable中。請參見這裡以獲取支持的圖像文件格式。如果您想在網絡上顯示圖像而不是圖像文件,請在此字段中輸入圖像 URL,而不是圖像文件名。如果此字段留空,則將顯示應用程序圖標圖像。 字符串 X
sound 這是當推送通知出現在用戶的設備上時要播放的通知聲音文件的名稱。您可以指定包含在應用程序包中的聲音源文件,聲音源文件應位於/src/main/res/raw中。如果此字段留空,則使用系統的默認聲音文件。 字符串 X
priority 發送到 Android 設備的消息優先級。此優先級是 FCM 概念,用於控制何時發送消息。它可以具有 NORMAL 或 HIGH 的值;默認為 NORMAL。更多信息,請參見Firebase 指南
  • NORMAL = 數據消息的默認優先級。正常優先級消息在設備不處於睡眠模式時立即發送。當您的設備處於睡眠模式時,為了節省電池,傳輸可能會延遲,直到設備退出睡眠模式。對於不太緊急的消息,例如新電子郵件通知、保持 UI 同步或後台應用數據同步,請選擇正常傳遞優先級。
  • 高 = FCM 将尝试立即发送高优先级消息,如果必要,FCM 可能会唤醒设备并执行一些有限的处理,包括非常有限的网络访问。高优先级消息通常涉及用户与应用程序或通知的交互。
枚举(NORMAL,HIGH) X
ios 声音 这是在用户设备上出现推送通知时要播放的通知声音源文件的名称。声音文件必须存在于应用程序容器的 Library/Sounds 或应用程序的主包中。如果此字段为空,则自动设置为“默认”,并使用用户的 Apple 设备 系统默认声音源。 td> 字符串 X
Note

有關 option 的更多詳細信息,請參閱各自市場的指導方針。

(該選項欄位不適用於Facebook。)

CampaignContinent 結構

區域 欄位名稱 描述 類型 必填
CampaignContinent 大陸 大陸類型 字串 O
countries 大陸中的國家代碼 字串[] O

CampaignContinent 範例

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

訊息結構

區域 欄位名稱 描述 類型 必填
訊息 android title 標題 字串 O
message 訊息 字串 O
messageExpanded 擴展訊息 字串 X
imageUrl 圖片網址 字串 X
ticker 滾動公告 字串 X
summaryText 摘要訊息 字串 X
iOS title 標題 字串 O
message 訊息 字串 O
mediaUrl 圖片網址 字串 X
facebook title 標題(1~30個字母) 字串 O
body 內容(10~180個字母) 字串 O
media 圖片網址 字串 O

訊息範例

{
"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)"
      },
      "facebook": {
          "title" : "Title",
          "body" : "Push Message Body",
          "media" : https://image.newdaily.co.kr/site/data/img/2022/05/13/2022051300019_0.jpg”
      }
    }
}

輸出結果

標題 內容類型 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","repeat":false,"periodType":"","weekday":[],"skip":[]},"game":{"gameName":"스탭 바이 스탭","gameindex":592,"serverIds":[],"apps":[{"appindex":20002,"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":"","vibration":1},"ios":{"sound":""}},"timestamp":{"time":0,"date":""},"registrant":{"id":"soollung","name":"박기찬"},"notification":{"ko":{"android":{"title":"TEST","message":"(광고) TEST (수신거부: 설정에서 변경 가능)","messageExpanded":"","ticker":"","summaryText":"","imageUrl":""},"ios":{"title":"TEST","message":"(광고) TEST (수신거부: 설정에서 변경 가능)","mediaUrl":""},"facebook":{"title":"TEST", "body":"TEST MESSAGE BODY", "media": "https://image.newdaily.co.kr/site/data/img/2022/05/13/2022051300019_0.jpg"}}},"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": 532,
    "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
    },
    "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,
    "tasks": {
        "17:00:00": {
            "startTime": 1762448400,
            "endTime": 1762448400,
            "time": "17:00:00",
            "gmtOffset": 32400,
            "zones": [
                "Asia/Seoul"
            ]
        }
    },
    "game": {
        "gameindex": 592,
        "gameName": "Step By Step",
        "apps": [
            {
                "appid": "com.gcp.stepbystep.android.google.global.normal",
                "appindex": 20002
            }
        ]
    },
    "defaultLanguage": "ko",
    "notification": {
        "ko": {
            "android": {
                "messageExpanded": "",
                "ticker": "",
                "summaryText": "",
                "imageUrl": "",
                "title": "TEST",
                "message": "(Ad) TEST (Opt out: can be modified in the settings)"
            },
            "ios": {
                "title": "TEST",
                "message": "(Ad) TEST (Opt out: can be modified in the settings)",
                "mediaUrl": ""
            },
            "facebook": {
                "media": "https://image.newdaily.co.kr/site/data/img/2022/05/13/2022051300019_0.jpg",
                "title": "TEST",
                "body": "TEST MESSAGE BODY"
            }
        }
    },
    "option": {
        "badge": 1,
        "engagement": "",
        "overwrite": false,
        "collapseKey": "0",
        "comment": "",
        "groupKey": "",
        "android": {
            "icon": "",
            "vibration": "1",
            "sound": ""
        },
        "ios": {
            "sound": ""
        }
    },
    "timestamp": {
        "date": "2023-05-22 15:19:24.726",
        "time": 1684736364726
    },
    "registrant": {
        "name": "Park Ki Chan",
        "id": "soollung"
    },
    "dryRun": false,
    "debug": false
}

活動修改

  • 呼叫
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","repeat":false,"periodType":"","weekday":[],"skip":[]},"game":{"gameName":"스탭 바이 스탭","gameindex":592,"serverIds":[],"apps":[{"appindex":20002,"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":"soollung","name":"박기찬"},"notification":{"ko":{"android":{"title":"TEST","message":"(광고) TEST (수신거부: 설정에서 변경 가능)","messageExpanded":"","ticker":"","summaryText":"","imageUrl":""},"ios":{"title":"TEST","message":"(광고) TEST (수신거부: 설정에서 변경 가능)","mediaUrl":""},"facebook":{"title":"TEST", "body":"TEST MESSAGE BODY", "media": "https://image.newdaily.co.kr/site/data/img/2022/05/13/2022051300019_0.jpg"}}},"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": 475,
    "type": "B",
    "company": "gcp",
    "companyIndex": 3,
    "description": "TEST475",
    "targetingId": 0,
    "reservation": {
        "localizing": false,
        "startDate": "2020-11-06",
        "endDate": "2020-11-06",
        "time": "17:00:00",
        "repeat": false
    },
    "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": 1604682000,
    "tasks": {
        "17:00:00": {
            "startTime": 1604682000,
            "endTime": 1604682000,
            "time": "17:00:00",
            "gmtOffset": 32400,
            "zones": ["Asia/Seoul"]
        }
    },
    "game": {
        "gameindex": 592,
        "gameName": "스탭바이스탭",
        "apps": [{
            "appid": "com.gcp.stepbystep.android.google.global.normal",
            "appindex": 20002
        }]
    },
    "defaultLanguage": "ko",
    "notification": {
        "ko": {
            "android": {
                "title": "TEST",
                "message": "(광고) TEST (수신거부: 설정에서 변경 가능)",
                "messageExpanded": "",
                "ticker": "",
                "summaryText": "",
                "imageUrl": ""
            },
            "ios": {
                "title": "TEST",
                "message": "(광고) TEST (수신거부: 설정에서 변경 가능)",
                "mediaUrl": ""
            },
            "facebook": {
                "title": "TEST",
                "body": "TEST MESSAGE BODY",
                "media": "https://image.newdaily.co.kr/site/data/img/2022/05/13/2022051300019_0.jpg"
            }
        }
    },
    "option": {
        "badge": 1,
        "engagement": "",
        "overwrite": false,
        "collapseKey": "0",
        "comment": "",
        "android": {
            "icon": "",
            "sound": "",
            "priority": "high"
        },
        "ios": {
            "sound": ""
        },
        "groupKey": "test"
    },
    "timestamp": {
        "date": "2020-03-23 11:03:43.094",
        "time": 1584929023094
    },
    "registrant": {
        "name": "박기찬",
        "id": "soollung"
    },
    "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
赤道幾內亞 GQ 法屬南方領地 TF
幾內亞比索 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 土耳其語