Skip to content

calonso/ruby-push-notifications

Repository files navigation

Ruby Push Notifications

Build Status Dependency Status Code Climate Test Coverage Gem Version Join the chat at https://gitter.im/calonso/ruby-push-notifications

iOS, Android and Windows Phone Push Notifications made easy!

Features

  • iOS and Android support
  • Complete error and retry management
  • Easy and intuitive API

Installation

Add this line to your application's Gemfile:

gem 'ruby-push-notifications'

And then execute:

$ bundle

Or install it yourself as:

$ gem install ruby-push-notifications

Usage

Ruby Push Notifications gem usage is really easy.

  1. After installing, require the gem
  2. Create one or more notifications
  3. Create the corresponding pusher
  4. Push!!
  5. Get feedback

For completely detailed examples:

  1. Apple iOS example
  2. Google Android example (GCM)
  3. Google Android example (FCM)
  4. Windows Phone(MPNS) example
  5. Windows Phone(WNS) example

Pending tasks

Feel free to contribute!!

  • Validate iOS notifications format and max size
  • Validate iOS tokens format
  • Validate GCM registration ids format
  • Validate GCM notifications format and max size
  • Split GCM notifications in parts if more than 1000 destinations are given (currently raising exception)
  • Integrate with APNS Feedback service
  • Validate MPNS notifications format
  • Validate MPNS data
  • Add other platforms (Amazon Fire...)

Contributing

  1. Fork it ( https://github.com/calonso/ruby-push-notifications/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Troubleshooting

If you see "255 Unknown Error" error code

This error code is assigned when the connection to push notification server wasn't successful 255 UNKnown Error code

Checking your connection configuration for example with APNS connection. When your pem file and token are development make sure you configure the pusher for sandbox mode RubyPushNotifications::APNS::APNSPusher.new('the certificate', true))

or when your pem file and token are production you should configure the pusher for production mode (Set the sandbox mode to false when creating your pusher) RubyPushNotifications::APNS::APNSPusher.new('the certificate', false))

Changelog

Refer to the CHANGELOG.md file for detailed changes across versions.