これが出来ると何が嬉しいの?
一括メッセージ設定、一括送信の自動化が出来ます!
##前提条件
Ruby環境
gem install aws-sdk-coreを実施済みであること
iOS環境
AWS SNSでアプリを作成済みであること
AWS SNSへエンドポイントを自動登録出来る実装が完了していること
AWS SDKを導入済みであること
上記の内容は以下のサイトが参考になります!
・流れ1:アプリ起動時にAWS SNSのアプリ側にデバイストークンを登録
・流れ2:対象のSNSからエンドポイントを取得
・流れ3:作成済みのTopicに取得したエンドポイントをSubscribeする
・流れ4:アプリに対してメッセージをpushし、即時に通知
Rubyスクリプト
sample.rb
require 'aws-sdk'
sns = AWS::SNS.new(
:access_key_id => 'YOUR_ACCESS_KEY',
:secret_access_key => 'YOUR_SECRET_ACCESS_KEY',
:region => 'us-east-1')
client = sns.client
# 対象のSNSからエンドポイントを取得
num = client.list_endpoints_by_platform_application(platform_application_arn: 'arn:aws:sns:us-east-1:************:app/APNS_SANDBOX/DevelopAppPush')
# 作成済みのTopicに取得したエンドポイントをSubscribeする
num.endpoints.each{|value|
client.subscribe(
topic_arn: 'arn:aws:sns:us-east-1:************:test_topic',
protocol: 'application',
endpoint: value.endpoint_arn)
}
# 起動していないアプリに対してメッセージをpush通知
response = client.publish(
target_arn: 'arn:aws:sns:us-east-1:************:test_topic',
message: 'push通知のテスト成功'
)