Windows ユニバーサル アプリの Azure Mobile Engagement の概要

このトピックでは、アプリの使用状況を理解して、プッシュ通知を Windows ユニバーサル アプリケーションのセグメント化されたユーザーに送信するために、Azure モバイル エンゲージメントの使用方法を説明します。 このチュートリアルでは、モバイル エンゲージメントを使用した簡単なブロードキャスト シナリオのデモンストレーションを行います。 基本的なアプリ使用状況データを収集し、Windows 通知サービス (WNS) を使用してプッシュ通知を受信する空の Windows ユニバーサル アプリを作成します。

前提条件

このチュートリアルには、次のものが必要です。

重要

このチュートリアルは、Visual Studio 15 の使用を前提としています。 Visual Studio 13 を使用することもできますが、ユーザー インターフェイスはこのチュートリアルのものとは少し異なります。

 

メモ

このチュートリアルを完了するには、アクティブな Azure アカウントが必要です。 アカウントがない場合は、無料試用版のアカウントを数分で作成することができます。 詳細については、 Azure の無料試用版サイトを参照してください。

Windows ユニバーサル アプリの Mobile Engagement の設定

  1. Azure ポータルにログオンします。
  2. [新規][Web + モバイル][Mobile Engagement] の順にクリックします。

  3. 表示される [New Mobile Engagement App Collection (新しい Mobile Engagement アプリ コレクション)] ブレードで、Azure クラシック ポータルで作成するように、アプリではなくアプリ コレクションを作成します。 次の情報を入力します。

    • 名前: 名前 of your アプリケーション コレクション
    • プラットフォーム: クリックすると開く [プラットフォーム] ブレードでアプリのターゲット プラットフォームを選択します。 例: アプリを iOS と Android の両方に対応させる場合は、両方のプラットフォームを選択すると、このアプリ コレクションの下に 2 つのアプリが作成されます。

    • サブスクリプション: Azure サブスクリプションを選択します。
    • リソース グループ: この Azure リソース (Mobile Engagement アプリ コレクション) を追加する Azure リソース グループを選択します。 新しいリソース グループを作成することもできます。
    • 場所: このアプリ コレクションとアプリについてのデータが格納されるリージョン。
  4. [参照] をクリックし、"Mobile Engagement" を検索して Mobile Engagement アプリ コレクションを参照します。

  5. Mobile Engagement アプリ コレクションの一覧が表示されるので、アプリ コレクションを作成した同じ Azure サブスクリプションがあることを確認します。

  6. 前の手順で作成したアプリ コレクションをクリックして、アプリ コレクション リソースのブレードを開きます。ブレードには、このアプリ コレクション内に存在するさまざまなアプリが表示されます。

  7. 開発対象とするプラットフォーム向けに作成したアプリをクリックします。

  8. 上部の [接続情報] コマンド ボタンをクリックして [接続情報] ブレードを開き、そこに表示される接続文字列をコピーします。

アプリを Mobile Engagement のバックエンドに接続します

このチュートリアルでは、データを収集してプッシュ通知を送信するために必要な最小限のセットである「基本的な統合」について説明します。 完全な統合のドキュメントについては、「 Mobile Engagement Windows ユニバーサル SDK の統合」を参照してください。

統合の実例を示すために、Visual Studio で基本的なアプリを作成します。

Windows ユニバーサル アプリ プロジェクトを作成する

次の手順では、以前のバージョンの Visual Studio と類似した手順で、Visual Studio 2015 を使用します。

  1. Visual Studio を起動し、ホーム画面で [新しいプロジェクト] を選択します。
  2. ポップアップ ウィンドウで [Windows] -> [ユニバーサル] -> [空のアプリ (ユニバーサル Windows)] の順に選択します。 アプリの名前ソリューション名を入力し、[OK] をクリックします。

これで、後で Azure Mobile Engagement SDK を統合する Windows ユニバーサル アプリ プロジェクトが作成されました。

アプリを Mobile Engagement のバックエンドに接続する

  1. プロジェクトに MicrosoftAzure.MobileEngagement Nuget パッケージをインストールします。 Windows と Windows Phone の両方のプラットフォームを対象としている場合、両方のプロジェクトにこれを行う必要があります。 Windows 8.x および Windows Phone 8.1 の場合は、同じ Nuget パッケージによって各プロジェクトに適切なプラットフォーム固有のバイナリが配置されます。
  2. Package.appxmanifest を開き、そこに次の機能を追加します。

     Internet (Client)
    

  3. 先にコピーした Mobile Engagement アプリの接続文字列を Resources\EngagementConfiguration.xml ファイルの <connectionString> タグと </connectionString> タグの間にコピーします。

    ヒント

    アプリの対象プラットフォームを Windows と Windows Phone の両方にする場合、2 つの Mobile Engagement アプリケーションを作成する必要があります (サポートされているプラットフォームごとに&1; つずつ)。 2 つのアプリがあれば、対象ユーザーを適切に分け、各プラットフォームに合わせた通知を送信できます。

    重要

    NuGet は、Windows 10 UWP アプリケーションで SDK のリソースを自動的にコピーしません。 NuGet パッケージのインストール時に表示される手順 (readme.txt) に従って、手動で行う必要があります。

  4. App.xaml.cs ファイルで次の操作を行います。

    a. using ステートメントを追加します。

         using Microsoft.Azure.Engagement;
    

    b. Engagement を初期化するメソッドを追加します。

        private void InitEngagement(IActivatedEventArgs e)
        {
          EngagementAgent.Instance.Init(e);
    
          //... rest of the code
        }
    

    c. OnLaunched メソッドで SDK を初期化します。

         protected override void OnLaunched(LaunchActivatedEventArgs e)
         {
           InitEngagement(e);
    
           //... rest of the code
         }
    

    c. OnActivated メソッドに次を挿入します。このメソッドがない場合は追加します。

         protected override void OnActivated(IActivatedEventArgs e)
         {
           InitEngagement(e);
    
           //... rest of the code
         }
    

リアルタイム監視を有効にする

データを送信してユーザーがアクティブであることを確認するには、少なくとも&1; つの画面 (アクティビティ) を Mobile Engagement のバックエンドに送信する必要があります。

  1. MainPage.xaml.cs に、次の using ステートメントを追加します。

    using Microsoft.Azure.Engagement.Overlay;

  2. MainPage の基本クラスを Page から EngagementPageOverlay に変更します。

     class MainPage : EngagementPageOverlay
    
  3. MainPage.xaml ファイルで次の操作を行います。

    a. 次の内容を名前空間宣言に追加します。

     xmlns:engagement="using:Microsoft.Azure.Engagement.Overlay"
    

    b. XML タグ名の Pageengagement:EngagementPageOverlay に置き換えます。

重要

ページが OnNavigatedTo メソッドをオーバーライドする場合は、必ず base.OnNavigatedTo(e) を呼び出します。 そうしないと、アクティビティが報告されません (EngagementPage は、OnNavigatedTo メソッド内で StartActivity を呼び出します)。 これは既定のテンプレートに OnNavigatedTo メソッドがある Windows Phone プロジェクトで特に重要です。

Windows 10 ユニバーサル アプリの場合は、上記の方法ではなく、「Windows ユニバーサル アプリ Engagement SDK を使用した詳細なレポート」の「推奨される方法: Page クラスをオーバーロードします」で推奨されている方法を使用してください。

リアルタイム監視を使用してアプリを接続する

このセクションでは、Mobile Engagement のリアルタイム監視機能を使用して、アプリを Mobile Engagement バックエンドに接続する方法について説明します。

  1. Azure Mobile Engagement アカウントで、Mobile Engagement ポータルで監視および管理するアプリを選択していることを確認します。 下部にある [エンゲージ] ボタンをクリックして、Mobile Engagement ポータルに移動します。

  2. Mobile Engagement ポータルに移動します。 [監視] タブが選択されていない場合は、 [監視]をクリックします。
  3. モニターがアプリを起動するデバイスをリアルタイムで表示する準備が整いました。
  4. アプリを起動します。 統合が適切に行われていれば、モニターには 1 つのセッションが表示されます。これは、アプリが Mobile Engagement バックエンドに接続され、バックエンドにデータを送信していることを意味します。

プッシュ通知とアプリ内メッセージングを有効にする

Mobile Engagement を導入すると、キャンペーンとの関連でプッシュ通知とアプリ内メッセージングを利用し、ユーザーに情報を提供できます。 このモジュールは、Mobile Engagement ポータルで REACH として呼び出されます。 次のセクションでは、それらを受信するようにアプリをセットアップします。

アプリが WNS プッシュ通知を受信できるようにする

  1. Package.appxmanifest ファイルの [アプリケーション] タブの [通知][トースト対応:][はい] を設定します。

REACH SDK を初期化する

App.xaml.cs で、エージェント初期化の直後に InitEngagement 関数で EngagementReach.Instance.Init(e); を呼び出します。

    private void InitEngagement(IActivatedEventArgs e)
    {
       EngagementAgent.Instance.Init(e);
       EngagementReach.Instance.Init(e);
    }

トーストを送信する準備ができました。 それでは、この基本的な統合が正しく設定されているかどうかを検証してみましょう。

通知を送信するために Mobile Engagement へのアクセスを許可する

  1. Web ブラウザーで Windows ストア デベロッパー センターを開き、ログインします。必要に応じてアカウントを作成してください。
  2. 右上隅の [ダッシュボード] をクリックし、左側のパネル メニューで [新しいアプリの作成] をクリックします。

  3. アプリの名前を予約して、アプリを作成します。

  4. アプリが作成されたら、左側のメニューから [サービス]、[プッシュ通知] の順に進みます。

  5. [プッシュ通知] セクションで、 Live サービス サイト のリンクをクリックします。

  6. プッシュ通知用資格情報セクションに移動します。 [アプリケーション設定] セクションが表示されていることを確認し、[パッケージ SID][クライアント シークレット] をコピーします。

  7. Mobile Engagement ポータルの [設定] に移動し、左側の [ネイティブ プッシュ] セクションをクリックします。 次に、[編集] ボタンをクリックし、次に示すように、[パッケージ セキュリティ ID (SID)][シークレット キー] に入力します。

  8. 最後に、アプリ ストアに作成されたこのアプリに Visual Studio アプリケーションが関連付けます。 Visual Studio で [アプリケーションをストアと関連付ける] をクリックします。

アプリへ通知を送信する

アプリにプッシュ通知を送信する単純なプッシュ通知キャンペーンを作成します。

  1. Mobile Engagement ポータルで [ リーチ ] タブに移動します。
  2. [新しいお知らせ] をクリックして、プッシュ通知キャンペーンを作成します。

  3. 次の手順に従って、キャンペーンの最初のフィールドを設定します。

    a.この問題では、ターゲット (またはクラス) ラベルは "tip_amount" です。 キャンペーンの 名前 を指定します。

    b. [配信時刻] として [任意の時刻] を選択します。

    d. 通知テキストに、プッシュ通知内で太字で表示されるタイトルを入力します。

    e. 次に、メッセージを入力します。

  4. スクロール ダウンし、[コンテンツ] セクションで [通知のみ] を選択します。

  5. 最も基本的なキャンペーンの設定が完了しました。 もう一度下にスクロールし、 [作成] ボタンをクリックしてキャンペーンを保存します。
  6. 最後の手順として、 [アクティブ化] をクリックしてキャンペーンをアクティブにし、プッシュ通知を送信します。

アプリが実行中の場合は、アプリ内通知が表示されます。 アプリが閉じている場合は、トースト通知が表示されます。 トースト通知ではなくアプリ内通知が表示され、Visual Studio のデバッグ モードでアプリを実行している場合は、ツール バーの [ライフサイクル イベント]、[中断] の順に選択し、アプリが中断していることを確認します。 Visual Studio でアプリケーションをデバッグしているときに [ホーム] ボタンをクリックしただけではアプリケーションは中断されず、アプリ内通知は表示されても、トースト通知は表示されないことがあります。