t.me/oneRustnoqRust Для чего нужна данная статья? : - Использовать библиотеку reqwest для взаимодействия с FCM и tokio. Зачем Вам это уметь? : Создать планировщик пуш-уведомлений на Rust, который работает поверх Firebase: // Cargo.toml dependencies: // [dependencies] // tokio = { version = "1", features = ["full"] } // reqwest = { version = "0.11", features = ["json"] } // serde = { version = "1", features = ["derive"] } // serde_json = "1" // dotenv = "0.15" use reqwest::Client; use serde::Serialize; use std::time::Duration; use tokio::{sync::mpsc, time}; use dotenv::dotenv; use std::env; #[derive(Serialize)] struct FcmMessage { to: String, notification: Notification, data: Option<serde_json::Value>, } #[derive(Serialize)] struct Notification { title: String, body: String, } struct PushScheduler { client: Client, fcm_url: String, fcm_key: String, } impl PushScheduler { fn new() -> Self { dotenv().ok(); let fcm_url = "https://fcm.googleapis.com/fcm/send".to_string(); let fcm_key = env:
Планировщик пуш-уведомлений на Rust с Firebase Cloud Messaging (FCM)
24 января 202524 янв 2025
6
2 мин