チュートリアル:Azure Notification Hubs を使用して iOS アプリにプッシュ通知を送信するTutorial: Push notifications to iOS apps using Azure Notification Hubs

このチュートリアルでは、Azure Notification Hubs を使用して iOS アプリケーションにプッシュ通知を送信します。In this tutorial, you use Azure Notification Hubs to push notifications to an iOS application. Apple Push Notification Service (APNS) を使用してプッシュ通知を受信する空の iOS アプリを作成します。You create a blank iOS app that receives push notifications by using the Apple Push Notification service (APNs).

このチュートリアルでは、次の手順を実行します。In this tutorial, you take the following steps:

  • 証明書の署名要求ファイルを生成するGenerate the certificate signing request file
  • アプリをプッシュ通知用に要求するRequest your app for push notifications
  • アプリケーションのプロビジョニング プロファイルを作成するCreate a provisioning profile for the app
  • iOS プッシュ通知向けに通知ハブを構成するConfigure your notification hub for iOS push notifications
  • iOS アプリを通知ハブに接続するConnect your iOS app to notification hubs
  • テスト プッシュ通知を送信するSend test push notifications
  • アプリが通知を受信することを確認するVerify that your app receives notifications

このチュートリアルの完成したコードについては、 GitHubを参照してください。The completed code for this tutorial can be found on GitHub.

前提条件Prerequisites

  • アクティブな Azure アカウントアカウントがない場合、Azure 試用版にサインアップして、最大 10 件の無料 Mobile Apps を入手できます。An active Azure account. アカウントがない場合は、数分で無料の Azure アカウントを作成できます。If you don't have an account, you can create a free Azure account in just a couple of minutes.

  • Windows Azure Messaging FrameworkWindows Azure Messaging Framework

  • XcodeLatest version of Xcode

  • iOS 10 (またはこれ以降のバージョン) に対応したデバイスAn iOS 10 (or later version)-capable device

  • Apple Developer Program メンバーシップApple Developer Program membership.

    注意

    プッシュ通知の構成要件により、プッシュ通知のデプロイとテストは、iOS シミュレーターではなく物理 iOS デバイス (iPhone または iPad) で行う必要があります。Because of configuration requirements for push notifications, you must deploy and test push notifications on a physical iOS device (iPhone or iPad) instead of the iOS Simulator.

このチュートリアルを完了することは、iOS アプリケーションの他のすべての Notification Hubs チュートリアルの前提条件です。Completing this tutorial is a prerequisite for all other Notification Hubs tutorials for iOS apps.

証明書の署名要求ファイルを生成するGenerate the certificate-signing request file

Apple Push Notification Service (APNs) では、証明書を使用してプッシュ通知を認証します。The Apple Push Notification Service (APNs) uses certificates to authenticate your push notifications. 次の手順に従って、通知を送受信するために必要なプッシュ証明書を作成します。Follow these instructions to create the necessary push certificate to send and receive notifications. これらの概念の詳細については、Apple Push Notification Service の公式ドキュメントを参照してください。For more information on these concepts, see the official Apple Push Notification Service documentation.

証明書署名要求 (CSR) ファイルを生成します。これは、Apple が署名済みのプッシュ証明書を生成するために使用します。Generate the Certificate Signing Request (CSR) file, which Apple uses to generate a signed push certificate.

  1. Mac で、キーチェーン アクセス ツールを実行します。On your Mac, run the Keychain Access tool. これは、Launchpad のユーティリティ フォルダーまたはその他フォルダーから開くことができます。It can be opened from the Utilities folder or the Other folder on the Launchpad.

  2. [キーチェーン アクセス] を選択し、 [証明書アシスタント] を展開して、 [認証局に証明書を要求] を選択します。Select Keychain Access, expand Certificate Assistant, and then select Request a Certificate from a Certificate Authority.

    Keychain Access を使用して新しい証明書を要求する

  3. [ユーザーのメール アドレス] を選択し、 [通称] の値を入力します。 [ディスクに保存] を指定したことを確認してから、 [続ける] を選択します。Select your User Email Address, enter your Common Name value, make sure that you specify Saved to disk, and then select Continue. [CA のメール アドレス] は、必要がないため空白のままにします。Leave CA Email Address blank as it isn't required.

    必要な証明書情報

  4. [名前] に CSR ファイルの名前を入力し、 [場所] で保存先を選択してから、 [保存] を選択します。Enter a name for the CSR file in Save As, select the location in Where, and then select Save.

    証明書のファイル名を選択する

    このアクションにより、選択した場所に CSR ファイルが保存されます。This action saves the CSR file in the selected location. 既定の場所は [デスクトップ] です。The default location is Desktop. ファイル用に選択した場所を忘れないでください。Remember the location chosen for the file.

次に、アプリを Apple に登録し、プッシュ通知を有効にして、エクスポートした CSR をアップロードしてプッシュ証明書を作成します。Next, register your app with Apple, enable push notifications, and upload the exported CSR to create a push certificate.

アプリケーションをプッシュ通知に登録するRegister your app for push notifications

通知を iOS アプリにプッシュするには、アプリケーションを Apple に登録すると共に、プッシュ通知にも登録します。To push notifications to an iOS app, register your application with Apple and also register for push notifications.

  1. ご自分のアプリをまだ登録していない場合は、Apple Developer Center の iOS Provisioning Portal に移動します。If you haven't already registered your app, browse to the iOS Provisioning Portal at the Apple Developer Center. その後、Apple ID を使ってサインインし、 [Identifiers](識別子)[App IDs](アプリ ID) の順に選択します。最後に + を選択して、新しいアプリを登録します。After that, sign in with your Apple ID, select Identifiers, select App IDs, and finally select + to register a new app.

    iOS Provisioning Portal の [App IDs](アプリ ID) ページ

  2. 新しいアプリで次の 3 つの値を更新してから、 [Continue](続行) を選択します。Update the following three values for your new app, and then select Continue:

    • [名前] : [App ID Description](アプリ ID の説明) セクションの [Name](名前) ボックスに、アプリのわかりやすい名前を入力します。Name: Type a descriptive name for your app in the Name box in the App ID Description section.

    • [Bundle Identifier](バンドル識別子) : [Explicit App ID](明示的なアプリ ID) セクションで、アプリ ディストリビューション ガイドの説明のとおりに <Organization Identifier>.<Product Name> の形式でバンドル識別子を入力します。Bundle Identifier: In the Explicit App ID section, enter a Bundle Identifier of the form <Organization Identifier>.<Product Name> as mentioned in the App Distribution Guide. <組織 ID> と <製品名> の値は Xcode プロジェクトを作成する際に使用する組織 ID と製品名に一致させる必要があります。The Organization Identifier and Product Name values must match the organization identifier and product name you use when you create your Xcode project. 次のスクリーンショットでは、NotificationHubs という値が組織 ID として使用され、GetStarted という値が製品名として使用されています。In the following screenshot, the NotificationHubs value is used as an organization identifier and the GetStarted value is used as the product name. Xcode で正しい発行プロファイルが使用されるように、 [Bundle Identifier](バンドル識別子) の値はご自分の Xcode プロジェクトの値と一致させるようにしてください。Make sure the Bundle Identifier value matches the value in your Xcode project, so that Xcode will use the correct publishing profile.

    • [Push Notifications](プッシュ通知) : [App Services](アプリ サービス) セクションの [Push Notifications](プッシュ通知) オプションを選択します。Push Notifications: Check the Push Notifications option in the App Services section.

      新しいアプリ ID を登録するフォーム

      このアクションにより、アプリ ID が生成され、その情報を確認するよう求められます。This action generates your App ID and requests that you confirm the information. [Register](登録) を選択して、新しいアプリ ID を確定します。Select Register to confirm the new App ID.

      [Register](登録) を選択すると、次の図のような [Registration complete](登録完了) 画面が表示されます。After you select Register, you see the Registration complete screen as shown in the following image. [完了] を選択します。Select Done.

      エンタイトルメントが表示されるアプリ ID の登録完了

  3. Developer Center にある [App ID](アプリ ID) で、自分が作成したアプリ ID を見つけ、その行を選択します。In the Developer Center, under App IDs, locate the app ID that you created and select its row.

    アプリ ID リスト

    アプリ ID を選択してアプリの詳細を表示し、下部にある [Edit](編集) ボタンを選択します。Select the app ID to display the app details, and then select the Edit button at the bottom.

    アプリ ID の編集ページ

  4. 画面の下部までスクロールし、 [Development Push SSL Certificate](開発プッシュ SSL 証明書) セクションの [Create Certificate](証明書の作成) ボタンを選択します。Scroll to the bottom of the screen and select the Create Certificate button under the Development Push SSL Certificate section.

    アプリ ID の証明書の作成ボタン

    ここで [Add iOS Certificate](iOS 証明書の追加) アシスタントが表示されます。You now see the Add iOS Certificate assistant.

    注意

    このチュートリアルでは開発証明書を使用します。This tutorial uses a development certificate. 運用証明書の場合も同じ処理を行います。The same process is used when registering a production certificate. 通知の送信と同じ証明書の種類を使用するようにします。Just make sure that you use the same certificate type when sending notifications.

  5. [Choose File](ファイルの選択) を選択して、最初の作業で CSR ファイルを保存した場所に移動し、 [Generate](生成) を選択します。Select Choose File, browse to the location where you saved the CSR file from the first task, and then select Generate.

    生成された証明書の CSR アップロード ページ

  6. ポータルで証明書が作成されたら、 [Download](ダウンロード) ボタンを選択してから [Done](完了) を選択します。After the portal creates the certificate, select the Download button and then select Done.

    生成された証明書のダウンロード ページ

    証明書がダウンロードされ、自分のコンピューターのダウンロード フォルダーに保存されます。The certificate is downloaded and saved to your computer in your Downloads folder.

    Downloads フォルダーの証明書ファイルを見つける

    注意

    既定では、ダウンロードした開発証明書の名前は aps_development.cer になっています。By default, the downloaded development certificate is named aps_development.cer.

  7. ダウンロードしたプッシュ証明書 aps_development.cer を選択します。Select the downloaded push certificate aps_development.cer.

    このアクションで、以下の図のように、新しい証明書がキーチェーンにインストールされます:This action installs the new certificate in the Keychain, as shown in the following image:

    新しい証明書が表示されたキーチェーン アクセス証明書リスト

    注意

    証明書の名前は場合によって異なりますが、名前の前には Apple Development iOS Push Services が付けられます。Although the name in your certificate might be different, the name will be prefixed with Apple Development iOS Push Services.

  8. Keychain Access の [Certificates] カテゴリで、作成した新しいプッシュ証明書を右クリックします。In Keychain Access, right-click the new push certificate that you created in the Certificates category. [書き出す] を選択し、ファイルに名前を付けて、 .p12 形式を選択します。次に、 [保存] を選択します。Select Export, name the file, select the .p12 format, and then select Save.

    p12 形式として証明書をエクスポートする

    エクスポートした .p12 証明書のファイル名と場所を書き留めます。Make a note of the file name and location of the exported .p12 certificate. これらは、APNs での認証を有効にするために使用されます。They are used to enable authentication with APNs.

    注意

    このチュートリアルでは、QuickStart.p12 という名前のファイルを作成します。This tutorial creates a file named QuickStart.p12. ファイル名と場所は同じである必要はありません。Your file name and location might be different.

アプリケーションのプロビジョニング プロファイルを作成するCreate a provisioning profile for the app

  1. iOS Provisioning Portal で、 [Provisioning Profiles](プロビジョニング プロファイル) を選択し、 [All](すべて) を選択してから、 + を選択して新しいプロファイルを作成します。In the iOS Provisioning Portal, select Provisioning Profiles, select All, and then select + to create a new profile. [Add iOS Provisiong Profile](iOS プロビジョニング プロファイルの追加) ウィザードが表示されます。You see the Add iOS Provisioning Profile wizard.

    プロビジョニング プロファイル リスト

  2. [Development](開発) でプロビジョニング プロファイルの種類として [iOS App Development](iOS アプリ開発) を選択し、 [Continue](続行) を選択します。Select iOS App Development under Development as the provisioning profile type, and select Continue.

  3. 次に、 [App ID](アプリ ID) ドロップダウン リストで、自分が作成したアプリ ID を選択し、 [Continue](続行) を選択します。Next, select the app ID you created from the App ID drop-down list, and select Continue.

    アプリ ID を選択する

  4. [Select certificates](証明書の選択) ウィンドウで、コード署名に使用した通常の開発証明書を選択して、 [Continue](続行) を選択します。In the Select certificates window, select your usual development certificate that you used for code signing, and select Continue. この証明書は、作成したプッシュ証明書ではありません。This certificate isn't the push certificate you created.

    証明書を選択する

  5. 次に、テストに使用するデバイスを選択し、 [Continue](続行) を選択します。Next, select the devices to use for testing, and select Continue.

    デバイスを選択する

  6. 最後に、 [Profile Name](プロファイル名) でプロファイルの名前を選択し、 [Generate](生成) を選択します。Finally, pick a name for the profile in Profile Name, and select Generate.

    プロビジョニング プロファイル名を選択する

  7. 新しいプロビジョニング プロファイルが作成されたら、それをダウンロードして Xcode の開発用マシンにインストールすることを選択します。When the new provisioning profile is created, choose to download and install it on your Xcode development machine. [完了] を選択します。Then select Done.

    プロビジョニング プロファイルをダウンロードする

通知ハブを作成するCreate a notification hub

このセクションでは、前に作成した .p12 プッシュ証明書を使用して、通知ハブを作成し、APNs での認証を構成します。In this section, you create a notification hub and configure authentication with APNs by using the .p12 push certificate that you previously created. 既に作成した通知ハブを使用する場合は、手順 5. に進んでください。If you want to use a notification hub that you've already created, you can skip to step 5.

  1. Azure Portal にサインインします。Sign in to the Azure portal.

  2. 左側のメニューで [すべてのサービス] を選択し、 [モバイル] セクションの [Notification Hubs] を選択します。Select All services on the left menu, and then select Notification Hubs in the Mobile section. サービス名の横にある星のアイコンを選択して、左側のメニューにある [お気に入り] セクションにサービスを追加します。Select the star icon next to the service name to add the service to the FAVORITES section on the left menu. Notification Hubs[お気に入り] に追加した後、左側のメニューでそれを選択します。After you add Notification Hubs to FAVORITES, select it on the left menu.

    Azure portal - Notification Hubs を選択する

  3. [Notification Hubs] ページで、ツール バーの [追加] を選択します。On the Notification Hubs page, select Add on the toolbar.

    Notification Hubs - [追加] ツール バー ボタン

  4. [Notification Hub] ページで、次の手順のようにします。On the Notification Hub page, do the following steps:

    1. [通知ハブ] に名前を入力します。Enter a name in Notification Hub.

    2. [新しい名前空間の作成] に名前を入力します。Enter a name in Create a new namespace. 名前空間には、少なくとも 1 つのハブが存在します。A namespace contains one or more hubs.

    3. [場所] ドロップダウン リスト ボックスで値を選択します。Select a value from the Location drop-down list box. この値には、ハブを作成する場所を指定します。This value specifies the location in which you want to create the hub.

    4. [リソース グループ] で既存のリソース グループを選択します。または、新しいリソース グループに名前を作成します。Select an existing resource group in Resource Group, or create a name for a new resource group.

    5. 作成 を選択します。Select Create.

      Azure Portal - 通知ハブのプロパティを設定

  5. [通知] (ベルのアイコン) を選択し、 [リソースに移動] を選択します。Select Notifications (the bell icon), and then select Go to resource. [Notification Hubs] ページの一覧を最新の情報に更新して、お使いの通知ハブを選択することもできます。You can also refresh the list on the Notification Hubs page and select your hub.

    Azure Portal > [通知] > [リソースに移動]

  6. リストから [アクセス ポリシー] を選択します。Select Access Policies from the list. 使用可能な 2 つの接続文字列を書き留めてください。Note that the two connection strings are available to you. これらは、後でプッシュ通知を処理するために必要になります。You'll need them later to handle push notifications.

    重要

    DefaultFullSharedAccessSignature ポリシーはアプリケーションで使用 "しない" でください。Do not use the DefaultFullSharedAccessSignature policy in your application. これの使用が意図されているのはバックエンドだけです。This is meant to be used in your back end only.

    Azure Portal - 通知ハブの接続文字列

APNs 情報を使用して通知ハブを構成するConfigure your notification hub with APNs information

  1. [Notification Services] で、 [Apple (APNS)] を選択します。Under Notification Services, select Apple (APNS).

  2. [Certificate] を選択します。Select Certificate.

  3. ファイル アイコンを選択します。Select the file icon.

  4. 先ほどエクスポートした .p12 ファイルを選択します。Select the .p12 file that you exported earlier.

  5. 正しいパスワードを指定します。Specify the correct password.

  6. [サンドボックス] モードを選択します。Select Sandbox mode. [Production] (運用) モードは、ストアからアプリを購入したユーザーにプッシュ通知を送信する場合にのみ使用します。Use the Production mode only if you want to send push notifications to users who purchased your app from the store.

    Azure portal で APNs 証明書を構成する

これで、APNs での通知ハブの構成が完了しました。You've now configured your notification hub with APNs. 接続文字列を使用してアプリを登録し、プッシュ通知を送信することもできます。You also have the connection strings to register your app and send push notifications.

Notification Hubs に iOS アプリケーションを接続するConnect your iOS app to Notification Hubs

  1. Xcode で、新しい iOS プロジェクトを作成し、 [Single View Application] テンプレートを選択します。In Xcode, create a new iOS project and select the Single View Application template.

    Xcode - Single View Application

  2. 新しいプロジェクトのオプションを設定する際には、Apple Developer ポータルでバンドル ID を設定したときと同じ製品名組織識別子を使用してください。When setting the options for your new project, make sure to use the same Product Name and Organization Identifier that you used when you set the bundle identifier in the Apple Developer portal.

    Xcode - project options

  3. プロジェクト ナビゲーターでプロジェクト名をクリックし、 [全般] タブをクリックし、 [署名] を探します。Under Project Navigator, click your project name, click the General tab, and find Signing. Apple Developer アカウントに適したチームを選択します。Make sure you select the appropriate Team for your Apple Developer account. XCode を選択すると、バンドル識別子に基づいて以前に作成したプロビジョニング プロファイルが自動的に表示されます。XCode should automatically pull down the Provisioning Profile you created previously based on your bundle identifier.

    Xcode で作成した新しいプロビジョニング プロファイルが表示されない場合は、署名 ID のプロファイルを更新してみてください。If you don't see the new provisioning profile that you created in Xcode, try refreshing the profiles for your signing identity. メニュー バーの Xcode をクリックし、 [Preference (ユーザー設定)][Account (アカウント)] タブ、 [View Details (詳細の表示)] ボタンの順にクリックします。次に、署名 ID をクリックし、右下隅にある更新ボタンをクリックします。Click Xcode on the menu bar, click Preferences, click the Account tab, click the View Details button, click your signing identity, and then click the refresh button in the bottom-right corner.

    Xcode - provisioning profile

  4. [機能] タブを選択し、プッシュ通知を有効にします。Select the Capabilities tab and make sure to enable Push Notifications

    Xcode - プッシュ機能

  5. Azure Notification Hubs SDK モジュールを追加します。Add the Azure Notification Hubs SDK modules.

    Cocoapods を使用して、またはバイナリをプロジェクトに手動で追加して、アプリに Azure Notification Hubs SDK を統合することができます。You can integrate the Azure Notification Hubs SDK in your app by using Cocoapods or by manually adding the binaries to your project.

    • Cocoapods による統合Integration via Cocoapods

      次の依存関係を podfile に追加して、アプリに Azure Notification Hubs SDK を組み込みます。Add the following dependencies to your podfile to include Azure Notification Hubs SDK into your app.

      pod 'AzureNotificationHubs-iOS'
      

      pod install を実行して新しく定義したポッドをインストールし、.xcworkspace を開きます。Run pod install to install your newly defined pod and open your .xcworkspace.

      注意

      [!] Unable to find a specification for `AzureNotificationHubs-iOS` のようなエラーが pod install の実行中に表示される場合は、pod repo update を実行して Cocoapods リポジトリから最新のポッドを取得した後、pod install を実行してください。If you see an error like [!] Unable to find a specification for `AzureNotificationHubs-iOS` while running pod install, please run pod repo update to get the latest pods from the Cocoapods repository and then run pod install.

    • Carthage による統合Integration via Carthage

      次の依存関係を Cartfile に追加して、アプリに Azure Notification Hubs SDK を組み込みます。Add the following dependencies to your Cartfile to include Azure Notification Hubs SDK into your app.

      github "Azure/azure-notificationhubs-ios"
      

      次に、依存関係を更新してビルドします。Next, update, and build dependencies:

      $ carthage update
      

      Carthage の使用について詳しくは、Carthage GitHub リポジトリをご覧ください。For more information about using Carthage, see the Carthage GitHub repository.

    • バイナリをプロジェクトにコピーすることによる統合Integration by copying the binaries into your project

      1. zip ファイルとして提供されいるり Azure Notification Hubs SDK フレームワークをダウンロードして、解凍します。Download the Azure Notification Hubs SDK framework provided as a zip file and unzip it.

      2. Xcode でプロジェクトを右クリックして [Add Files to (ファイルの追加先)] オプションをクリックし、Xcode プロジェクトに WindowsAzureMessaging.framework フォルダーを追加します。In Xcode, right-click your project and click the Add Files to option to add the WindowsAzureMessaging.framework folder to your Xcode project. [オプション] を選択し、 [Copy items if needed](必要に応じてアイテムをコピーする) をオンにして [追加] をクリックします。Select Options and make sure Copy items if needed is selected, and then click Add.

        Unzip Azure SDK

  6. HubInfo.hという名前の新しいヘッダー ファイルをプロジェクトに追加します。Add a new header file to your project named HubInfo.h. このファイルは、通知ハブの定数を保持します。This file holds the constants for your notification hub. 次の定義を追加し、文字列リテラルのプレースホルダーをハブ名とメモしておいた DefaultListenSharedAccessSignature に置き換えます。Add the following definitions and replace the string literal placeholders with your hub name and the DefaultListenSharedAccessSignature noted earlier.

    #ifndef HubInfo_h
    #define HubInfo_h
    
        #define HUBNAME @"<Enter the name of your hub>"
        #define HUBLISTENACCESS @"<Enter your DefaultListenSharedAccess connection string"
    
    #endif /* HubInfo_h */
    
  7. AppDelegate.h ファイルを開き、次の import ディレクティブを追加します。Open your AppDelegate.h file add the following import directives:

    #import <WindowsAzureMessaging/WindowsAzureMessaging.h>
    #import <UserNotifications/UserNotifications.h>
    #import "HubInfo.h"
    
  8. AppDelegate.m ファイルで、iOS のバージョンに基づいて didFinishLaunchingWithOptions メソッド内に次のコードを追加します。In your AppDelegate.m file, add the following code in the didFinishLaunchingWithOptions method based on your version of iOS. このコードにより、APNs にデバイス ハンドルが登録されます。This code registers your device handle with APNs:

    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeSound |
        UIUserNotificationTypeAlert | UIUserNotificationTypeBadge categories:nil];
    
    [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
    [[UIApplication sharedApplication] registerForRemoteNotifications];
    
  9. 同じファイルで、次のメソッドを追加します。In the same file, add the following methods:

        - (void) application:(UIApplication *) application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *) deviceToken {
        SBNotificationHub* hub = [[SBNotificationHub alloc] initWithConnectionString:HUBLISTENACCESS
                                    notificationHubPath:HUBNAME];
    
        [hub registerNativeWithDeviceToken:deviceToken tags:nil completion:^(NSError* error) {
            if (error != nil) {
                NSLog(@"Error registering for notifications: %@", error);
            }
            else {
                [self MessageBox:@"Registration Status" message:@"Registered"];
            }
        }];
        }
    
    -(void)MessageBox:(NSString *) title message:(NSString *)messageText
    {
        UIAlertController *alert = [UIAlertController alertControllerWithTitle:title message:messageText preferredStyle:UIAlertControllerStyleAlert];
        UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil];
        [alert addAction:okAction];
        [[[[UIApplication sharedApplication] keyWindow] rootViewController] presentViewController:alert animated:YES completion:nil];
    }
    

    このコードは、HubInfo.h に指定した接続情報を使用して通知ハブに接続します。This code connects to the notification hub using the connection information you specified in HubInfo.h. その後、通知ハブが通知を送信できるように、通知ハブにデバイス トークンを指定します。It then gives the device token to the notification hub so that the notification hub can send notifications.

  10. 同じファイルで次のメソッドを追加し、アプリケーションがアクティブのときに通知を受信した場合に UIAlert が表示されるようにします。In the same file, add the following method to display a UIAlert if the notification is received while the app is active:

    - (void)application:(UIApplication *)application didReceiveRemoteNotification: (NSDictionary *)userInfo {
        NSLog(@"%@", userInfo);
        [self MessageBox:@"Notification" message:[[userInfo objectForKey:@"aps"] valueForKey:@"alert"]];
    }
    
  11. エラーがないことを確認するために、デバイスでアプリをビルドして実行します。To verify there are no failures, build and run the app on your device.

テスト プッシュ通知を送信するSend test push notifications

アプリの通知の受信をテストするには、Azure Portal[テスト送信] オプションを使用します。You can test receiving notifications in your app with the Test Send option in the Azure portal. これは、デバイスにテスト プッシュ通知を送信します。It sends a test push notification to your device.

Azure Portal - テスト送信

プッシュ通知は通常、互換性のあるライブラリを使用して Mobile Apps などのバックエンド サービスや ASP.NET に送信されます。Push notifications are normally sent in a back-end service like Mobile Apps or ASP.NET using a compatible library. ライブラリがバックエンドに使用できない場合は、REST API を直接使用して通知メッセージを送信することもできます。If a library isn't available for your back end, you can also use the REST API directly to send notification messages.

通知の送信方法を確認できるチュートリアルの一覧を次に示します。Here is a list of some other tutorials you might want to review for sending notifications:

アプリがプッシュ通知を受信することを確認するVerify that your app receives push notifications

iOS でプッシュ通知をテストするには、物理 iOS デバイスにアプリをデプロイする必要があります。To test push notifications on iOS, you must deploy the app to a physical iOS device. iOS シミュレーターを使用して Apple のプッシュ通知を送信することはできません。You cannot send Apple push notifications by using the iOS Simulator.

  1. アプリケーションを実行して登録が成功したことを確認したら、 [OK] を押します。Run the app and verify that registration succeeds, and then press OK.

    iOS App Push Notification Registration Test

  2. 次に、前のセクションで説明されているように、Azure Portal からテスト プッシュ通知を送信します。Next you send a test push notification from the Azure portal, as described in the previous section.

  3. 特定の通知ハブから通知を受信するように登録されているすべてのデバイスにプッシュ通知が送信されます。The push notification is sent to all devices that are registered to receive the notifications from the particular Notification Hub.

    iOS App Push Notification Receive Test

次の手順Next steps

この簡単な例では、すべての登録済み iOS デバイスにプッシュ通知をブロードキャストしました。In this simple example, you broadcasted push notifications to all your registered iOS devices. 特定の iOS デバイスにプッシュ通知を送信する方法を学習するには、次のチュートリアルに進んでください。To learn how to push notifications to specific iOS devices, advance to the following tutorial: