如何向 Rust 应用程序发送推送通知?

问题描述 投票:0回答:1

我正在使用 Tauri 构建桌面应用程序,我需要从 AWS Lambda 函数向他们发送纯数据推送通知。我之前使用 FCM 并从我的 Electron 应用程序中使用push-receiver Node 库 进行监听,该库煞费苦心地对 GCM 消息协议进行了逆向工程。但我没有看到 Rust 有任何类似的东西。据我所知,WNS 仅适用于 Microsoft Store 中的应用程序,我不打算要求我的用户经历这一过程。

这个问题解决了吗?到目前为止,我能看到的唯一前进路线是尝试将推送接收器移植到 Rust。

rust push-notification tauri
1个回答
1
投票

我创建了 fcm-push-listener 箱来执行此操作。我使用推送接收器库作为使用每个协议调用哪些端点的参考。

use fcm_push_listener::FcmPushListener;

let registration = fcm_push_listener::register("1001234567890").await?;

// Send registration.fcm_token to the server to allow it to send push messages to you.

let mut listener = FcmPushListener::create(
    registration,
    |message: FcmMessage| {
        println!("Message JSON: {}", message.payload_json);
        println!("Persistent ID: {:?}", message.persistent_id);
    },
    vec!["0:1677356129944104%7031b2e6f9fd7ecd".to_owned()]);
listener.connect().await?;

(编辑)这将于 2024 年 6 月 20 日停止工作,因为它所依赖的 API 正在被删除。

Amazon SNS 有一个 Rust 客户端,但我读过建议,每个用户不应该有一个主题,而这正是需要的。而且身份验证会很奇怪; SNS 似乎假设它以 IAM 身份在云中运行。

© www.soinside.com 2019 - 2024. All rights reserved.