Alive with activity、パート 1: タイル、バッジ、トーストを使う

ライブ タイルと、その関連機能のバッジ、トースト通知、プッシュ通知は、Windows 8 アプリと Windows ストア アプリの最も目を引く機能の 1 つです。これらの機能が連携して、”alive with activity (常に動きのある)” システムが生まれます。つまり、アプリが実行されていないときでも、常にアプリのサービスから送られてくる情報がスタート画面にもロック画面にも表示されます。 このブログの過去の記事で、ライブ タイルと通知に関する基本的な機能をいくつか紹介しました。 復習してみましょう。 優れたタイル エクスペリエンスを開発する (パート 1): タイルのデザインを紹介し、アプリの機能を基にテンプレートを選ぶ方法を説明しています。 優れたタイル エクスペリエンスを開発する (パート 2): アプリによりローカル更新を配信する方法、定期通知をセットアップする方法、およびセカンダリ タイルを管理する方法を説明しています。また、PHP と ASP.NET でサービスを構築する方法を紹介しています。 これらの参考記事を基に、今回の記事から 3 回にわたって、さらにいくつかの領域について詳しく説明したいと思います。 パート 1 (この記事) の内容は、次のとおりです。 ユーザー エクスペリエンスの簡単なビジュアル ツアー: “aliveness (常に動きがあること)” はユーザーにとって何を意味するでしょうか。 タイル、バッジ、トースト通知の XML スキーマ。テンプレート カタログを見てわかるとは限らない、さまざまな機能がわかります。 タイル、通知、バックグラウンドのタスク間の関係。 パート 2 では、いくつかの言語でサービスを作成およびデバッグする方法を説明します。具体的には localhost を使い、ツールには Visual Studio…


優れたタイル エクスペリエンスを開発する (パート 2)

この記事のパート 1 では、タイルの更新を設計する方法と、ライブ タイルに表示するコンテンツに合ったテンプレートを選択する方法について学びました。その中でアプリの既定のワイド タイルをセットアップしたので、タイルの更新を始める準備ができました。今回は具体的なコードを見ていきましょう。最初に、Contoso Food Trucks アプリ タイルでポーリングをセットアップする方法について説明します。Web サービス側のコードがどのようになるかもお見せします。次に、アプリにセカンダリ タイルを追加して、「Windows 8 SDK: アプリのタイルおよびバッジのサンプル」(英語) に含まれている NotificationsExtensions ライブラリを使ってそのタイルを更新します。では、早速始めましょう。 通知の配信方法の選択 タイルをどのように表示すればよいかはわかったので (パート 1 を思い出してください)、タイルを更新するタイミングを決める必要があります。 アプリでタイルを更新するには、4 とおりの方法があります (デベロッパー センターの「通知の配信方法の選択」(英語) を参照してください)。まず、ローカル通知を使ってタイルを更新することができます。これは、アプリの実行中に情報が変化する場合に便利です。また、アプリでタイルとトーストの更新をスケジュールして、正確な時刻に更新が行われるようにすることもできます。さらに、アプリが実行中でない場合にクラウドからタイル通知をプッシュまたはポーリングして、タイルを更新する方法もあります。ポーリングは、更新頻度の低いブロードキャスト コンテンツに適しています。プッシュは、すぐに届ける必要のあるトースト通知を送信する場合や、ユーザーごとに個別にタイルを更新する場合に適しています。この記事では、ポーリング更新とローカル更新に焦点を絞ってお話しします。 近くにいるフード トラックのためのポーリング 私たちのアプリでは、タイルの更新に 2 種類の異なる情報を使います。最も重要なのは、ユーザーが設定した既定のランチの場所の近くにいるフード トラックの情報です。アプリの実行時、ユーザーは、ランチを探す既定の場所をアプリ内で設定します。私たちは、その既定の場所の情報を使ってタイルを更新し、近くにいるトラックをユーザーに知らせます。下の画像は、この記事のパート 1 に掲載したアプリのタイルです。それでは、ポーリングを使ってこれらのタイルをアプリのタイルに表示する方法を見ていきましょう。     通常、フード トラックは、1 日中同じ場所に停まっているか、少なくともランチの時間帯は移動しません。フード トラックの場所はそれほど頻繁には変わらないので、タイルをリアルタイムで更新する必要はありません。このため、今回はプッシュ通知を除外することができます (プッシュ通知は、タイミングが重要となる通知に向いています)。ただし、このデータは少なくとも 1 日 1 回は更新したいので、定期的な通知を使って Web サービスをポーリングし、変更をチェックするのが最適な方法と考えられます。 クライアント側の実装: 近くにいるフード トラックのためのポーリング 定期通知をセットアップするクライアント側の実装は、ほんの数行のコードで完了します。ユーザーがアプリを起動するかアプリに切り替えたら、そのつど TileUpdater.startPeriodicUpdate (英語) を呼び出します。これにより、API…


優れたタイル エクスペリエンスを開発する (パート 1)

ライブ タイルは、ユーザーにアプリを継続的に使ってもらうようにするための優れた手段の 1 つです。この記事では、ポーリングとローカル API を使ってアプリのライブ タイルを更新し、Windows 8 のスタート画面上でアプリの魅力を直接アピールする方法について説明します。タイルを通して、アプリ側で発生している最も重要なことを最前線で伝えることができます。アプリ タイルはアプリの非常に重要な要素であり、ユーザーの目に最も多くさらされる部分でもあります。タイルを最大限に活用して、ユーザーに使い続けてもらえるアプリを作りましょう。 この記事では、サンプル アプリを通して次の方法について説明します。 タイルの更新を設計する タイルのコンテンツに最適なテンプレートを選択する アプリが実行されていない場合は、クラウドからポーリング通知を実行してタイルを更新する アプリの実行中は、SDK (「Windows 8 SDK: アプリのタイルおよびバッジのサンプル」(英語)) に含まれる NotificationsExtensions ライブラリを使ってタイルを更新する Contoso Food Trucks アプリについて では、サンプル アプリ Contoso Food Trucks について説明しましょう。ユーザーはこのアプリを使って、移動中のフード トラック (移動型レストラン) の情報を確認することができます。このアプリは、Metro スタイル アプリ用 Web サイトの事例 (英語) として紹介したものと同じアプリです。今回の記事では、このアプリにライブ タイルを追加する方法について説明します。 アプリの一番のセールス ポイントを知る タイルに表示すべきコンテンツの内容や、更新頻度を決めるうえで有効なことは、アプリの一番の長所を知ることです。 Contoso Food Trucks アプリが最も得意とするのは、ユーザーのお気に入りのフード トラックを探して追跡することと、ユーザーの近くにいるトラックを見つけることです。そこで、Contoso Food Trucks タイルの目標を次のように設定しましょう。 特定の場所の近くにいるフード…