firebase_rs_sdk/messaging/
types.rs1use std::collections::HashMap;
2use std::sync::Arc;
3
4#[derive(Clone, Debug, Default, PartialEq, Eq)]
6pub struct NotificationPayload {
7 pub title: Option<String>,
8 pub body: Option<String>,
9 pub image: Option<String>,
10 pub icon: Option<String>,
11}
12
13#[derive(Clone, Debug, Default, PartialEq, Eq)]
15pub struct FcmOptions {
16 pub link: Option<String>,
17 pub analytics_label: Option<String>,
18}
19
20#[derive(Clone, Debug, Default, PartialEq, Eq)]
22pub struct MessagePayload {
23 pub notification: Option<NotificationPayload>,
24 pub data: Option<HashMap<String, String>>,
25 pub fcm_options: Option<FcmOptions>,
26 pub from: Option<String>,
27 pub collapse_key: Option<String>,
28 pub message_id: Option<String>,
29}
30
31pub type MessageHandler = Arc<dyn Fn(MessagePayload) + Send + Sync + 'static>;
32
33pub type Unsubscribe = Box<dyn FnOnce() + Send + 'static>;