/fastlane-plugin-aws_sns

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.

Example

iOS

aws_sns(
  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
)

Android

aws_sns(
  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

rake

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.

Troubleshooting

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.

Author

Josh Holtz, me@joshholtz.com, @joshdholtz

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