You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 23:04:54