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

Azure Notification Hubsを使用してiOSとAndroidにPush通知を行う (1) ~導入編~

More than 1 year has passed since last update.

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)ファイルを作成

  1. キーチェーンアクセス で、[証明書アシスタント]->[認証局に証明書を要求...]をクリック
    2016_09_13_16_50_23.png

  2. [ユーザーのメールアドレス][通称]を入力、[要求の処理]は、[ディスクに保存]を選択し、[続ける]をクリック
    2016_09_13_16_53_00.png

  3. [名前]と[保存先]を確認して保存する。
    2016_09_13_16_55.png

4. 証明書要求(CSR:CertificateSigningRequest)のファイルが、ディスクに保存される。
 2016_09_13_16_56.png

iOS アプリケーションとPush Notificationsを、Apple Developer へ登録

  1. Apple Developer へログインする
  2. [Identifiers]->[App IDs]を開き、[add]ボタンをクリック 2016_09_13_16_57.png
  3. アプリケーションの詳細を入力し、[Continue]をクリック
    • [App ID Description]を入力
    • [App ID Prefix]を選択
    • [App ID Suffix]->[Explicit App ID]->[Bundle ID]を入力
    • [App Services]->[Push Notifications]をチェック 2016_09_13_16_59.png
  4. アプリケーションの登録内容を確認し、[Register]をクリック 2016_09_13_16_60.png
  5. 登録結果が表示されるので、[Done]をクリック 2016_09_13_17_00.png
  6. [Identifiers]->[App IDs]にアプリケーションが追加されるので、クリックして開き、[Edit]をクリック 2016_09_13_17_12.png
  7. [Push Notifications]->[Development SSL Certificate]の[Create Certifivate...]をクリック 2016_09_13_17_20.png
  8. Push Notifications用の証明書(certificate)を作成
    • [Continue]をクリック 2016_09_13_17_30.png
  9. 「Generate your certificate.」の画面で、CSRファイルをアップロード
    • [Choose File...]をクリック 2016_09_13_17_40.png
  10. ディスクに保存していた、証明書要求(CSR:CertificateSigningRequest)のファイルをアップロード 2016_09_13_17_50.png
  11. Push Notifications用の証明書(certificate)を作成される。
    • [Download]をクリック 2016_09_13_17_60.png
  12. ディスクに保存 2016_09_13_17_70.png
  13. Finder上で、保存したPush Notifications用の証明書(certificate)をWクリックし、キーチェーンアクセスに追加 2016_09_13_17_80.png
  14. 追加されたPush Notifications用の証明書(certificate)を右クリックメニューから[.[〜を書き出す...]をクリック 2016_09_13_17_81.png
  15. 個人情報交換(.p12)形式の証明書ファイルをディスクに保存 2016_09_13_17_90.png
  16. 証明書ファイルにパスワードを設定 2016_09_13_18_00.png

iOS Provisioning Profiles (Development) の登録

  1. [Provisioning Profiles]->[All]を開き、[add]ボタンをクリック 2016_09_13_19_00.png
  2. [Development]->[iOS App Development]を選択し、[Continue]をクリック 2016_09_13_19_10.png
  3. [App ID]に、先ほど登録したアプリケーションを選択し、[Continue]をクリック 2016_09_13_19_20.png
  4. Provisioning Profile に含める開発者の証明書を選択し、[Continue]をクリック 2016_09_13_19_30.png 5. Provisioning Profile に含めるデバイスを選択し、[Continue]をクリック 2016_09_13_19_40.png
  5. [Profile Name] を入力し、[Continue]をクリック 2016_09_13_19_50.png
  6. Provisioning Profile が完成 2016_09_13_19_60.png

Android 準備

  1. Firebaseで、新規プロジェクトを作成 2016_09_14_15_01.png
  2. [プロジェクト名]を入力し、[国/地域]を選択し、[プロジェクトを作成]をクリック
  3. [概要]画面で、[Android アプリに Firebase を追加]をクリック 2016_09_14_15_04.png
  4. [パッケージ名]を入力し、[アプリを追加]をクリック 2016_09_14_15_05.png 4. [google-services.json]ファイルをディスクに保存 2016_09_14_15_11.png
  5. AndroidStudioのセットアップのチュートリアルが表示されるが、そのまま進み終了する。
  6. 作成したプロジェクトの設定から、[プロジェクトの設定]をクリック 2016_09_14_15_17.png
  7. [クラウドメッセージ]を開き、サーバーキーを控える 2016_09_14_15_19.png

Azure Notification Hubs の作成

  1. Azure ポータル で、Notification Hubsを作成 2016_09_14_15_21.png
  2. [Notification Hub][namespace]を入力し、[場所]を選択し、[Resource Group]を指定し、[作成]をクリック 2016_09_14_15_28.png
  3. [リソースグループ]から、作成したリソースグループを開く 2016_09_14_15_54.png
  4. 作成したNotification Hubをクリック 2016_09_14_15_56.png
  5. [Settings]をクリック 2016_09_14_15_57.png
  6. [Notification Services]をクリックし、Apple(APNS),Google(GCM)の設定を行う 2016_09_14_16_00.png
  7. Apple(APNS)の設定
    1. [Upload Cerification]をクリックし 2016_09_14_16_02.png
    2. Push Notifications用の証明書(.p12)ファイルをアップロード 2016_09_14_16_04.png
    3. [Password]を入力、[Mode]は[Sandbox]を選択し、[Save]をクリック 2016_09_14_16_06.png
  8. Google(GCM)の設定
    1. [API Key]に、Firebaseのクラウドメッセージのサーバーキーを入力し、[Save]をクリック 2016_09_14_16_09.png
  9. [Access Policies]をクリックし、[DefaultFullSharedAccessSignature]の文字列を控える 2016_09_14_16_12.png

アプリケーションとAzureの設定は以上になります。
次は、実装編になります。

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
ユーザーは見つかりませんでした