amazon SNSでiOSアプリにプッシュ通知を送る!画像つきで詳しく使い方もまとめました!

2018/01/25更新 カテゴリー:スマホアプリ開発 タグ: , , , ,
  • このエントリーをはてなブックマークに追加

amazonSNSでを使うと、サーバーからAppleへプッシュ通知を送る部分をまるっとおまかせできます。自分で実装しようとすると結構面倒。PHPだとApnsPHPというライブラリが有名ですが、これを使って自前で数千件、数万件のプッシュ通知を送る仕組みをつくるのはそう簡単ではありません。

そこで今回はamazonSNSがどういうものなのか、またどのように使うのかを説明します。

SPONSOR

amazon SNS(Amazon Simple Notification Service)とは

・プッシュ通知の実装部分を請け負ってくれるため、かんたんにプッシュ通知を実装できる
・複数ユーザーに送るトピック(グループ機能)と、個別に送る方法がある
・毎月100万件まで無料枠があり、その後は利用料に応じて課金(100 万件あたり 0.5 ドル)

amazonSNSになげるだけで、APNSに送られ、iOSにプッシュ通知を配信してくれます。sns-mobile-direct

プッシュ通知を送るためには端末のデバイストークンが必要です。amazonSNSではデバイストークンからモバイルエンドポイントを作成。ここに送信するとプッシュ通知がおこなわれます。さらに複数のモバイルエンドポイントをグループ化したものがトピックです。

トピックでグループ化しておけば、トピックに送信するだけでグループ内のモバイルエンドポイントすべてに配信されます。楽チンですね。

必要な事前設定

amazonAWSアカウントの開設

amazon SNSはAWSサービスの一部です。

Appleにプッシュ通知を送る際の証明書を準備

Certificates, Identifiers & Profilesにて証明書をつくっておく(開発用と本番用)

AppIDや証明書のつくりかたはこちらを参照。
iOSアプリへのpush通知を実装する方法
 
このとき、キーチェーンアクセスで「認証局に証明書を要求…」の際の通称は英字で(日本語だとamazon snsで登録時にエラーが出る)作成した証明書をp12ファイルとしてかきだして使ってください。(ファイル名は英語で書き出す)

amazon snsでの設定

amazon snsを開いたら、まずはプラットフォームアプリケーションの作成。
スクリーンショット 2018-01-13 7.29.53

・プッシュ通知プラットフォームは「AppleProduction」と開発用の「AppleDevelopment」があるので両方つくっておく
・p12ファイルを書き出して「認証情報をファイルから読込」して保存する

そうすると、このように本番用と開発用のARNが作成されます。これを使ってあとでPHPで処理部分を実装します。アプリケーションのkeyのようなものですね。
スクリーンショット 2018-01-13 7.31.15

SPONSOR

サンプルアプリで試す

まずは実機にamazonSNSのコンパネから直接メッセージが送れるか試してみます。

サンプルアプリの方はApple Push Notification Service の使用開始にある、snsmobilepush.zipをおとしてbundle identifierを変更して使います。

と、ここでXcode8からは、ちょっと設定を変えないとdeviceTokenが取得できません。
参考)Xcode8(Beta2)とiOS10ではremote push通知用のdeviceTokenが取得できず失敗する時のチェック

スクリーンショット 2018-01-24 9.50.27CapabilitiesタブのPush NotificationsをONにします。

そしてサンプルアプリを起動して、プッシュ通知を許可すると成功すればコンソールログにデバイストークンが出力されます。
devicetoken

では、コンパネからメッセージを送ってみましょう。
エンドポイントの追加デバイストークンをもとにエンドポイントを作成します。

次にエンドポイントを選択して、メッセージを送ります。
エンドポイントへの発行

メッセージ送信

無事、プッシュ通知が届いたので成功です。
プッシュ通知成功

事前の設定は多いですが、ここまでスムーズに進められました。次はサーバーサイド(PHP)で実装してプッシュ通知を送る方法を試してみます。

amazon SNSでスマホアプリにプッシュ通知をする方法(PHP編)

  • このエントリーをはてなブックマークに追加
SPONSOR

PROFILE

プロフィール

入江 慎吾/サービス開発だけで生きていく
自分のサービスだけで自由に生きる。勢いで受託開発をすべてやめて、サービスだけ作って生きていくことを決めたフリーのエンジニア。得意を教えて副業にできるMENTAを開発中! (詳しいプロフィール)
WEBサービス・アプリ開発に役立つ情報をイリテクの入江がお届けします。プログラミング、UI/UXデザイン、SNS・ブログマーケティングなど、プロダクト開発だけで自由に生きていくための実践的な情報を配信しています。

PRODUCT

イリテクで開発したプロダクト

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす