编辑 3
我使用 RhoMobile 获取设备令牌,然后将其传送到服务器。
def register_device
@person = Person.find(:first)
unless System.get_property('is_emulator')
url = "#{@base}/users/#{@person.remote_id}/register_device?os=#{System.get_property('platform')}&device_token=#{System.get_property('device_id')}"
Rho::AsyncHttp.get(
:url => url,
:headers => {'User-Agent' => Rho::RhoConfig.user_agent}
)
end
finish_and_go_to_venue
end
编辑2
已经有设备令牌但是一直收到“Error=NotRegistered”的错误信息。
编辑
好的,首先犯了一个错误,使用了错误的设备ID。现在已经解决了,但手机没有弹出消息提醒。
原始内容
第一次从Rails服务器发送安卓推送消息的用户。
使用https://github.com/sghael/speedy_c2dm
我已经向Google注册并收到白名单电子邮件。
尝试运行下面的test.rb,但是没有任何消息被发送到手机。
require 'rubygems'
require 'bundler'
Bundler.setup(:default, :development)
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
$LOAD_PATH.unshift(File.dirname(__FILE__))
require 'speedy_c2dm'
TEST_EMAIL = "my_push_email@gmail.com"
TEST_PASSWORD = "MY_PASSWORD"
TEST_REGISTRATION_ID = "DEVICE_TOKEN_RECEIVED_FROM_PHONE"
speedyC2DM = SpeedyC2DM::API.new(TEST_EMAIL, TEST_PASSWORD)
options = {
:registration_id => TEST_REGISTRATION_ID,
:message => "Hi!",
:extra_data => 42,
:collapse_key => "some-collapse-key"
}
response = speedyC2DM.send_notification(options)