应用公告
提示
如需启用应用公告功能,请使用 Combo SDK for Apps v0.4.0 或更高版本。
公告内容管理与展示规则见 公告功能介绍。
checkAnnouncements
应用可通过该 API 判断当前是否有新的公告内容。
返回结果可用于在公告 UI 入口处更新红点提示,以引导用户查看公告。
- Android
- iOS
fun checkAnnouncements(activity: Activity, options: CheckAnnouncementsOptions, completionHandler: (CheckAnnouncementsResult?, ComboSDKError?) -> Unit)
请求参数
| Properties | Type | Required | Description |
|---|---|---|---|
activity | Activity | true | 当前 Activity。 |
options | CheckAnnouncementsOptions | true | 检查是否存在新公告所需传入的参数集。 |
completionHandler | (CheckAnnouncementsResult?, ComboSDKError?) -> Unit | true | 检查是否存在新公告完成后的回调方法。 |
示例代码
Show Code
val options = CheckAnnouncementsOptions(profile = "user-id", level = 0)
ComboSDK.checkAnnouncements(activity, options) { result, error ->
if (error != null) {
Log.e("ComboSDK", "Check announcements failed:\n Error: ${error.error}\n User Message: ${error.userMessage}\n Developer Message: ${error.developerMessage}")
return@checkAnnouncements
}
Log.i("ComboSDK", "Check announcements succeeded!")
if (result?.newAnnouncementsAvailable == true) {
Log.i("ComboSDK", "New announcements are available!")
} else {
Log.i("ComboSDK", "No new announcements.")
}
}
static func checkAnnouncements(controller: UIViewController, options: CheckAnnouncementsOptions, completionHandler: @escaping (CheckAnnouncementsResult?, ComboSDKError?) -> Void)
请求参数
| Properties | Type | Required | Description |
|---|---|---|---|
controller | UIViewController | true | 当前视图控制器。 |
options | CheckAnnouncementsOptions | true | 检查是否存在新公告所需传入的参数集。 |
completionHandler | (CheckAnnouncementsResult?, ComboSDKError?) -> Void | true | 检查是否存在新公告完成后的回调方法。 |
示例代码
Show Code
CheckAnnouncementsOptions *options = [[CheckAnnouncementsOptions alloc] init];
options.profile = @"user-id";
options.level = 0;
[ComboSDK checkAnnouncementsWithController:self options: options completionHandler:^(CheckAnnouncementsResult * _Nullable result, ComboSDKError * _Nullable error) {
if (error) {
NSLog(@"Check announcements failed:\n Error: %@\n User Message: %@\n Developer Message: %@",
error.error, error.userMessage, error.developerMessage);
return;
}
NSLog(@"Check announcements Success");
if (result.newAnnouncementsAvailable) {
// 存在新公告时的处理,例如更新本地状态。
}
}];
CheckAnnouncementsOptions
| Properties | Type | Required | Description |
|---|---|---|---|
profile | String | false | 当前登录账户数据的唯一标识。 |
level | Int | false | profile 的等级。可用于控制公告展示,通常传角色等级或用户等级。未传时默认为 0。 |
CheckAnnouncementsResult
| Properties | Type | Description |
|---|---|---|
newAnnouncementsAvailable | Bool | 是否存在新公告。 - true:有新公告;- false:无新公告。 |
Error
| Error | Description |
|---|---|
SERVER_ERROR | 服务器发生错误。 |
NETWORK_ERROR | 网络错误。 |
UNKNOWN_ERROR | 未知错误。 |
openAnnouncements
通过该 API 打开公告页面。
- Android
- iOS
fun openAnnouncements(activity: Activity, options: OpenAnnouncementsOptions, completionHandler: (OpenAnnouncementsResult?, ComboSDKError?) -> Unit)
请求参数
| Properties | Type | Required | Description |
|---|---|---|---|
activity | Activity | true | 当前 Activity。 |
options | OpenAnnouncementsOptions | true | 打开公告所需传入的参数集。 |
completionHandler | (OpenAnnouncementsResult?, ComboSDKError?) -> Unit | true | 打开公告流程结束后的回调方法;公告成功打开后,在用户关闭页面时返回。 |
示例代码
Show Code
val options = OpenAnnouncementsOptions(
profile = "user-id",
level = 0,
width = 100,
height = 100
)
ComboSDK.openAnnouncements(activity, options) { result, error ->
if (error != null) {
Log.e("ComboSDK", "Open Announcements Failed:\n Error: ${error.error}\n User Message: ${error.userMessage}\n Developer Message: ${error.developerMessage}")
return@openAnnouncements
}
Log.i("ComboSDK", "Open Announcements Success")
}
static func openAnnouncements(controller: UIViewController, options: OpenAnnouncementsOptions, completionHandler: @escaping (OpenAnnouncementsResult?, ComboSDKError?) -> Void)
请求参数
| Properties | Type | Required | Description |
|---|---|---|---|
controller | UIViewController | true | 当前视图控制器。 |
options | OpenAnnouncementsOptions | true | 打开公告所需传入的参数集。 |
completionHandler | (OpenAnnouncementsResult?, ComboSDKError?) -> Void | true | 打开公告完成后的回调方法。 当公告成功打开时,会在用户关闭公告页面时返回。 |
示例代码
Show Code
OpenAnnouncementsOptions *options = [[OpenAnnouncementsOptions alloc] init];
options.profile = @"user-id";
options.level = 0;
options.width = 100;
options.height = 100;
[ComboSDK openAnnouncementsWithController:self options: options completionHandler:^(OpenAnnouncementsResult * _Nullable result, ComboSDKError * _Nullable error) {
if (error) {
NSLog(@"Open Announcements Failed:\n Error: %@\n User Message: %@\n Developer Message: %@",
error.error, error.userMessage, error.developerMessage);
return;
}
NSLog(@"Open Announcements Success");
}];
OpenAnnouncementsOptions
| Properties | Type | Required | Description |
|---|---|---|---|
profile | String | false | 当前登录账户数据的唯一标识。 |
level | Int | false | profile 的等级。可用于控制公告展示,通常传角色等级或用户等级。未传时默认为 0。 |
width | Int | false | 公告占屏幕宽度的百分比。取值范围 (0, 100]。 |
height | Int | false | 公告占屏幕高度的百分比。取值范围 (0, 100]。 |
OpenAnnouncementsResult
当前无公开字段,用于表示公告页面流程完成。
Error
| Error | Description |
|---|---|
SERVER_ERROR | 服务器发生错误。 |
NETWORK_ERROR | 网络错误。 |
UNKNOWN_ERROR | 未知错误。 |