ActiveDeliveryRpush
Provides an ActiveDelivery line for rpush notifications.
Installation
Add this line to your application's Gemfile:
gem 'active_delivery_rpush'And then execute:
$ bundle install
Or install it yourself as:
$ gem install active_delivery_rpush
Usage
Register the rpush line with your ApplicationDelivery:
class ApplicationDelivery < ActiveDelivery::Base
register_line :rpush, ActiveDeliveryRpush::Line
endThe rpush line will resolves Notification suffixed classes, for example:
PostNotification.
You will need to setup your notification driver, depending on which provider you want to use:
class FcmNotification < ActiveDeliveryRpush::Notifier
# Use the active_delivery_rpush driver with GCM notifications
self.driver = ActiveDeliveryRpush::Driver.new(
Rpush::Gcm::Notification
)
endFinally, you can implement you notifications:
class PostNotification < FcmNotification
def created(post)
# Note: the `body` parameter is not required.
notification(
app: Rpush::Gcm::App.find_by(name: 'android'),
registration_ids: params[:user].devices.pluck(
:registration_id
),
notification: {
title: "New post",
body: "#{post.title} has been published by #{post.author}!"
},
)
end
endDevelopment
After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/pauldub/active_delivery_rpush.
License
The gem is available as open source under the terms of the MIT License.