はじめようWindows 8世代のアプリ開発

第2回 Windowsストア アプリでサインイン!

この記事を読むのに必要な時間:およそ 5.5 分

はじめに

前回「SkyDriveと連携したWebアプリ開発」から少し間が空いてしまいましたが,今回から何回かに渡ってWindowsストア アプリ開発を紹介します。

ちょっと他ではあまり見ない? SkyDrive連携などを目標に進めます。今回はMicrosoftアカウント情報でサインインしてユーザー情報を取得するところまでです。

Windowsストア アプリ

既にWindowsストア アプリにふれた方も多いかと思いますが,簡単に紹介すると,Windowsストア アプリは,Windows 8から新しく登場したアプリの形式です。これまでのWindowsアプリと比べると次のような特徴があります。

  • ひとつのウィンドウで構成され画面全体に表示されます。
  • タッチによる操作が強く意識されています。これまでの,ペン,マウス,キーボードもサポートします。
  • アプリは原則,Windowsストアで提供されます図1)⁠

図1 Windowsストア

図1 Windowsストア

もう1点,Windows 8だけでなく,ARM版のWindows RTで動作するアプリも大きな特徴ですね。

開発する場合,これまでと違った部分が多々あります。Windowsストアで配布するため,審査(認定)があるのもそのひとつです。また,Windowsストア アプリ開発のため,細かなガイドラインが提供されていますが,とりあえず気にせず作ってみるのがおすすめです!

この連載では,Windowsストア アプリの開発について,はじめから順にすべて紹介はできませんが,ポイントやトピックをしぼっておもしろそうな内容を紹介していきたいと思います。

Microsoftアカウントでのサインイン

Windows 8の特徴のひとつとして,Microsoftアカウント(旧Windows Live ID)でサインインがあります。Microsoftアカウントでサインインしていると,Outlook.comなどMicrosoftアカウントを利用したサービスは,毎回アカウント情報を入力することなく,すぐにサービスを使えます(シングル サインオン)⁠

このシングル サインオン機能は,Microsoft公式アプリだけでなく,サードパーティ製でも実現できます。それを実現するのが,前回も今回からも扱うLive Connectです。Live Connectで提供されるAPIを利用すると,Microsoftアカウント情報や,SkyDriveやHotmail(Outlook.com)といったサービスにアクセスできます。

よって今回は,Windowsストア アプリとLive Connectによる開発です。Live Connectは,前回はWebアプリ連携を行ったように,プラットフォームを選ばず利用できますが,しばらくはWindowsストア アプリ連携にお付き合いください。

ここで,事前準備が長いので,最初に登場するコードの一部を紹介します。Windowsストア アプリをC#で作った場合,次のようにサインインします。そして,ユーザー名を取得しています。利用しているクラスは,Live SDKによって提供されています。簡単にMicrosoftアカウント情報にアクセスできるのがわかるかと思います。

var authClient = new LiveAuthClient();
LiveLoginResult authResult = await authClient.LoginAsync(new string[] { "wl.basic" });
if (authResult.Status == LiveConnectSessionStatus.Connected)
{
    var connectClient = new LiveConnectClient(authResult.Session);

    // Microsoftアカウント情報の取得
    LiveOperationResult opMeResult = await connectClient.GetAsync("me");
    dynamic meResult = opMeResult.Result;
    this.NameTextBlock.Text = meResult.name;
}

もちろん,サードパーティ製のアプリの場合,はじめてサインインするとき,サインインの確認プロセスがあります。

Windowsストア アプリの開発

ここからは,Windowsストア アプリを開発する事前知識と準備を見てみましょう。

開発環境

まず,開発にはWindows 8Visual Studio 2012が必須です。無償のVisual Studio Express 2012 for Windows 8も使えます。

開発言語は,C++(C++/CX)C#・Visual BasicJavaScript・HTML5・CSSが使えます。すべての言語で同等のアプリが作れるわけではなく,得意・不得意なものがあります。バリバリのDirectXを使ったゲームを作るにはC++を選択するかありません。ただし,Windows Runtime(WinRT)と呼ばれる共通のAPIで,Windows 8の機能を呼び出したり等は各言語からできるようになっています。

この連載では,C#・Visual Basic,JavaScriptを主に使います。

Windowsストアと開発者アカウント

次に,Windowsストア アプリは,原則Windowsストアで公開して配布・販売します。企業向けに,ストアを使わずデバイスに直接インストールを行うサイドローディングという方法もありますが,この連載では扱いません。

Windowsストアでアプリを配布するためには,Windowsストア開発者アカウントの登録が必要です。現在の登録料は,年間4,900円です。

身元確認のためにクレジットカードを使うため,クレジットカードが必須です。少額の請求がされるので(後で払い戻されます)⁠その金額または,請求者名に付加されているコードを使って身元を確認します。そのため,請求内容がすぐに確認できない方は,登録に時間がかかります。

ちなみに,MSDNサブスクリプションのアカウントがある方は,無償になる登録コードがMSDNサブスクリプションのアカウントのページから手に入ります。

年間の登録料が発生する開発者アカウントの登録は,アプリが完成してからでも遅くはないと思います。ただし,今回のLive Connectを利用したアプリを動作させるためには,登録が完了している必要があります。また,登録に時間を要する場合もありますので,まだ登録していない方は事前に手順を確認してみてください。

登録は,デベロッパー センターのWindows ストア開発者になるための手順図2)⁠より行えます。

図2 Windowsストア開発者になるための手順

図2 Windowsストア開発者になるための手順

著者プロフィール

松江祐輔(まつえゆうすけ)

日本システムウエア株式会社 勤務。現在,ハードウェア設計・検証業務を担当。大学生・大学院生時代はベンチャー企業 有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。好きな言語はVisual Basic。Microsoft MVP for Windows Live Platform(Jul 2010 - Jun 2011),Windows Live(Jul 2011 - Jun 2013)。

URL:http://katamari.jp

コメント

コメントの記入