活动注册
先决条件¶
要与注册活动的 API 同步,请确保发出授权令牌(API 密钥)。如果您已经拥有密钥,请请求额外的权限。请参考 Hive 服务器 API > 通知 > 推送 v4 > 身份验证 以查看如何请求和发出授权令牌。
注册活动的 API¶
基本数据和请求变量¶
方法 | POST | ||||||
网址 | /push/campaigns | ||||||
部门 | 字段名称 | 描述 | 类型 | 是否必填 | |||
---|---|---|---|---|---|---|---|
sound | 头部 | Content-Type | application/json;charset=utf-8 | ||||
授权 | bearer {{API KEY}} | - | |||||
主体 | id | 编辑活动的必填字段 | 整数 | △ | |||
状态 | 编辑活动的必填字段 | 整数 | △ | ||||
公司 | 公司
| 字符串 | O | ||||
公司索引 | 公司代码(在AppCenter上注册的公司编号) | 整数 | O | ||||
描述 | 活动的描述 | 字符串 | O | ||||
通知 | 是否发送通知 | 布尔值 | X | ||||
类型 | 发送类型
| 字符串 | O | ||||
targetingId | 定向ID 在定向活动中必填 | 整数 | △ | ||||
登记人 | 姓名 | 登记人姓名 | 字符串 | X | |||
id | 登记人id | 字符串 | O | ||||
预定 | 本地化 | 是否考虑当地时间 (一次发送/单独发送) | 布尔值 | 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 | 应用ID | 字符串 | O | ||||
默认语言 | 默认设置语言(参考语言代码) | 字符串 | O | ||||
通知 | {{LANGUAGE}} | 消息信息 查看下面的消息结构和示例 | 消息 | X | |||
选项 | 徽章 | 推送通知的徽章 | 整数 | X | |||
覆盖 | 是否覆盖推送 | 布尔值 | X | ||||
collapseKey | 用于覆盖推送的键值 | 字符串 | X | ||||
参与度 | 用户参与度 | 字符串 | X | ||||
评论 | 评论 | 字符串 | 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, HIGH) | X | ||||
ios | 声音 | 这是在用户设备上出现推送通知时要播放的通知声音源文件的名称。声音文件必须存在于应用容器的 Library/Sounds 或应用的主包中。如果此字段为空,则自动设置为“默认”,并使用用户的 Apple 设备 系统默认声音源。 td> | 字符串 | X |
CampaignContinent 结构¶
部门 | 字段名称 | 描述 | 类型 | 必需 |
---|---|---|---|---|
CampaignContinent | 大洲 | 大洲类型 | 字符串 | O |
countries | 大洲中国家的代码 | 字符串[] | O |
CampaignContinent 示例¶
[
{
"name": "Africa",
"countries": [
"Algeria",
"Angola",
"Benin",
"Sudan",
"Swaziland",
"Tanzania",
"Togo",
"Tunisia",
"Zambia",
"Zimbabwe"
]
}
]
消息结构¶
部门 | 字段名称 | 描述 | 类型 | 必需 | |
消息 | android | 标题 | 标题 | 字符串 | 是 |
消息 | 消息 | 字符串 | 是 | ||
扩展消息 | 扩展消息 | 字符串 | 否 | ||
图片网址 | 图片网址 | 字符串 | 否 | ||
滚动条 | 滚动条 | 字符串 | 否 | ||
摘要文本 | 摘要消息 | 字符串 | 否 | ||
iOS | 标题 | 标题 | 字符串 | 是 | |
消息 | 消息 | 字符串 | 是 | ||
媒体网址 | 图片网址 | 字符串 | 否 | 标题 | 标题(在1~30个字母内) | 字符串 | 是 |
正文 | 正文(在10~180个字母内) | 字符串 | 是 | ||
媒体 | 图片网址 | 字符串 | 是 |
消息示例¶
{
"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 | 土耳其语 |