Help us understand the problem. What is going on with this article?

Amazon SNS で、iOS・Androidにpush通知する方法

More than 1 year has passed since last update.

ios,android向けアプリのpush通知に、amazon sns利用してみたので、使い方のメモ。

まずは最初の壁。用語についての私なりの解釈。

用語の整理

Arn(Amazon Resource Name)

登録データのamazon用ID。このIDを元にデータを参照したり、配信先として呼び出したりする

Endpoint Arn

端末のトークン(android ならregistration ID)を登録すると、このEndpoint Arnが作られる。1台だけに配信する場合には、このEndpoint Arnを指定する。
コンソール画面から配信する場合は、Applications -> publish to Endpoint

Topic

複数のEndpoint Arn を登録できる機能。Topicを作成するとTopic Arnができるので、これに対して配信すると、そのTopicに登録されているEndpointすべてに配信される。

Applications

これが一番分かりにくかった。
Endpointを作成時に、どの端末の種類かを区別するもの。

  • iOSなら"Apple Production"か"Apple Deveolpment"
  • Androidなら"Google Cloud Messaging(GCM)"

Subscriptions

Topicの登録リスト。Topicに登録することをSubscribeとも言う。

Publish

配信すること。1台ならEndpoidt Arn、複数配信するならTopic Arnを指定する。

配信準備、コンソール編

おおまかな流れは、

  • ApplicationsからCreate Platform ApplicationでEndpoint Arn作成
    AWS_SNS.png

  • Application Nameは、このApplicationの名前なので分かりやすい適当な名前にする。

  • Push Notification Platform で配信先の端末の種類を選択。iOSかandroidなら画像の囲ったいずれかを選択
    AWS_SNS_create_app.png

  • Topic 作成(複数端末に同時に配信したい場合)
    AWS_SNS_create_topic.png

  • Topic NameがAPIなどから呼び出す際も利用する名前。Display Nameは任意で表示用の分かりやすい名前をつける。無くてもOK。
    AWS_SNS_create_topic_new.png

  • Topic ができたらCreate Subscription して、ProtocolにApplicationを選択し、Endpointに先ほど生成されたEndpoint Arnを入力
    AWS_SNS_create_sub.png
    AWS_SNS_create_sb2.png

  • なお、Endpoint Arnの確認方法は、Applications から該当EndpointをチェックしてPublish to Endpoint。でキャプチャのとこをコピペ。なぜかちょっと手間。
    AWS_SNS_conf_endpoint_arn.png

Publish

準備ができたので、配信です。

1台だけの配信の場合

  1. Applications -> 該当端末のARNをクリック
  2. 該当端末をチェック -> Publish to Endpoint
  3. JSON message generator から、配信メッセージ入力。すると、対象のapplicationに合わせてjsonを生成し入力済みになる AWS_SNS_create_message.png

AWS_SNS_create_message_input.png

4.Publish message

複数配信(topic配信)の場合

  1. Topics -> 該当topicをチェック -> Publish to topic
  2. JSON message generator から、配信メッセージ入力。対象のapplicationに合わせてjsonを生成してくれる。複数のapplication(iOSとandroid等)が含まれていればそれも考慮した複合jsonを生成してくれます。便利!
  3. Publish message

使い方、API編

と行きたかったですが、長くなったので一旦終わり。
処理の手順は、基本上記コンソールと同じです。

uhuru
株式会社ウフルはインターネットによる革新的なサービスがお客様企業の価値向上につながる事を目指し「テクノロジーと自由な発想で未来を創る」を企業理念に掲げています。エッジとクラウドを “つなぐ” IoTオーケストレーションサービス「enebular®」をベースにIoTやデジタルマーケティングの領域で顧客のビジネスに変革をもたらし続けております。
https://uhuru.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした