onesignal_flutter 5.x版本如何发送通知?原3.5.1代码失效求方案
OneSignal Flutter 5.x 版本发送通知适配方案
OneSignal Flutter 5.x 版本对通知发送API做了大幅重构,原3.5.1版本的OSCreateNotification和postNotification()方法已被移除,以下是适配后的实现代码:
适配后的代码
import 'package:onesignal_flutter/onesignal_flutter.dart'; // 构建通知内容 final content = NotificationContent( title: title, body: message, language: 'en', // Android专属配置 android: AndroidNotificationContent( smallIcon: 'ic_stat_one_signal_default', largeIcon: 'ic_stat_one_signal_default', sound: sound, actionButtons: [ ActionButton(text: "OK", id: "id1"), ], // 如需大图可取消注释 // bigPicture: imgUrlString, ), // iOS专属配置 ios: IosNotificationContent( attachments: { "id1": imgUrlString }, actionButtons: [ ActionButton(text: "OK", id: "id1"), ], ), ); // 设置通知目标(指定接收用户的playerIds) final target = NotificationTarget.identifiers(listOneSignalUserId); // 发送通知 final response = await OneSignal.Notifications.post(content, target);
关键API变化说明
- 通知内容与目标拆分:用
NotificationContent定义通知的标题、内容、平台专属配置,NotificationTarget指定接收用户(支持playerIds、标签、细分等多种方式) - 平台专属配置:Android和iOS的特有参数分别放在
AndroidNotificationContent和IosNotificationContent对象中 - 发送入口:从
OneSignal.shared.postNotification()改为OneSignal.Notifications.post() - 按钮组件:原
OSActionButton替换为ActionButton
内容的提问来源于stack exchange,提问作者Jacob Handaya
相关产品推荐
相关产品推荐

