SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Windows Azure新機能チュートリアル

Windows Azureモバイルサービスからプッシュ通信を利用しよう

Windows Azure 新機能チュートリアル(20)

  • X ポスト
  • このエントリーをはてなブックマークに追加

サーバーサイドスクリプト

 最後にモバイルサービスのサーバーサイドスクリプトを確認します。ここはサンプルで提供されない部分なので、各自のスクリプトを修正してください。

 Windows Azureモバイルサービスのデータ管理画面から[スクリプト]画面を表示し、さらに操作から[挿入]を選択して、データ挿入時に実行されるスクリプトを表示します。表示されたスクリプトをリスト5で置き換えて保存します。

リスト5(Main.xaml.cs 73行目~)
function insert(message, user, request) {
    request.execute( {
        success : function() {                                              
            request.respond();
            push.wns.sendToastImageAndText03(message.channel,               
             { 
                 image1src : 'http://www.wings.msn.to/image/wings.jpg',
                 image1alt : 'wings', 
                 text1: 'message',
                 text2: message.text 
             },
             { 
                 success: function(pushResponse) {                          
                    console.log("Sent push:", pushResponse);
                 }
             });
        } 
    });
}

 は、「request.execute」メソッドが成功した場合に呼び出されるコールバックメソッドです。この場合、データの挿入処理が正常に終了された場合に呼び出されます。

 は、プッシュ通知を要求しているデバイスに通知を行うメソッドです。pushオブジェクトは、サーバーサイドスクリプトで用意されているプッシュ通知用のグローバルオブジェクトです。wnsプロパティに実際のWindowsプッシュ通知に必要なオブジェクトが設定されています。最後に、「sendToastImageAndText03」メソッドを呼び出して、プッシュ通知を要求しているデバイスに通知を送信します。ここの「sendToastImageAndText03」は、イメージとテキストをテンプレート3という形で表示することを意味しています(注2)。

 第1引数はプッシュ通知に必要なチャネルURIを指定します。本サンプルではメッセージ送信時に設定しているため、messageオブジェクトのchannelプロパティから取得します。

 第2引数は、データオブジェクトを指定します。使用するメソッドによって設定する内容が異なりますが、このメソッドではイメージソース(image1src)および代替テキスト(image1alt)および、トースト通知に表示するメッセージタイトル(text1)と本文(text2)を指定しています。

 第3引数は、通知が成功したときに呼び出されるコールバックメソッドで、本サンプルではログに通知を記録しています。

注2

 wnsオブジェクトから提供されているメソッドは、「GitHubのwnsページ」を参照してください。ここで紹介されているメソッド形式は、「トーストテンプレートカタログ」に対応しています。

実行確認

 サンプルの実行確認をしてみましょう。

[1]トースト通知を有効化する

 実行確認の前に、トースト通知の有効化設定を行います。ソリューションエクスプローラーから「Package.appxmainfest」ファイルを選択し、ダブルクリックしてエディタを開きます(図14)。[アプリケーションUI]タブを選択し、[トースト対応]リストボックスを確認します。デフォルトでから「はい」を選択してください。

図14:トースト通知の有効化
図14:トースト通知の有効化

 Windows 8の通知設定は、デフォルトでオンになっているため特に設定の必要はありませんが、オフにしている場合はオンに変更してください。[通知]設定から確認できます。

[2]実行する

 プッシュ通知を利用したアプリーションを起動するためには、シミュレータ実行ではなく、ローカルコンピュータ上での実行が必要です。シミュレータ上で実行すると、権限がない旨の例外が発生し実行確認はできません。

 正常に起動すると、先ほど紹介した図8のストアアプリが起動します。適当なメッセージを入力したのち、トースト通知が行われるか確認してみてください。

まとめ

 環境設定が多く手順は煩雑ですが、特に難しい部分はなかったかと思います。作成されたサンプルもプッシュ通知に関連する部分は多くなく、単純なコードで実現できることがお分かりいただけたのではないでしょうか。

 このように、Windows Azureモバイルサービスを利用すれば、プッシュ通知の基盤を作成することなくSaaSとして簡単に利用することができますので、ぜひ試してみてください。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Windows Azure新機能チュートリアル連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト statemachine(statemachine)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6928 2012/12/27 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング