speedy_c2dm 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +6 -2
- data/lib/speedy_c2dm/version.rb +1 -1
- data/lib/speedy_c2dm.rb +2 -1
- metadata +2 -2
data/README.markdown
CHANGED
@@ -22,6 +22,10 @@ An Android device running 2.2 or newer, its registration token, and a Google acc
|
|
22
22
|
|
23
23
|
Speedy_C2DM will work with Rails 3.x & Ruby 1.9x. It has not been tested on previous versions or Rails or Ruby, and may or may not work with those versions.
|
24
24
|
|
25
|
+
##Backwards Compatibility
|
26
|
+
|
27
|
+
v1.0.0 is not backwards compatible with previous version. If you are migrating from a version prior to v1.0.0 please see the new usage instructions below.
|
28
|
+
|
25
29
|
##Usage
|
26
30
|
|
27
31
|
For a Rails app, a good place to put the following would be in config/initializers/speedy_c2dm.rb :
|
@@ -36,13 +40,13 @@ Then, where you want to make a C2DM call in your code, create an options hash an
|
|
36
40
|
options = {
|
37
41
|
:registration_id => SOME_REGISTRATION_ID,
|
38
42
|
:message => "Hi!",
|
39
|
-
:extra_data =>
|
43
|
+
:extra_data => nil,
|
40
44
|
:collapse_key => "some-collapse-key"
|
41
45
|
}
|
42
46
|
|
43
47
|
response = SpeedyC2DM::API.send_notification(options)
|
44
48
|
|
45
|
-
Note: there are blocking calls in both .
|
49
|
+
Note: there are blocking calls in both .set_account() and .send_notification(). You should use an async queue like [Resque](https://github.com/defunkt/resque) to ensure a non-blocking code path in your application code, particularly for the .send_notification() call.
|
46
50
|
|
47
51
|
|
48
52
|
##Testing
|
data/lib/speedy_c2dm/version.rb
CHANGED
data/lib/speedy_c2dm.rb
CHANGED
@@ -82,7 +82,7 @@ module SpeedyC2DM
|
|
82
82
|
def notificationRequest(options)
|
83
83
|
data = {}
|
84
84
|
options.each do |key, value|
|
85
|
-
if [:registration_id, :collapse_key].include? key
|
85
|
+
if [:registration_id, "registration_id", :collapse_key, "collapse_key"].include? key
|
86
86
|
data[key] = value
|
87
87
|
else
|
88
88
|
data["data.#{key}"] = value
|
@@ -91,6 +91,7 @@ module SpeedyC2DM
|
|
91
91
|
|
92
92
|
data = data.map{|k, v| "&#{k}=#{URI.escape(v.to_s)}"}.reduce{|k, v| k + v}
|
93
93
|
headers = { "Authorization" => "GoogleLogin auth=#{@auth_token}",
|
94
|
+
"Content-type" => "application/x-www-form-urlencoded",
|
94
95
|
"Content-length" => "#{data.length}" }
|
95
96
|
uri = URI.parse(PUSH_URL)
|
96
97
|
http = Net::HTTP.new(uri.host, uri.port)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: speedy_c2dm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-11-
|
12
|
+
date: 2011-11-04 00:00:00.000000000 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
description: Speedy C2DM efficiently sends push notifications to Android devices via
|