12/12/2024 11:37:56

公告模块

一、概述

公告模块是 MSDK 为游戏提供的信息通知系统。公告系统只提供数据,具体 UI 样式需要业务自己定制,通过 飞鹰系统 -> 左侧菜单 MSDK 接入->公告管理处配置下发文本、图片以及网址等信息。公告模块不是独立的渠道或功能,是在 MSDKCore 中包含的功能。
下图是简单的公告展示:

王者公告示例

二、接入向导

2.1 设置监听回调

1)功能描述

MSDK 公告模块的回调,游戏需要注册回调函数进行处理。

2)接口声明

C#
C++
public static event OnMSDKRetEventHandler<MSDKNoticeRet>  NoticeRetEvent;
public static void SetNoticeObserver(MSDKNoticeObserver *noticeObserver)
class MSDKNoticeObserver
{
public:
// Notice的回调接口
    virtual void OnLoadNoticeData(const MSDKNoticeRet &noticeRet) {};
};

3)示例代码

C#
C++
MSDKNotice.NoticeRetEvent += OnNoticeRetEvent;

public void OnNoticeRetEvent(MSDKNoticeRet noticeRet)
{
	string methodTag = "";
	if (noticeRet.MethodNameId == (int)MSDKMethodNameID.MSDK_NOTICE_LOAD_DATA) {
		methodTag = "LoadNotice";
	}

	SampleInstance.showRetDialog(methodTag, noticeRet);
}

//销毁的时候需要移除监听
private void OnDestroy()
{
	MSDKNotice.NoticeRetEvent -= OnNoticeRetEvent;
}
MSDKNotice::SetNoticeObserver(new MyNoticeObserver());

class MyNoticeObserver : public MSDKNoticeObserver {
public:
    void OnLoadNoticeData(const MSDKNoticeRet &noticeRet) {
        UMSDKDemoBase::showNormalAlert(noticeRet);
    }
};

4)数据结构

MSDKNoticeRet 详解
继承自 MSDKBaseRet,包含基础的信息

成员变量名称 类型 说明
NoticeInfoList List 公告列表,参考 MSDKNoticeInfo 结构体

MSDKNoticeInfo 详解
公告的结构体,包含各种公告信息

成员变量名称 类型 说明
noticeId int 公告id
noticeType int 公告类型
noticeGroup string 公告分组,游戏自定义使用
beginTime int 开始时间
endTime int 结束时间
updateTime int 更新时间
order int 排序号
language string 语言
textInfo MSDKNoticeTextInfo 文字信息
picUrlList List 图片链接地址
webUrl string 网页公告链接
extraJson string 扩展字段,飞鹰系统->公告管理->公告配置中的自定义参数会通过此字段返回,MSDK 仅透传

说明:MSDKNoticeRet 中的 extraJson 会返回入参的数值,包含:noticeGrouplanguageregionpartition 字段。 这些参数可以在多次拉取公告且其中某次公告内容为空时,用来区分出是哪一次的拉取为空。

MSDKNoticeTextInfo 公告文字信息详解

成员变量名称 类型 说明
noticeTitle string 公告标题
noticeContent string 公告正文
noticeRedirectUrl string 公告重定向链接

2.2 获取公告数据

1)功能描述

获取已经配置的公告信息。该接口返回请求id,回调中带回获取到的公告信息以及请求id等。

2)接口声明

C#
C++
public static string LoadNoticeData(string noticeGroup, string language, int region, string partition,string extra);
public static std::string LoadNoticeData(const string &noticeGroup, const string &language, int region,
                               const string &partition, const string &extra)

3)入参说明

参数名称 参数类型 说明
noticeGroup string 公告分组(必填),后台填好公告并且分好组就可以对应拉取公告信息。参数为 0 可以拉取到所有分组的公告,飞鹰侧配置公告时必填
language string 公告的语种 部分语种简码。同一种文字可能有多个简码,注意入参时不要填错。例如简体中文就有 zh-CN、zh-ID、zh-IE 多种
region int 地区,北美、亚太、南美等,游戏自己配置定义。如果在飞鹰系统> SDK 接入>公告管理> MSDK_V5 公告管理>添加公告信息>公告地区(Region)选择了所有地区,获取公告数据时 region 填任意地区,都可以拉取该公告
partition string 游戏大区,游戏自己配置定义
extra string 扩展字段,直接透传到后台,json格式。公告管理端中配置的过滤字段必须在 extra 中传入说明,否则无法拉取对应公告

4)调用示例

C#
C++
string reqid = MSDKNotice.LoadNoticeData("1", "zh-CN", "1", "0" );
std::string reqid = MSDKNotice::LoadNoticeData("1", "zh-CN", "1", "0", "");

三、配置公告

[info] 公告管理端地址:http://dev.ied.com/ 在左侧菜单 MSDK接入->公告管理

3.1 配置管理端公告

[info] 发布的公告要注意是测试环境还是正式环境

公告配置

管理端选择公告语种后,公告语种框内容显示“已选择,见公告内容tab栏”,选中的公告语种会在公告内容框顶部显示。

字段 对应变量 -- 字段 对应变量
公告分类 noticeType 公告分组 noticeGroup
起始时间 beginTime 结束时间 endTime
公告语种 language 公告内容 contentType
文本 textInfo 图片 picUrlList
网页 webUrl 公告排序 order

[info]
字段当地时区需正确设置,否则会影响公告的下发时间
对公告设置白名单,可以设置公告对指定用户的可见性
如果设置的是自定义参数,后台不会根据自定义参数进行过滤,而是在拉取公告的时候将其返回给游戏

自定义参数配置和拉取返回示例如下所示:

公告自定义字段配置

公告自定义字段返回

四、公告过滤字段规则

4.1 概述

公告过滤字段规则是由 MSDK 后台逻辑控制的,后台根据飞鹰配置公告透传过来的过滤字段进行过滤下发;客户端获取公告数据时,只能获取符合过滤规则的公告数据。业务自行选择是否要配置过滤字段。

使用此功能需满足相关合规要求,包括但不限于个性化推荐、自动化决策等。具体以业务侧接口法务评估结论为准。

4.2 过滤字段类型

1)固定过滤字段

固定过滤字段包括操作系统、渠道、openid、设备id、版本号、大区(Partition),其中除大区(Partition)需要在获取公告数据时通过 partition 参数透传以外,其他固定过滤字段都是自动拼接到后台请求中,无需业务传参。

[info] 版本号获取说明
Android 读取的是 AndroidManifest.xml 中的 versionCode 和 versionName;ios 是 info.plist 中的 CFBundleVersionKey(即 versionCode) 和 CFBundleShortVersionString(即 versionName)

2)自定义(Extra)过滤字段

自定义(Extra)过滤字段最多支持 10 个,可以是数字或英文字符,由游戏自定义配置。配置了自定义(Extra)过滤字段的公告,客户端获取时必须在 extra 中以 json 格式传入,否则无法拉取对应公告。channel、os、version、partition、trade_mark、apn 为固定过滤字段名,自定义时不要使用,避免冲突。

[warning] 自定义(Extra)过滤字段特别说明
如果飞鹰配置了自定义(Extra)过滤字段
1、业务客户端获取时必须在 extra 中以 json 格式传入对应数据,会获取到符合自定义(Extra)过滤字段和其他所有未配置自定义(Extra)过滤字段的公告(若配置了其他过滤字段,则还需要满足其他过滤字段规则)。
2、业务客户端获取时,如果没有传 extra,那么只能获取到没有配置自定义(Extra)过滤字段的公告。

4.3 过滤规则示例

1)配置操作系统过滤

1、配置过滤字段-操作系统Android,公告配置界面如下图所示:

过滤字段-操作系统-飞鹰配置示例

2、业务客户端获取公告数据时,无需透传操作系统参数,MSDK 会自行拼接,只有操作系统为Android,即 os=1时才能获取到对应公告。后台请求示例如下所示:

过滤字段-操作系统-后台请求示例

request url : https://hktest.itop.qq.com/v2/notice/get_notice?channelid=2&gameid=12&os=1&seq=11-a17cf5be-978a-4019-a4a8-855b694b3c14-1656575977-11&ts=1656575977&version=5.25.000&sig=6bbe6bb6e74f63aec2a80eaa46951fea with postBody : {"language":"zh-CN","device_info":{"uuid":"29700a7a-662f-4f1a-a2ea-d4e8ee404b5b","device_language":"zh","app_version":"4.1.4637(1)","screen_dpi":3.0,"resolution":"1080*2376","trade_mark":"vivo","manufacturer":"vivo","model":"V2001A","apn":"","ram_info":"7810994176","rom_info":"245090955264","cpu_info":"4800"},"region":1,"partition":"","last_time":0,"extra_info":{"versionCode":"1","versionName":"4.1.4637"},"token":"D3BFB3DB7634A3131DFFB8B700E6499C","openid":"16862533134614867973"} opt:3 reqSeq:10007, reqTime:0

2)配置 openid 过滤字段

1、配置过滤字段-openid,上传 TXT 文件,公告配置界面如下图所示:

过滤字段-openid-飞鹰配置示例

2、业务客户端获取公告数据时,无需透传 openid 参数,但是需要有登录态 MSDK 才会把 openid 拼接上去,只有 openid 与飞鹰配置的 openid 匹配才能获取都对应公告。后台请求示例如下所示:

过滤字段-openid-后台请求示例

request url : https://hktest.itop.qq.com/v2/notice/get_notice?channelid=2&gameid=12&os=1&seq=11-a17cf5be-978a-4019-a4a8-855b694b3c14-1656576711-16&ts=1656576711&version=5.25.000&sig=4427ba35269bbe05c095a957827e47fa with postBody : {"language":"zh-CN","device_info":{"uuid":"29700a7a-662f-4f1a-a2ea-d4e8ee404b5b","device_language":"zh","app_version":"4.1.4637(1)","screen_dpi":3.0,"resolution":"1080*2376","trade_mark":"vivo","manufacturer":"vivo","model":"V2001A","apn":"","ram_info":"7810994176","rom_info":"245090955264","cpu_info":"4800"},"region":1,"partition":"","last_time":0,"extra_info":{"versionCode":"1","versionName":"4.1.4637"},"token":"D3BFB3DB7634A3131DFFB8B700E6499C","openid":"16862533134614867973"} opt:3 reqSeq:10013, reqTime:0

3)配置过滤字段-自定义(Extra)字段

1、配置过滤字段-自定义(Extra)字段为 myExtra1,公告配置界面如下图所示:

过滤字段-自定义(Extra)-飞鹰配置示例

2、业务客户端获取公告数据时,必须在 extra 中以 json 格式传入 {"myExtra1":"myValue1"},才能获取到对应公告。客户端传参示例如下所示:

过滤字段-自定义(Extra)-客户端入参示例

3、后台请求示例如下所示:

过滤字段-自定义(Extra)-后台请求示例

request url : https://hktest.itop.qq.com/v2/notice/get_notice?channelid=2&gameid=12&os=1&seq=11-a17cf5be-978a-4019-a4a8-855b694b3c14-1656577012-17&ts=1656577012&version=5.25.000&sig=148747b4627ecec51fa74d7cdfa5714e with postBody : {"language":"zh-CN","device_info":{"uuid":"29700a7a-662f-4f1a-a2ea-d4e8ee404b5b","device_language":"zh","app_version":"4.1.4637(1)","screen_dpi":3.0,"resolution":"1080*2376","trade_mark":"vivo","manufacturer":"vivo","model":"V2001A","apn":"","ram_info":"7810994176","rom_info":"245090955264","cpu_info":"4800"},"region":1,"partition":"","last_time":0,"extra_info":{"versionCode":"1","versionName":"4.1.4637","myExtra1":"myValue1"},"token":"D3BFB3DB7634A3131DFFB8B700E6499C","openid":"16862533134614867973"} opt:3 reqSeq:10015, reqTime:0

4)配置多个过滤规则示例

配置多个过滤规则时,业务客户端获取公告数据需要满足所有过滤规则才可以拉取到对应公告,固定过滤字段和自定义(Extra)的过滤规则是一样的,可以混合使用。

1、同时配置过滤字段-操作系统+openid时,业务客户端获取时操作系统必须是 Androidopenid 与飞鹰配置匹配才能获取到对应公告。飞鹰配置与后台请求如下所示:

过滤字段-操作系统+openid-飞鹰配置示例

过滤字段-操作系统+openid-后台请求示例

request url : https://hktest.itop.qq.com/v2/notice/get_notice?channelid=2&gameid=12&os=1&seq=11-a17cf5be-978a-4019-a4a8-855b694b3c14-1656577012-17&ts=1656577012&version=5.25.000&sig=148747b4627ecec51fa74d7cdfa5714e with postBody : {"language":"zh-CN","device_info":{"uuid":"29700a7a-662f-4f1a-a2ea-d4e8ee404b5b","device_language":"zh","app_version":"4.1.4637(1)","screen_dpi":3.0,"resolution":"1080*2376","trade_mark":"vivo","manufacturer":"vivo","model":"V2001A","apn":"","ram_info":"7810994176","rom_info":"245090955264","cpu_info":"4800"},"region":1,"partition":"","last_time":0,"extra_info":{"versionCode":"1","versionName":"4.1.4637","myExtra1":"myValue1"},"token":"D3BFB3DB7634A3131DFFB8B700E6499C","openid":"16862533134614867973"} opt:3 reqSeq:10015, reqTime:0

2、同时配置两个过滤字段-自定义(Extra)时,飞鹰配置如下图所示:

两个过滤字段-自定义(Extra)-飞鹰配置示例

业务客户端获取公告数据时,必须在 extra 中以 json 格式传入 {"myExtra1":"myValue1","myExtra2":"myValue2"}.客户端传参示例如下所示:

两个过滤字段-自定义(Extra)-客户端入参示例

后台请求如下所示:

两个过滤字段-自定义(Extra)-后台请求示例

request url : https://hktest.itop.qq.com/v2/notice/get_notice?channelid=2&gameid=12&os=1&seq=11-a17cf5be-978a-4019-a4a8-855b694b3c14-1656577381-19&ts=1656577381&version=5.25.000&sig=891dd97aea92933cb3f2bed34e53af21 with postBody : {"language":"zh-CN","device_info":{"uuid":"29700a7a-662f-4f1a-a2ea-d4e8ee404b5b","device_language":"zh","app_version":"4.1.4637(1)","screen_dpi":3.0,"resolution":"1080*2376","trade_mark":"vivo","manufacturer":"vivo","model":"V2001A","apn":"","ram_info":"7810994176","rom_info":"245090955264","cpu_info":"4800"},"region":1,"partition":"","last_time":0,"extra_info":{"versionCode":"1","versionName":"4.1.4637","myExtra1":"myValue1","myExtra2":"myValue2"},"token":"D3BFB3DB7634A3131DFFB8B700E6499C","openid":"16862533134614867973"} opt:3 reqSeq:10017, reqTime:0

[warning] 特别说明:
业务客户端获取公告数据时, extra 中以 json 格式传入 {"myExtra1":"myValue1","myExtra2":"myValue2"},可以获取到单独配置了 myExtra1myExtra2的公告。固定过滤字段也适用该规则。

五、其他

5.1 部分地区简码(region)

地区ID 中文名 英文名 地区ID 中文名 英文名
4 阿富汗 Afghanistan 438 列支敦士登 Liechtenstein
8 阿尔巴尼亚 Albania 440 立陶宛 Lithuania
10 南极洲 Antarctica 442 卢森堡 Luxembourg
12 阿尔及利亚 Algeria 446 澳门 Macao
16 美属萨摩亚 American Samoa 450 马达加斯加 Madagascar
20 安道尔 Andorra 454 马拉维 Malawi
24 安哥拉 Angola 458 马来西亚 Malaysia
28 安提瓜和巴布达 Antigua and Barbuda 462 马尔代夫 Maldives
31 阿塞拜疆 Azerbaijan 466 马里 Mali
32 阿根廷 Argentina 470 马耳他 Malta
36 澳洲 Australia 474 马提尼克 Martinique
40 奥地利 Austria 478 毛里塔尼亚 Mauritania
44 巴哈马 Bahamas 480 毛里求斯 Mauritius
48 巴林 Bahrain 484 墨西哥 Mexico
50 孟加拉国 Bangladesh 492 摩纳哥 Monaco
51 亚美尼亚 Armenia 496 蒙古国 Mongolia
52 巴巴多斯 Barbados 498 摩尔多瓦 Moldova, Republic of
56 比利时 Belgium 499 黑山 Montenegro
60 百慕大 Bermuda 500 蒙特塞拉特 Montserrat
64 不丹 Bhutan 504 摩洛哥 Morocco
68 玻利维亚 Bolivia, Plurinational State of 508 莫桑比克 Mozambique
70 波斯尼亚和黑塞哥维那 Bosnia and Herzegovina 512 阿曼 Oman
72 博茨瓦纳 Botswana 516 纳米比亚 Namibia
74 布韦岛 Bouvet Island 520 瑙鲁 Nauru
76 巴西 Brazil 524 尼泊尔 Nepal
84 伯利兹 Belize 528 荷兰 Netherlands
86 英属印度洋领地 British Indian Ocean Territory 531 库拉索 Curaçao
90 所罗门群岛 Solomon Islands 533 阿鲁巴 Aruba
92 英属维尔京群岛 Virgin Islands, British 534 圣马丁 Sint Maarten (Dutch part)
96 文莱 Brunei Darussalam 535 荷兰加勒比区 Bonaire, Sint Eustatius and Saba
100 保加利亚 Bulgaria 540 新喀里多尼亚 New Caledonia
104 缅甸 Myanmar 548 瓦努阿图 Vanuatu
108 布隆迪 Burundi 554 新西兰 New Zealand
112 白俄罗斯 Belarus 558 尼加拉瓜 Nicaragua
116 柬埔寨 Cambodia 562 尼日尔 Niger
120 喀麦隆 Cameroon 566 尼日利亚 Nigeria
124 加拿大 Canada 570 纽埃 Niue
132 佛得角 Cabo Verde 574 诺福克岛 Norfolk Island
136 开曼群岛 Cayman Islands 578 挪威 Norway
140 中非 Central African Republic 580 北马里亚纳群岛 Northern Mariana Islands
144 斯里兰卡 Sri Lanka 581 美国本土外小岛屿 United States Minor Outlying Islands
148 乍得 Chad 583 密克罗尼西亚联邦 Micronesia, Federated States of
152 智利 Chile 584 马绍尔群岛 Marshall Islands
156 中国 China 585 帕劳 Palau
158 中国台湾省 Taiwan, Province of China 586 巴基斯坦 Pakistan
162 圣诞岛 Christmas Island 591 巴拿马 Panama
166 科科斯(基林)群岛 Cocos (Keeling) Islands 598 巴布亚新几内亚 Papua New Guinea
170 哥伦比亚 Colombia 600 巴拉圭 Paraguay
174 科摩罗 Comoros 604 秘鲁 Peru
175 马约特 Mayotte 608 菲律宾 Philippines
178 刚果(布) Congo 612 皮特凯恩群岛 Pitcairn
180 刚果(金) Congo, the Democratic Republic of the 616 波兰 Poland
184 库克群岛 Cook Islands 620 葡萄牙 Portugal
188 哥斯达黎加 Costa Rica 624 几内亚比绍 Guinea-Bissau
191 克罗地亚 Croatia 626 东帝汶 Timor-Leste
192 古巴 Cuba 630 波多黎各 Puerto Rico
196 塞浦路斯 Cyprus 634 卡塔尔 Qatar
203 捷克 Czechia 638 留尼汪 Réunion
204 贝宁 Benin 642 罗马尼亚 Romania
208 丹麦 Denmark 643 俄罗斯 Russian Federation
212 多米尼克 Dominica 646 卢旺达 Rwanda
214 多米尼加 Dominican Republic 652 圣巴泰勒米 Saint Barthélemy
218 厄瓜多尔 Ecuador 654 圣赫勒拿、阿森松和特里斯坦-达库尼亚 Saint Helena, Ascension and Tristan da Cunha
222 萨尔瓦多 El Salvador 659 圣基茨和尼维斯 Saint Kitts and Nevis
226 赤道几内亚 Equatorial Guinea 660 安圭拉 Anguilla
231 埃塞俄比亚 Ethiopia 662 圣卢西亚 Saint Lucia
232 厄立特里亚 Eritrea 663 法属圣马丁 Saint Martin (French part)
233 爱沙尼亚 Estonia 666 圣皮埃尔和密克隆 Saint Pierre and Miquelon
234 法罗群岛 Faroe Islands 670 圣文森特和格林纳丁斯 Saint Vincent and the Grenadines
238 福克兰群岛 Falkland Islands (Malvinas) 674 圣马力诺 San Marino
239 南乔治亚和南桑威奇群岛 South Georgia and the South Sandwich Islands 678 圣多美和普林西比 Sao Tome and Principe
242 斐济 Fiji 682 沙特阿拉伯 Saudi Arabia
246 芬兰 Finland 686 塞内加尔 Senegal
248 奥兰 Åland Islands 688 塞尔维亚 Serbia
250 法国 France 690 塞舌尔 Seychelles
254 法属圭亚那 French Guiana 694 塞拉利昂 Sierra Leone
258 法属波利尼西亚 French Polynesia 702 新加坡 Singapore
260 法属南方和南极洲领地 French Southern Territories 703 斯洛伐克 Slovakia
262 吉布提 Djibouti 704 越南 Viet Nam
266 加蓬 Gabon 705 斯洛文尼亚 Slovenia
268 格鲁吉亚 Georgia 706 索马里 Somalia
270 冈比亚 Gambia 710 南非 South Africa
275 巴勒斯坦 Palestine, State of 716 津巴布韦 Zimbabwe
276 德国 Germany 724 西班牙 Spain
288 加纳 Ghana 728 南苏丹 South Sudan
292 直布罗陀 Gibraltar 729 苏丹 Sudan
296 基里巴斯 Kiribati 732 西撒哈拉 Western Sahara
300 希腊 Greece 740 苏里南 Suriname
304 格陵兰 Greenland 744 斯瓦尔巴和扬马延 Svalbard and Jan Mayen
308 格林纳达 Grenada 748 斯威士兰 Swaziland
312 瓜德罗普 Guadeloupe 752 瑞典 Sweden
316 关岛 Guam 756 瑞士 Switzerland
320 危地马拉 Guatemala 760 叙利亚 Syrian Arab Republic
324 几内亚 Guinea 762 塔吉克斯坦 Tajikistan
328 圭亚那 Guyana 764 泰国 Thailand
332 海地 Haiti 768 多哥 Togo
334 赫德岛和麦克唐纳群岛 Heard Island and McDonald Islands 772 托克劳 Tokelau
336 梵蒂冈 Holy See 776 汤加 Tonga
340 洪都拉斯 Honduras 780 特立尼达和多巴哥 Trinidad and Tobago
344 香港 Hong Kong 784 阿联酋 United Arab Emirates
348 匈牙利 Hungary 788 突尼斯 Tunisia
352 冰岛 Iceland 792 土耳其 Turkey
356 印度 India 795 土库曼斯坦 Turkmenistan
360 印尼 Indonesia 796 特克斯和凯科斯群岛 Turks and Caicos Islands
364 伊朗 Iran, Islamic Republic of 798 图瓦卢 Tuvalu
368 伊拉克 Iraq 800 乌干达 Uganda
372 爱尔兰 Ireland 804 乌克兰 Ukraine
376 以色列 Israel 807 马其顿 Macedonia, the former Yugoslav Republic of
380 意大利 Italy 818 埃及 Egypt
384 科特迪瓦 Côte d'Ivoire 826 英国 United Kingdom
388 牙买加 Jamaica 831 根西 Guernsey
392 日本 Japan 832 泽西 Jersey
398 哈萨克斯坦 Kazakhstan 833 马恩岛 Isle of Man
400 约旦 Jordan 834 坦桑尼亚 Tanzania, United Republic of
404 肯尼亚 Kenya 840 美国 United States of America
408 朝鲜 Korea, Democratic People's Republic of 850 美属维尔京群岛 Virgin Islands, U.S.
410 韩国 Korea, Republic of 854 布基纳法索 Burkina Faso
414 科威特 Kuwait 858 乌拉圭 Uruguay
417 吉尔吉斯斯坦 Kyrgyzstan 860 乌兹别克斯坦 Uzbekistan
418 老挝 Lao People's Democratic Republic 862 委内瑞拉 Venezuela, Bolivarian Republic of
422 黎巴嫩 Lebanon 876 瓦利斯和富图纳 Wallis and Futuna
426 莱索托 Lesotho 882 萨摩亚 Samoa
428 拉脱维亚 Latvia 887 也门 Yemen
430 利比里亚 Liberia 894 赞比亚 Zambia
434 利比亚 Libya

5.2 部分语种简码(language)

简码 语种 -- 简码 语种
af-ZA 南非语 ar-AE 阿拉伯语 (阿拉伯联合酋长国)
ar-BH 阿拉伯语 (巴林) ar-DZ 阿拉伯语 (阿尔及利亚)
ar-EG 阿拉伯语 (埃及) ar-IQ 阿拉伯语 (伊拉克)
ar-JO 阿拉伯语 (约旦) ar-KW 阿拉伯语 (科威特)
ar-LB 阿拉伯语 (黎巴嫩) ar-LY 阿拉伯语 (利比亚)
ar-MA 阿拉伯语 (摩洛哥) ar-OM 阿拉伯语 (阿曼)
ar-QA 阿拉伯语 (卡塔尔) ar-SA 阿拉伯语 (沙特阿拉伯)
ar-SY 阿拉伯语 (叙利亚) ar-TN 阿拉伯语 (突尼斯)
ar-YE 阿拉伯语 (也门) ar-AZ 阿塞拜疆语(西里尔语)
be-BY 比利时语 bg-BG 保加利亚语
bs-BA 波斯尼亚语(波斯尼亚和黑塞哥维那) ca-ES 加泰隆语
cs-CZ 捷克语 cy-GB 威尔士语
da-DK 丹麦语 de-AT 德语 (奥地利)
de-CH 德语 (瑞士) de-DE 德语 (德国)
de-IE 德语 de-LI 德语(列支敦士登)
de-LU 德语 (卢森堡) de-LU 德语(卢森堡)
de-US 德语 dv-MV 第维埃语
el-GR 希腊语 en-AU 英语 (澳大利亚)
en-BZ 英语(伯利兹) en-CA 英语 (加拿大)
en-CB 英语(加勒比海) en-CN 体验服英文
en-GB 英语 (英国) en-GLOBAL en-GLOBAL
en-ID 英语 en-IE 英语
en-JM 英语 (牙买加) en-NZ 英语 (新西兰)
en-PH 英语(菲律宾) en-SG 新加坡语
en-TT 英语(特立尼达) en-US 英语(美国)
en-ZA 英语 (南非) en-ZW 英语(津巴布韦)
es-AR 西班牙语 (阿根廷) es-BO 西班牙语(玻利维亚)
es-CL 西班牙语 (智利) es-CO 西班牙语 (哥伦比亚)
es-CR 西班牙语 (哥斯达黎加) es-DO 西班牙语 (多米尼加共和国)
es-EC 西班牙语 (厄瓜多尔) es-ES 西班牙语 (国际)
es-GT 西班牙语 (危地马拉) es-HN 西班牙语 (洪都拉斯)
es-IE 西班牙 es-MX 西班牙语 (墨西哥)
es-NI 西班牙语 (尼加拉瓜) es-PA 西班牙语(巴拿马)
es-PE 西班牙语 (秘鲁) es-PR 西班牙语 (波多黎哥(美))
es-PY 西班牙语 (巴拉圭) es-SA 西语南美
es-SV 西班牙语 (萨尔瓦多) es-US 西班牙语
es-UY 西班牙语 (乌拉圭) es-VE 西班牙语 (委内瑞拉)
eslt-IE 西班牙 et-EE 爱沙尼亚语
eu-ES 巴士克语 fa-IR 法斯语
fi-FI 芬兰语 fo-FO 法罗语
fr-BE 法语 (比利时) fr-CA 法语 (加拿大)
fr-CH 法语 (瑞士) fr-FR 法语 (法国)
fr-IE 法语 fr-LU 法语 (卢森堡)
fr-MC 法语 (摩纳哥) gl-ES 加西里亚语
gu-IN 古吉拉特语 he-IL 希伯来语
hi-IN 印地语 hr-BA 克罗地亚语(波斯尼亚,黑塞哥维那)
hr-HR 克罗地亚语 hu-HU 匈牙利语
hy-AM 亚美尼亚语 id-ID 印度尼西亚语
is-IS 冰岛语 it-CH 意大利语 (瑞士)
it-IT 意大利语 (意大利) ja-IE 日语
ja-JP 日语 ka-GE 格鲁吉亚语
kk-KZ 哈萨克语 kn-IN 卡纳拉语
ko-ES ko-ES ko-KR 韩国语
kok-IN 孔卡尼语 ky-KG 吉尔吉斯语(西里尔文)
lt-LT 立陶宛语 lv-LV 拉脱维亚语
mi-NZ 毛利语 mk-MK 马其顿语 (FYROM)
mn-MN 蒙古语(西里尔文) mr-IN 马拉地语
ms-BN 马来语(文莱达鲁萨兰) ms-MY 马来语(马来西亚)
mt-MT 马耳他语 my-SG 马来语
nb-NO 挪威语(伯克梅尔) nl-BE 荷兰语 (比利时)
nl-NL 荷兰语 (荷兰) nn-NO 挪威语 (尼诺斯克)
ns-ZA 北梭托语 pa-IN 旁遮普语
pl-PL 波兰语 pt-BR 葡萄牙语 (巴西)
pt-IE 葡萄牙语 pt-PT 葡萄牙语 (葡萄牙)
pt-SA 葡语南美 ptlt-IE 葡萄牙
qu-BO 克丘亚语(玻利维亚) qu-EC 克丘亚语(厄瓜多尔)
qu-PE 克丘亚语(秘鲁) ro-RO 罗马尼亚语
ru-IE 俄语 ru-RU 俄语
sa-IN 梵文 se-FI 萨默斯语(芬兰)
se-NO 萨默斯语(挪威) se-SE 萨默斯语(瑞典)
sk-SK 斯洛伐克语 sl-SI 斯洛文尼亚语
sq-AL 阿尔巴尼亚语 sr-BA 塞尔维亚语(拉丁文,西里尔文)
sr-SP 塞尔维亚(拉丁,西里尔文) sv-FI 瑞典语(芬兰)
sv-SE 瑞典语 sw-KE 斯瓦西里语
syr-SY 叙利亚语 ta-IN 泰米尔语
te-IN 泰卢固语 th-TH 泰语
tl-PH 塔加路语(菲律宾) tn-ZA 茨瓦纳语
tr-IE 土耳其语 tr-TR 土耳其语
tt-RU 鞑靼语 uk-UA 乌克兰语
ur-PK 乌都语 ur-UZ 乌兹别克语(拉丁文,西里尔文)
vi-ES vi-ES vi-EXP vi-EXP
vi-VN 越南语 xh-ZA 班图语
zh-CN 简体中文 zh-CNEXP zh-CNEXP
zh-ES zh-ES zh-GLOBAL zh-GLOBAL
zh-HK 中文 (香港) zh-ID 简体中文
zh-IE 简体中文 zh-MO 中文(澳门)
zh-SG 中文(新加坡) zh-TW 中文(繁体)
zu-ZA 祖鲁语



Copyright © 2024 MSDK.
All rights reserved.

results matching ""

    No results matching ""