コツコツ

デザインやプログラミングについて学べる8bitspell.comの運営者のブログです。IT以外のことでも、思ったことをつらつらと書いていきます。

Amazon Web Service (AWS)のSNSを使ってiOSにプッシュを送ってみた 【Apple Developer Center編 その1】

f:id:takafoo:20161105040535p:plain

開発中のアプリでプッシュ通知を送る必要があり色々調べていたところ、 Amazon Wev Service (AWS)SNSというサービスを利用するのが簡単だということがわかりました。しかし、証明書の発行やトークンの取得だったりとやることが多すぎて忘れてしまう可能性があるため、覚書のような感じで記事を書きました。

全3回 に渡ってApple Developer Centerでの証明書の発行からSNSの設定、プッシュの送信までを書いていきたいと思います。

やらなくてはいけないことリスト

以下がプッシュ通知ができるようになるまでの手順です。

[ Apple Developer Centerやること ]

  1. App IDの作成
  2. SSL証明書の作成
  3. Provisioning Profilesの作成

[ Xcode ]

  1. サンプルアプリの作成
  2. Provisioning Profilesの割当て
  3. DeviceTokenを取得するコードを追加

[ AWS SNSでやること]

  1. Platform applicationの作成
  2. Endpointの作成
  3. プッシュ送信の確認

APP IDの作成

まずは、developer.apple.comに移動してログインをします。 左側のメニューからCertificates,IDs & Profilesをクリックします。

f:id:takafoo:20161105033253j:plain


IdentifiersからApp IDsをクリックします。

f:id:takafoo:20161105034212j:plain


右上にある「+」をクリックします。

f:id:takafoo:20161105034226j:plain


App IDの登録画面になるので、必要な情報を入力していきます。 App ID DescriptionはこのAPP IDの簡単な説明でわかりやすい名前をつけてください。

f:id:takafoo:20161105034239j:plain


Explicit App IDを選択して、Bundle IDを入力します。一般的には自分の所有するドメイン名を逆にしてアプリ名を追加した形になります。たとえば、taka.usの場合はus.taka.アプリ名になります。また、ここに入力したIDと後ほどXcode上で作成したプロジェクトのIDを一致させる必要があります。

f:id:takafoo:20161105034251j:plain


App Services の項目に移動します。ここでは、使用したいサービスにチェックを入れることでアプリでその機能を有効化することができます。今回は通知サービスを使いたいので、Push Notificationsにチェックをいれます。次にContineボタンをクリックします。

f:id:takafoo:20161105034513j:plain


App IDの確認画面からアプリの設定一覧が表示されます。Push Notificatonsの項目がConfigurableになっていると思います。まだ、この状態では有効になっていませんが、気にせず RegisterをクリックしてApp IDを登録しましょう。

f:id:takafoo:20161105034825j:plain

SSL証明書の作成

プッシュ通知を有効化するためにSSL証明書を作成します。作り方は非常に簡単です。 標準でインストールされているキーチェーンアクセスというアプリを起動します。

f:id:takafoo:20161105035314p:plain


上部メニューからキーチェーンアクセス証明書アシスタント認証局に証明書を要求をクリックします。 f:id:takafoo:20161105035430p:plain


作成用のウィザードが表示されるの各情報を入力します。ユーザーのメールアドレスはDeveloperプログラムに登録しているものを入力しておきましょう。 通称は何でも構いません。また、CAのメールアドレスは入力しなくて大丈夫です。 ディスクに保存にチェックを付けて続けるをクリックします。 f:id:takafoo:20161105035547p:plain


任意の場所を選択して証明書を保存します。これから複数の証明書を扱うことになるので、アプリごとに証明書を保管するディレクトリを作成することをおすすめします。 f:id:takafoo:20161105035648p:plain


作成した証明書をDeveloper Center にアップロードしていきます。

App IDsをクリックして、先ほど作成したApp IDを選択します。 f:id:takafoo:20161105035738j:plain


Editをクリックします。 f:id:takafoo:20161105035823j:plain


Push NotificationsからCreate Certificateをクリック f:id:takafoo:20161105035918j:plain


Continueをクリック f:id:takafoo:20161105040015p:plain


Choose Fileをクリックして、先ほど生成した証明書を選択します。 証明書を選択したら、Continueをクリックして次に進みます

f:id:takafoo:20161105040118p:plain


プッシュ通知用の証明書が生成されるので、わかりやすい場所に証明書をダウンロードします。 Doneをクリックして次にすすみましょう。 f:id:takafoo:20161105040235p:plain


App IDsからこのApp IDを確認してみましょう。 Push NotificationsDevelopmentEnabledになっているのが確認できると思います。 f:id:takafoo:20161105040340p:plain