README.markdown in c2dm-0.2.2 vs README.markdown in c2dm-0.3.0
- old
+ new
@@ -1,66 +1,61 @@
# c2dm
-c2dm sends push notifications to Android devices via google [c2dm](http://code.google.com/android/c2dm/index.html).
+c2dm sends push notifications to Android devices via c2dm sends push notifications to Android devices via [Google Cloud Messaging (GCM)](http://code.google.com/android/c2dm/index.html).
##Installation
$ gem install c2dm
##Requirements
-An Android device running 2.2 or newer, its registration token, and a google account registered for c2dm.
+An Android device running 2.2 or newer, its registration token, and a [GCM api key](https://code.google.com/apis/console).
##Usage
-*Important*: Version 0.2.0+ decouples auth from sending so the API changed. Please update your code.
-
There are two ways to use c2dm.
-Sending many notifications:
+Sending many individual notifications using a static method:
notifications = [
{
- :registration_id => "...",
- :data => {
- :some_message => "Some payload"
- :another_message => 10
+ registration_id: "...1",
+ data: {
+ some_message: "Some payload",
+ a_value: 10
},
- :collapse_key => "foobar" #optional
+ collapse_key: "foobar" #optional
+ },
+ {
+ registration_id: "...2",
+ data: {
+ some_message: "Some other payload",
+ a_value: 20
+ }
}
]
- C2DM.authenticate!("your@googleuser.com", "somepassword", "YourCo-App-1.0.0")
+ C2DM.api_key = "YourGCMApiKey" # This initializes all future instances of C2DM with "YourGCMApiKey"
C2DM.send_notifications(notifications)
-...or one at a time:
+Sending this way will not raise an error but `send_notifications` will return an array of
+hashes including the `registration_id` and the `response`. If GCM returns an error while C2DM
+is sending one of the notifications, the `response` in the hash of the appropriate notification
+will be an object of type `C2DM::GCMError`.
- C2DM.authenticate!("your@googleuser.com", "somepassword", "YourCo-App-1.0.0")
- c2dm = C2DM.new
+...or one at a time by creating an instance:
- notification = {
- :registration_id => "...",
- :data => {
- :some_message => "Some payload",
- :another_message => 10
- },
- :collapse_key => "foobar" #optional
- }
+ c2dm = C2DM.new("YourGCMApiKey")
+ data = {some_message: "Some payload", a_value: 10}
+ collapse_key = "optional_collapse_key"
+ c2dm.send_notification("aRegistrationId", data, collapse_key)
- c2dm.send_notification(notification)
+Sending using an instance of C2DM will raise a `C2DM::GCMError` error when sending fails.
-Note that calling *authenticate!* will authenticate all new instances of C2DM. You can override this by passing in your own auth_token:
-
- c2dm = C2DM.new(auth_token)
-
##Copyrights
-* Copyright (c) 2010-2012 Amro Mousa, Shawn Veader. See LICENSE.txt for details.
+* Copyright (c) 2010-2012 Amro Mousa. See LICENSE.txt for details.
##Thanks
-
+* [Shawn Veader](https://github.com/veader)
* [Paul Chun](https://github.com/sixofhearts)
-* [gowalla](https://github.com/gowalla)
-
-##Other stuff
-
-You might want to checkout GroupMe's fork of this gem as well.
+* [gowalla](https://github.com/gowalla)
\ No newline at end of file