1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
//! gcm //! === //! //! # Usage: //! //! Add this to `Cargo.toml`: //! //! ```ignore //! [dependencies] //! gcm = "0.2.0" //! ``` //! //! then add this to your crate root: //! //! ```ignore //! extern crate gcm; //! ``` //! //! # Examples: //! //! Here is an example to send out a GCM Message with some custom data: //! //! ```no_run //! use gcm::Message; //! use std::collections::HashMap; //! //! let mut map = HashMap::new(); //! map.insert("message", "Howdy!"); //! //! let result = Message::new("<registration id>") //! .data(map) //! .send("<GCM API Key>"); //! ``` //! //! To send a message using GCM Notifications, we first build the notification: //! //! ```rust //! use gcm::{Message, NotificationBuilder}; //! //! let notification = NotificationBuilder::new("Hey!") //! .body("Do you want to catch up later?") //! .finalize(); //! ``` //! And then set it in the message, before sending it: //! //! ```no_run //! # use gcm::{Message, NotificationBuilder}; //! # let notification = NotificationBuilder::new("Hey!") //! # .body("Do you want to catch up later?") //! # .finalize(); //! let result = Message::new("<registration id>") //! .notification(notification) //! .send("<GCM API Key>"); //! ``` //! You can now handle the result accordingly: //! //! ```no_run //! # use gcm::{Message, NotificationBuilder}; //! # let notification = NotificationBuilder::new("Hey!") //! # .body("Do you want to catch up later?") //! # .finalize(); //! # let result = Message::new("<registration id>") //! # .notification(notification) //! # .send("<GCM API Key>"); //! match result { //! Ok(response) => println!("message_id: {:?}", response.message_id), //! Err(error) => println!("Error: {:?}", error), //! } //! ``` mod message; pub use message::*; mod notification; pub use notification::*; pub use message::response::GcmError as Error; extern crate hyper; extern crate hyper_native_tls; extern crate serde; extern crate serde_json; #[macro_use] extern crate serde_derive;