增加或清空本地推送(AddLocalNotification/ClearLocalNotifications)
警告
Android 平台需启用 INTLConfig.ini 里的 ANDROID_LOCAL_NOTIFICATION_ENABLE
配置。
本地通知由用户自定义设置,保存在本地,根据时间触发。
当设置的时间小于当前设备时间,通知立即弹出。
说明
Android 和 iOS 的消息结构体不一样。
函数定义
// 增加本地推送 Android
UFUNCTION(BlueprintCallable, Category = "INTLSDKAPI")
static bool AddLocalNotification(const FString Channel, const FINTLLocalNotification LocalNotification);
// 增加本地推送 iOS
UFUNCTION(BlueprintCallable, Category = "INTLSDKAPI")
static bool AddLocalNotificationIOS(const FString Channel, const FINTLLocalNotificationIOS localNotification);
// 清空本地推送
UFUNCTION(BlueprintCallable, Category = "INTLSDKAPI")
static bool ClearLocalNotifications(const FString Channel);
入参说明
AddLocalNotification
参数 | 类型 | 说明 |
---|---|---|
Channel | FString | 渠道定义 例如 "Firebase" |
LocalNotification | FINTLLocalNotification | 本地消息结构体 |
AddLocalNotificationIOS
名称 | 参数类型 | 说明 |
---|---|---|
Channel | FString | 渠道定义 例如 "Firebase" |
LocalNotification | FINTLLocalNotificationIOS | 本地消息结构体 |
回调处理
回调处理接口是 PushResultObserver。回调数据结构是 PushResult。
回调 ID 是 kMethodIDPushAddLocalNotification
,kMethodIDPushClearLocalNotifications
.。
代码示例
FINTL Local Notification message;
UINTLSDKAPI::AddLocalNotification("Firebase", message);
FINTL Local Notification iOS message;
UINTLSDKAPI::AddLocalNotificationIOS("Firebase", message);
数据结构
Android
FINTLLocalNotification
成员变量名称 | 类型 | 说明 |
---|---|---|
ActionType | int | 设置动作类型: 1:打开 activity 或 app 本身 2:打开浏览器 3:打开 Intent 4:通过包名打开应用 |
NotificationID | int | 指定通知 ID;已展示的相同 ID 的通知,被后触发的通知覆盖 |
Title | string | 设置消息标题 |
Content | string | 设置消息内容 |
TickerText | string | 设置标题栏走马灯内容 |
ActionParameter | string | 当 ActionType=1 时,ActionParameter 可以为应用内的 Activity 的类名。例如 com.intl.TestActivity。 当 ActionType=2 时,ActionParameter 是一个 URL,点击通知后,直接用浏览器打开此URL地址。 当 ActionType=3 时,ActionParameter 是一个序列化的 Intent。 当 ActionType=4 时,ActionParameter 为应用包名。 |
FireTime | long | 设置通知触发时间,long 类型(UTC 时间的时间戳,单位:秒) |
SoundEnabled | int | 是否播放声音 0:否 1:是 默认:1 |
RingRaw | string | 指定应用内的声音(raw/ring.mp3), 例如:android.resource://intlgame.demo/raw/ring |
SmallIcon | string | 指定状态栏的小图片(test.png) 例如:test |
Lights | int | 是否呼吸灯 0:否 1:是 默认:0 |
Vibrate | int | 是否振动 0:否 1:是 默认:0 |
iOS
FINTLLocalNotificationIOS
成员变量 | 类型 | 说明 |
---|---|---|
NotificationID | string | [Required] 指定通知 ID 已展示的相同 ID,通知会被后触发的通知覆盖。 |
RepeatType | int | 推送重复发送周期 1:分钟 2:小时 3:天 4:星期 5:月 6:年 默认:0,代表不重复 |
FireTime | long | 本地推送触发的时间 |
Badge | int | 角标 |
AlertBody | string | 推送的内容 |
AlertAction | string | 替换弹框的按钮文字内容 默认为:启动 |
UserInfo | List<Dictionary<string,string>> | 自定义参数,可以用来标识推送和增加附加信息 |
AlertTitle | string | 推送的简短描述 |