Skip to content

Server side library for working with Expo using Rust. Includes a client to send push notifications to users of your mobile app using the Expo push notification services.

License

Notifications You must be signed in to change notification settings

big-neon/expo-server-sdk-rust

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expo Push Notification Rust Client

The Expo Push Notification client provides a way for you to send push notifications to users of your mobile app using the Expo push notification services. For more details on the Expo push notification service, go [here] (https://docs.expo.io/versions/latest/guides/push-notifications)

Example: Sending a push notification

 extern crate expo_server_sdk;
 use expo_server_sdk::*;
 use std::str::FromStr;

 let token = PushToken::from_str("ExpoPushToken[my-token]").unwrap();
 let mut msg = PushMessage::new(token).body("test notification");

 let push_notifier = PushNotifier::new().gzip_policy(GzipPolicy::Always);
 let result = push_notifier.send_push_notification(&msg);

 if let Ok(result) = result {
     println!("Push Notification Response: \n \n {:#?}", result);
 }

Example: Using the cli tool

# Send a push notification with a body, passing in the push token
expo-server --body="test notification" ExpoPushToken[my-token]

Receives the response:

Push Notification Response: 
 
 PushReceipt {
    status: "error",
    message: Some(
        "\"ExpoPushToken[my-token]\" is not a registered push notification recipient"
    ),
    details: Some(
        Object(
            {
                "error": String(
                    "DeviceNotRegistered"
                )
            }
        )
    )
}

About

Server side library for working with Expo using Rust. Includes a client to send push notifications to users of your mobile app using the Expo push notification services.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%