MSDKNotice::SetNoticeObserver(new MyNoticeObserver());
class MyNoticeObserver : public MSDKNoticeObserver {
public:
void OnLoadNoticeData(const MSDKNoticeRet ¬iceRet) {
String ret = MSDKUtils::FormatJson(MSDKJsonManager::ToJson(noticeRet));
UMSDKDemoBase::showNormalAlert(ret);
4)数据结构
MSDKNoticeRet 详解
继承自 MSDKBaseRet,包含基础的信息
成员变量名称
说明:MSDKNoticeRet
中的 extraJson
会返回入参的数值,包含:noticeGroup
,language
,region
,partition
字段。
这些参数可以在多次拉取公告且其中某次公告内容为空时,用来区分出是哪一次的拉取为空。
MSDKNoticeTextInfo 公告文字信息详解
成员变量名称
获取已经配置的公告信息。该接口返回请求id,回调中带回获取到的公告信息以及请求id等。
2)接口声明
public static string LoadNoticeData(string noticeGroup, string language, int region, string partition,string extra);
public static std::string LoadNoticeData(const string ¬iceGroup, const string &language, int region,
const string &partition, const string &extra)
3)入参说明
region
地区,北美、亚太、南美等,游戏自己配置定义。如果在飞鹰系统> SDK 接入>公告管理> MSDK_V5 公告管理>添加公告信息>公告地区(Region)选择了所有地区,获取公告数据时 region 填任意地区,都可以拉取该公告
partition
string
游戏大区,游戏自己配置定义
extra
string
扩展字段,直接透传到后台,json格式。公告管理端中配置的过滤字段必须在 extra 中传入说明,否则无法拉取对应公告
4)调用示例
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栏”,选中的公告语种会在公告内容框顶部显示。
字段当地时区
需正确设置,否则会影响公告的下发时间
对公告设置白名单,可以设置公告对指定用户的可见性
如果设置的是自定义参数,后台不会根据自定义参数进行过滤,而是在拉取公告的时候将其返回给游戏
自定义参数配置和拉取返回示例如下所示:
四、公告过滤字段规则
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:
2)配置 openid 过滤字段
1、配置过滤字段-openid
,上传 TXT 文件,公告配置界面如下图所示:
2、业务客户端获取公告数据时,无需透传 openid
参数,但是需要有登录态 MSDK 才会把 openid
拼接上去,只有 openid
与飞鹰配置的 openid
匹配才能获取都对应公告。后台请求示例如下所示:
request url : https:
3)配置过滤字段-自定义(Extra)字段
1、配置过滤字段-自定义(Extra)
字段为 myExtra1
,公告配置界面如下图所示:
2、业务客户端获取公告数据时,必须在 extra
中以 json 格式传入 {"myExtra1":"myValue1"}
,才能获取到对应公告。客户端传参示例如下所示:
3、后台请求示例如下所示:
request url : https:
4)配置多个过滤规则示例
配置多个过滤规则时,业务客户端获取公告数据需要满足所有过滤规则才可以拉取到对应公告,固定过滤字段和自定义(Extra)
的过滤规则是一样的,可以混合使用。
1、同时配置过滤字段-操作系统+openid
时,业务客户端获取时操作系统
必须是 Android
且 openid
与飞鹰配置匹配才能获取到对应公告。飞鹰配置与后台请求如下所示:
request url : https:
2、同时配置两个过滤字段-自定义(Extra)
时,飞鹰配置如下图所示:
业务客户端获取公告数据时,必须在 extra
中以 json 格式传入 {"myExtra1":"myValue1","myExtra2":"myValue2"}
.客户端传参示例如下所示:
后台请求如下所示:
request url : https:
[warning] 特别说明:
业务客户端获取公告数据时, extra
中以 json 格式传入 {"myExtra1":"myValue1","myExtra2":"myValue2"}
,可以获取到单独配置了 myExtra1
或 myExtra2
的公告。固定过滤字段也适用该规则。
5.1 部分地区简码(region)