子どもに優しい UWP アプリを作る – Kid’s Corner への対応
「キッズ コーナー」とは
Windows 10 Mobile では「キッズ コーナー」と呼ばれる、保護者が追加するゲーム、アプリ、音楽、ビデオをお子様が使用・再生できる場所が用意されています。保護者が所有しているデバイスに、ある種のゲスト利用のモードが用意されていて、そのモードでは保護者が追加したコンテンツ・アプリしか実行できないように制限することができます。
では、どんな時に「キッズ コーナー」が利用されるのでしょうか。例えば、週末の家族の食事シーン、ファミレスなどで席の呼び出しを待っているとき、
子「ねぇ、つまんないょう」
親「もうすぐ呼び出されるから、もうちょっと我慢してね」
子「ねぇ、ねぇ、つまんないぃい」
親「あー、もー、じゃぁ、この Windows 10 Mobile で遊びな!」
子「あれ、パパの会社のメール、256通未読だって。キリがいいねぇ。」
といったやり取りが頻繁に見受けられます。親のデバイスを一時的に子どもに貸す場合、親の会社のメールなど子どもに見せたくない・保護したい情報があります。子ども専用の実行領域を用意して、子ども用に割り当てしたアプリ・コンテンツだけを実行再生できるようにする機能が「キッズ コーナー」です。
「キッズ コーナー」での実行判定
さて、気になるのが実行中の UWP アプリが自身が「キッズ コーナー」で実行されているか判定できるか、という点です。Windows.Phone.ApplicationModel.ApplicationProfile クラスの Modes プロパティにより取得可能です。
この API はデバイス固有の API として Windows.Phone.PhoneContract コントラクトに分類されいます。そのため、プロジェクトに UWP 拡張ライブラリ「Windows Mobile Extensions for the UWP」への参照を追加します。
本サンプルは、UWP Samples の UserInfo のシナリオ1 の [Show properties] ボタンにキッズモードでの実行状態を取得する以下のコードを付与しました。
// Kid's Cornerについて挿入
var Modes = Windows.Phone.ApplicationModel.ApplicationProfile.Modes;
var RunOn = Modes == Windows.Phone.ApplicationModel.ApplicationProfileModes.Default ? "通常" : "キッズコーナー";
「キッズ コーナー」での実行結果
通常のスタート画面からの実行結果
ところで、「キッズ コーナー」で実行されているかどうかはこの API により判定できますが、Windows.System.KnownUserProperties の値を見ると、いずれの場合も実行ユーザーは変わらず自分自身になっています (「職場のアクセス」等は行っておらず、マイクロソフトアカウントのみ)。 冒頭で、「ある種のゲスト利用のモード」と表現したのが、実行ユーザは自分自身なので、アプリが保持する情報等は「キッズ コーナー」からでもスタート画面からでも同一になります。また、アプリを起動状態で「キッズ コーナー」と通常モードを行き来する場合は、アプリのイベントをハンドルし Windows.Phone.ApplicationModel.ApplicationProfile.Modes を呼び出し、現在のモードを確認します。
「キッズ コーナー」の類似機能
保護者向けには、オンライン活動に関するレポートを確認したり、お子様がデバイスを使用できる時間数と時間帯を制限する等の「ファミリー セーフティー」も用意されています。これはタブレットや PC、そして Mobile などのデバイスが子どもの持ち物そのデバイスを安心して利用するための保護者によるコントロールサービスになります。
また、アプリ実行を制限する意味合いでは類似機能に「アプリ コーナー」があります。「アプリ コーナー」は実行できるアプリのコントロールです。「アプリ コーナー」では「Groove ミュージック」の追加・削除で音楽が聴ける・聴けないの2択ですが、「キッズ コーナー」では、子どもに特定の音楽は聞かせてもよい、といったようにコンテンツもコントロールすることができます。
「アプリ コーナー」での「Groove ミュージック」
アプリコーナーに 「Groove ミュージック」を追加。 | 「Groove ミュージック」を起動。2つのアルバムが表示される。 |
「キッズ コーナー」での音楽コンテンツ管理
「キッズ コーナー」に表示されているアルバム。デバイス内の1つのアルバムだけが表示。 | 「キッズ コーナー」の音楽の設定画面。アルバムを1つ選択している。 |