1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年2月25日

#8 in #push-notification

MIT/Apache

24KB
535

apns2-rust

一个用于通过 APNS http/2 API 向 iOS 设备发送推送通知的 Rust 包。

用法

Cargo.toml

[dependencies]
apns2 = "*"
failure = "*"
extern crate apns2;
extern crate failure;

use failure::Error;

fn send(device_token: String, alert: String) -> Result<(), Error> {
    let apns = apns2::Apns::with_certificate(
        "certs/apns_cert.p12", // Path to p12 certificate + key db file.
        Some("passphrase".to_string()), // Passphraase used for the p12 file.
    )?;
    let notification = NotificationBuilder::new(topic, token)
        .title("title")
        .body("body")
        .sound("somesound.mp3")
        .badge(5)
        .build();
    apns.send(n)?;
    
    Ok(())
}

客户端

遗憾的是,没有足够成熟的本地 http/2 Rust 库可供使用,因此这个包目前通过 cURL 通过 rust-curl 使用。一旦生态系统赶上来,将使用本地的 Rust 解决方案。

待办事项

  • 添加 JWT 认证令牌支持
  • 使用 tokio-curl 添加异步 tokio 实现

许可证

此库根据 Apache 和 MIT 许可证双重许可。

请查看此存储库中的许可证文件以获取详细信息。

依赖项

~9–17MB
~252K SLoC