fastlane plugin for creating AWS SNS platform applications for iOS and Android apps by @joshdholtz

Primary LanguageRubyMIT LicenseMIT

aws_sns fastlane plugin

fastlane Plugin Badge

Getting Started

This project is a fastlane plugin. To get started with fastlane-plugin-aws_sns, add it to your project by running:

fastlane add_plugin aws_sns

About aws_sns

AWS SNS is fully manage push notification service. This plugin creates an AWS SNS platform application for iOS and Android apps.

iOS app are created by uploading a private key (p12) to AWS SNS - which can easily be created with PEM

Android apps are created by sending up a GCM Api Key to AWS SNS - obtained through your Google Cloud Platform dashboard

The call to aws_sns will return the AWS SNS plattform application's ARN (if you need it). The platform application's ARN is what is used to actually send notifications to your app(s) later on.



  platform: 'APNS',
  platform_name: 'your_awesome_ios_app',
  platform_apns_private_key_path: 'path/to/cert.p12',

  # Optional private key password
  # platform_apns_private_key_password: 'joshissupercool'
  # Optional: updating certificate if platform_name already exists
  # update_if_exist: true


  platform: 'GCM',
  platform_name: 'your_awesome_android_app',
  platform_gcm_api_key: 'your_gcm_api_key'
  # Optional: updating key if platform_name already exists
  # update_if_exist: true

iOS (using the ARN)

ios_arn = aws_sns(
  platform: 'APNS',
  platform_name: 'your_awesome_ios_app',
  platform_apns_private_key_path: 'path/to/cert.p12',

# TODO: Possibly send this ARN to someone important who needs to configure stuff
puts "ARN: #{ios_arn}"

Run tests for this plugin

To run both the tests, and code style validation, run


To automatically fix many of the styling issues, use

rubocop -a

Issues and Feedback

For any other issues and feedback about this plugin, please submit it to this repository.


If you have trouble using plugins, check out the Plugins Troubleshooting doc in the main fastlane repo.

Using fastlane Plugins

For more information about how the fastlane plugin system works, check out the Plugins documentation.

About fastlane

fastlane is the easiest way to automate beta deployments and releases for your iOS and Android apps. To learn more, check out fastlane.tools.


Josh Holtz, me@joshholtz.com, @joshdholtz

I'm available for freelance work (Fastlane, iOS, and Android development) 💪 Feel free to contact me 🚀