Skip to content
This repository has been archived by the owner on Mar 20, 2019. It is now read-only.
/ apns_dispatch Public archive

A simple Ruby framework for communicating with the APNs

License

Notifications You must be signed in to change notification settings

TheLevelUp/apns_dispatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project is unmaintained. We recommend using a library compatible with Apple's newer HTTP/2-based API, such as apnotic.

ApnsDispatch

A simple Ruby framework for sending push notifications and receiving feedback using the Apple Push Notification service

Installation

Add this line to your application's Gemfile:

gem 'apns_dispatch'

And then execute:

$ bundle

Or install it yourself as:

$ gem install apns_dispatch

Sending Notifications

connection = ApnsConnection.new(CERTIFICATE, production: true)
ApnNotification.new(connection, DEVICE_TOKEN, 'a message to a device').send_notification

Checking the Feedback Service

Apple recommends periodically checking their feedback service for device tokens that have failed delivery. The feedback service also returns the time of the failure. If a device token was registered before the failure time, it should be removed from your system.

connection = ApnsConnection.new(CERTIFICATE, production: true, feedback: true)
ApnFeedback.new(connection).failed_device_tokens.each do |device_token, failure_time|
    # Delete this device token from your system, if the registration time is before failure_time
end

Connection Pooling

If notifications are sent frequently, latency will be improved by reusing connections to the Push Notification service. ApnsDispatch also provides connection pooling:

# Initiates a new connection to the APNs
connection = ApnsConnectionPool.connection(CERTIFICATE, production: true)

# This will return the same connection, rather than initiating a new one
connection = ApnsConnectionPool.connection(CERTIFICATE, production: true)

Requirements

apns_dispatch requires Ruby 1.9+.

License

apns_dispatch is written by Costa Walcott, and is Copyright 2012 SCVNGR, Inc. It is free software, and may be redistributed under the terms specified in the MIT-LICENSE file.

About

A simple Ruby framework for communicating with the APNs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages