Class: Pushofy::ApplePush
- Inherits:
-
Object
- Object
- Pushofy::ApplePush
- Defined in:
- lib/pushofy/applepush.rb
Instance Method Summary collapse
- #feedback ⇒ Object
-
#initialize(host, port, payload_hash, deviceTokenHex, cert_name, password) ⇒ ApplePush
constructor
A new instance of ApplePush.
- #push ⇒ Object
Constructor Details
#initialize(host, port, payload_hash, deviceTokenHex, cert_name, password) ⇒ ApplePush
Returns a new instance of ApplePush.
9 10 11 12 13 14 15 16 |
# File 'lib/pushofy/applepush.rb', line 9 def initialize(host,port,payload_hash, deviceTokenHex,cert_name,password) @payload_hash = payload_hash @deviceTokenHex = deviceTokenHex @cert_name = cert_name @password = password @host = host @port = port end |
Instance Method Details
#feedback ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/pushofy/applepush.rb', line 30 def feedback host = 'feedback.sandbox.push.apple.com' path = Dir.pwd + '/app/controllers/CertificateName.pem' ssl_client = Pushofy::ConnectionToAppleServer::ssl_connect(host, 2196, path) ssl_client.connect apns_feedback = [] while = ssl_client.gets , _token_size, token = .unpack('N1n1H*') apns_feedback << [Time.at(), token] end ssl.close sock.close end |
#push ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/pushofy/applepush.rb', line 17 def push path = @cert_name ssl_client = Pushofy::ConnectionToAppleServer::ssl_connect(@host,@port, @password,@cert_name) ssl_client.connect device = [@deviceTokenHex] device_token_binary = device.pack('H*') pt = device_token_binary pm = @payload_hash.to_json = [0, 0, 32, pt, 0, pm.size, pm].pack('ccca*cca*') ssl_client.write() ssl_client.flush end |