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.
- After installing, require the gem
- Create one or more notifications
- Create the corresponding
pusher
- Push!!
- Get feedback
For completely detailed examples:
- Apple iOS example
- Google Android example (GCM)
- Google Android example (FCM)
- Windows Phone(MPNS) example
- 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
- Fork it ( https://github.com/calonso/ruby-push-notifications/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - 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.