Azure Notification Hubs は、バックエンドから複数のモバイル プラットフォームに Push通知を送信ができるサービスです。
モバイルプラットフォームのPush通知はそれぞれ異なる仕組みで行われています。iOSはAPNs(Apple Push Notification Service)、AndroidはGCM(Google Cloud Messaging),FCM(Firebase Cloud Messaging)。
バックエンドでは、Push通知を送信する為に、各プラットフォームの仕組み毎の実装が必要となります。Azure Notification Hubs は、これらを抽象化して簡単に使いやすくしているものです。
Azure Notification Hubs を使用して、iOSとAndroidへPush通知する実装ついて記述していきます。
導入編
まずは、iOSとAndroidのアプリとPushの設定、Notification Hubsの設定を行います。
iOS 準備
APNs(Apple Push Notification Service)を使用する為の、Push証明書の作成を行います。
Apple Push Notification Service
証明書要求(CSR:CertificateSigningRequest)ファイルを作成
4. 証明書要求(CSR:CertificateSigningRequest)のファイルが、ディスクに保存される。
iOS アプリケーションとPush Notificationsを、Apple Developer へ登録
- Apple Developer へログインする
- [Identifiers]->[App IDs]を開き、[add]ボタンをクリック
- アプリケーションの詳細を入力し、[Continue]をクリック
- アプリケーションの登録内容を確認し、[Register]をクリック
- 登録結果が表示されるので、[Done]をクリック
- [Identifiers]->[App IDs]にアプリケーションが追加されるので、クリックして開き、[Edit]をクリック
- [Push Notifications]->[Development SSL Certificate]の[Create Certifivate...]をクリック
- Push Notifications用の証明書(certificate)を作成
- 「Generate your certificate.」の画面で、CSRファイルをアップロード
- ディスクに保存していた、証明書要求(CSR:CertificateSigningRequest)のファイルをアップロード
- Push Notifications用の証明書(certificate)を作成される。
- ディスクに保存
- Finder上で、保存したPush Notifications用の証明書(certificate)をWクリックし、キーチェーンアクセスに追加
- 追加されたPush Notifications用の証明書(certificate)を右クリックメニューから[.[〜を書き出す...]をクリック
- 個人情報交換(.p12)形式の証明書ファイルをディスクに保存
- 証明書ファイルにパスワードを設定
iOS Provisioning Profiles (Development) の登録
- [Provisioning Profiles]->[All]を開き、[add]ボタンをクリック
- [Development]->[iOS App Development]を選択し、[Continue]をクリック
- [App ID]に、先ほど登録したアプリケーションを選択し、[Continue]をクリック
- Provisioning Profile に含める開発者の証明書を選択し、[Continue]をクリック
5. Provisioning Profile に含めるデバイスを選択し、[Continue]をクリック
- [Profile Name] を入力し、[Continue]をクリック
- Provisioning Profile が完成
Android 準備
-
Firebaseで、新規プロジェクトを作成
- [プロジェクト名]を入力し、[国/地域]を選択し、[プロジェクトを作成]をクリック
- [概要]画面で、[Android アプリに Firebase を追加]をクリック
- [パッケージ名]を入力し、[アプリを追加]をクリック
4. [google-services.json]ファイルをディスクに保存
- AndroidStudioのセットアップのチュートリアルが表示されるが、そのまま進み終了する。
- 作成したプロジェクトの設定から、[プロジェクトの設定]をクリック
- [クラウドメッセージ]を開き、サーバーキーを控える
Azure Notification Hubs の作成
-
Azure ポータル で、Notification Hubsを作成
- [Notification Hub][namespace]を入力し、[場所]を選択し、[Resource Group]を指定し、[作成]をクリック
- [リソースグループ]から、作成したリソースグループを開く
- 作成したNotification Hubをクリック
- [Settings]をクリック
- [Notification Services]をクリックし、Apple(APNS),Google(GCM)の設定を行う
- Apple(APNS)の設定
- Google(GCM)の設定
- [Access Policies]をクリックし、[DefaultFullSharedAccessSignature]の文字列を控える
アプリケーションとAzureの設定は以上になります。
次は、実装編になります。