为了帮助开发者在 Flutter 项目中轻松实现离线推送功能,我们推荐使用 TIMPush 插件(付费)。与在 Android 和 iOS 端单独进行集成相比,采用 TIMPush 插件具有以下优势:
接入周期短,预计全厂商接入仅需要 30 分钟;
支持数据统计和链路追踪,方便您查看推送触达率、点击率和转化率等各类指标;
支持全员/标签推送,方便您将营销广告、通知、新闻资讯等内容推送给所有用户或指定群体;
支持 uni-app 和 Flutter 等跨平台框架。
Android | iOS |
![]() | ![]() |
集成指引
拨打离线推送通话
AtomicXCore 的 CallStore 在发起通话时自动携带离线推送参数,您不需要手动设置任何 offlinePushInfo 字段。默认推送内容如下:字段 | 默认值 |
推送标题 | 主叫用户的 ID。 |
推送描述 | 中文环境下为「您有新的来电」,其它语言为「You have a new call」。 |
铃声 | SDK 内置铃声。 |
如果您想自定义推送标题或描述,可在发起通话时通过
CallParams 传入 offlinePushTitle / offlinePushDescription,传入后会覆盖上述默认值。import 'package:atomic_x_core/api/call/call_store.dart';// 构建通话参数final params = CallParams(timeout: 30, // 超时时间(秒)userData: "自定义数据", // 扩展信息(可选)// 可选:自定义离线推送标题和描述(不填则使用默认值)offlinePushTitle: "Alice",offlinePushDescription: "is calling you",);final userIdList = ["被叫用户的 userID"];// 发起通话final result = await CallStore.shared.calls(userIdList,CallMediaType.video, // video 视频通话,audio 语音通话params,);if (result.errorCode == 0) {// 通话发起成功,跳转到您自己的通话页面} else {// 通话失败处理print("calls failed: ${result.errorCode}, ${result.errorMessage}");}

