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