<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Naoki Sato's Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/naokis/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/naokis/feed.xml</link>
    <description>佐藤 直樹のブログです</description>
    <lastBuildDate>Tue, 16 Apr 2019 05:20:50 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>「SNS東京ルール」: 我が家での Windows 10 Mobile の設定に関する検討</title>
      <link>https://docs.microsoft.com/archive/blogs/naokis/sns-windows-10-mobile</link>
      <pubDate>Thu, 10 Mar 2016 18:38:00 GMT</pubDate>
      <dc:creator><![CDATA[佐藤 直樹 (マイクロソフト)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/naokis/2016/03/10/sns-windows-10-mobile/</guid>
      <description><![CDATA[&lt;&lt;3/14 14:00 訂正&gt;&gt;  2015年11月に東京都教育庁から「「SNS 東京ルール」の策定について」アナウンスされ、その啓発リーフレットが先日我が家にも届きました。...]]></description>
      <content:encoded><![CDATA[<p><font color="#ff0000">&lt;&lt;3/14 14:00 訂正&gt;&gt;</font></p>  <p>2015年11月に東京都教育庁から「<a href="https://www.metro.tokyo.jp/INET/OSHIRASE/2015/11/20pbq200.htm">「SNS 東京ルール」の策定について</a>」アナウンスされ、その啓発リーフレットが先日我が家にも届きました。</p>  <p>リーフレットをよく読むと、SNS 東京ルールに従え、という内容ではありません。子供の情報リテラシーをどう育成するか保護者の立場で考え、保護者と子供が話し合ってリテラシー醸成のためルール適応と成熟度合に応じたルール変更を行うこと、と私は読み取りました。</p>  <p>この啓発リーフレットには、SNS利用に必要なルールを以下5つの項目を挙げていました。</p>  <ol>   <li>一日の利用時間と終了時間を決めて使おう </li>    <li>自宅でスマホを使わない日をつくろう </li>    <li>必ずフィルタリングを付けて利用しよう </li>    <li>自分や他者の個人情報を載せないようにしよう </li>    <li>送信前には、相手の気持ちを考えて読み返そう </li> </ol>  <p>我が家の話で恐縮ですが、子供に Windows 10 Mobile を配備する計画があります。そこで、このルールを現在のテクノロジーでどう実現していくか検討を行いました。</p>  <p>&#160;</p>  <p><strong><span style="font-size: x-small; color: #000000"><span style="text-decoration: underline">事前準備</span></span></strong></p>  <p>デバイスやアプリに対する利用制限によるユーザー保護の仕組み「<a href="https://windows.microsoft.com/ja-jp/windows/set-up-family#set-up-family=windows-10">ファミリー セーフティー</a>」を用いることにしました。ファミリーセーフティーは追加の費用負担なしで利用できます。<a href="https://account.microsoft.com/">Microsoft アカウント</a> の Webページ「<a href="https://account.microsoft.com/family/">ファミリー</a>」タブから、お子様の「追加」を行いました。この「追加」では、既存のメールでも、メールを持っていないときは新しいメールの追加もできるようになっています。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/2746.image_03766B4F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/2746.image_5F00_03766B4F.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/0714.image_thumb_70C17197.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/0714.image_5F00_thumb_5F00_70C17197.png" width="458" height="167" /></a></p>  <p>新しいメールを作成し、お子様追加すると、子供のメールアドレスに追加された旨の案内メールが届きます。子供が受信したそのメールに対して承認を行い、ファミリーセーフティー上の家族となります。</p>  <p>&#160;</p>  <p><span style="font-size: x-small"><strong><span style="text-decoration: underline"><font color="#000000">「一日の利用時間と終了時間を決めて使おう」「自宅でスマホを使わない日をつくろう」</font></span></strong></span></p>  <p><font color="#ff0000">&lt;3/14 訂正&gt;ファミリーセーフティーでは、[使用時間] の設定ができますが、ただし対象が 「Windows 10 を搭載した PC」となっており、モバイルデバイス(Windows 10 Mobile)では設定できません。そのため、子供と対話を行うアプローチをとります。また、お茶の間・リビングの目に付きやすい場所にスマホを置き、使っているかどうかわかるようにします。</font></p>  <p><font color="#000000">&lt;3/14 Mobile デバイス向けの情報ではないため取消&gt;</font><font color="#000000"><strike>ファミリーセーフティーでは、[使用時間] の設定ができます。設定したい「お子様」を選択し、各項目を設定します。</strike></font></p>  <p><font color="#000000"><strike>「お子様がデバイスを使うことができる時間の制限を設定する」を「オン」にします。</strike></font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/3438.image_49572153.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/3438.image_5F00_49572153.png"><font color="#000000"><strike><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/7144.image_thumb_2F82EB24.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/7144.image_5F00_thumb_5F00_2F82EB24.png" width="377" height="205" /></strike></font></a></p>  <p><font color="#000000"><strike></strike></font></p>  <p><font color="#000000"><strike>利用時間は、開始時間と終了時間、1日あたりの上限時間が設定できます。終日ブロックによる「使わない日」の設定、「次の時間まで」と「このデバイスでに1日あたりの制限」を組み合わせ、1日の利用時間上限と終了時間が設定できます。</strike></font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/5516.image_38DEB058.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/5516.image_5F00_38DEB058.png"><strike><font color="#000000"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/0310.image_thumb_185770A6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/0310.image_5F00_thumb_5F00_185770A6.png" width="627" height="139" /></font></strike></a></p>  <p>&#160;</p>  <p><span style="text-decoration: underline"><strong><span style="font-size: x-small">「必ずフィルタリングを付けて利用しよう」</span></strong></span></p>  <p>最初、Web サイトへのフィルタリングかと思いましたが、どうも違います。リーフレットをよく読むと、アプリのインストール制限、アプリの実行制限のことを「フィルタリング」と表現していました。</p>  <p>そこで、[アプリ、ゲームとメディア] より「不適切なアプリとゲームをブロック」を「オン」にします。これで、アプリインストール制限と、アプリの実行制限を行えるようになります。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/1212.image_1B002C57.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/1212.image_5F00_1B002C57.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/6888.image_thumb_0F6A6F18.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/6888.image_5F00_thumb_5F00_0F6A6F18.png" width="393" height="213" /></a></p>  <p>&#160;</p>  <p>アプリのインストール制限は、年齢区分を設定するとことで、「ストア」にあるアプリや映画、ゲームが設定した年齢に応じてフィルタリングされて、その区分でインストール可能なコンテンツだけが表示されます。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/5657.image_0EFE3C23.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/5657.image_5F00_0EFE3C23.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/6332.image_thumb_634D7226.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/6332.image_5F00_thumb_5F00_634D7226.png" width="389" height="243" /></a></p>  <p>&#160;</p>  <p>アプリの実行制限は、「最近のアクティビティ」より「アプリとゲーム」を選択し、実行済みアプリに対して「ブロック」を行います。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/0601.image_1EA0D7E5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/0601.image_5F00_1EA0D7E5.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/8737.image_thumb_33262763.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/8737.image_5F00_thumb_5F00_33262763.png" width="459" height="99" /></a></p>  <p>&#160;</p>  <p><span style="text-decoration: underline"><strong><span style="font-size: x-small">「自分や他者の個人情報を載せないようにしよう」「送信前には、相手の気持ちを考えて読み返そう」</span></strong></span></p>  <p>子供との対話を行うアプローチをとることにしました。技術的なアプローチとしては、OS側もしくはアプリ側で言葉を判定する等の実装を待つことになるためです。(他のプラットフォームで、こういった仕組みを組み込んでいる製品・技術もありますが。。。)</p>  <p>個人情報のスコープも非常にデリケートです。私の場合は「氏名」「学校のクラス」「住所」「電話番号」「顔写真」「家族構成」「行動履歴（いつどこに居た等）」をまず伝え、その上で他にも「通っている塾」等個人情報と位置づけらえている情報が多数あることを伝えることにしました。</p>  <p>また、メールや SNS に限らず、友達に面と向かって言えない言葉や、周りの人から見て不快に思う言葉、自分が言われたとき保護者の方が傷つくであろう言葉など、言葉使いについては注意を払う必要があります。送信前に一度文章を読むことを伝えることにしました。</p>  <p>なお、技術面でも様々な取り組みが存在しています。14才の若者が Google サイエンスフェア 2014 にて出展した「ReThink」を知る人も多いかと思います。投稿前にダイアログを表示し侮辱的な言葉を本当に投稿するか問いかけるボタンなのですが、ネットいじめにつながる発言を減少させることにつながると発表されました。</p>  <ul>   <li>Google Science Fair2014: <a href="https://www.googlesciencefair.com/projects/en/2014/f4b320cc1cedf92035dab51903bdd95a846ae7de6869ac40c909525efe7c79db">Rethink: An Effective Way to Prevent Cyberbullying</a> </li>    <li>TEDｘTeen2014:<a href="https://tedxteen.com/talks/tedxteen-2014-london/258-trisha-prabhu-rethink-before-you-type"> &quot;ReThink Before You Type&quot; - Trisha Prabhu</a> </li> </ul>  <p>&#160;</p>  <p><span style="font-size: x-small"><strong><span style="text-decoration: underline">まとめ</span></strong></span></p>  <p>今回、「SNS 東京ルール」の啓発リーフレットが自宅に届いたことから、技術的に解決する範囲と、子供自身で行動を考えてもらう運用で解決する範囲と 2 つの実行方法が見えてきました。技術的に設定したルールは、新たな課題の発生といった環境の変化や子供の成長を加味しながら変更を加えていくことになります。もちろん、そのルール適応は、保護者側の都合ではなく、子供と話し合い、合意形成を進めることが前提です。</p>  <p>私の検討が、ほかの皆様にもお役に立てれば幸いです。</p>]]></content:encoded>
    </item>
    <item>
      <title>子どもに優しい UWP アプリを作る – Kid’s Corner への対応</title>
      <link>https://docs.microsoft.com/archive/blogs/naokis/uwp-kids-corner</link>
      <pubDate>Mon, 29 Feb 2016 01:27:18 GMT</pubDate>
      <dc:creator><![CDATA[佐藤 直樹 (マイクロソフト)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/naokis/2016/02/29/uwp-kids-corner/</guid>
      <description><![CDATA[「キッズ コーナー」とは  Windows 10 Mobile では「キッズ...]]></description>
      <content:encoded><![CDATA[<p><font color="#9b00d3" size="3"></font></p>  <p><font color="#9b00d3" size="3">「キッズ コーナー」とは</font></p>  <p>Windows 10 Mobile では「<a href="https://windows.microsoft.com/ja-jp/windows-10/set-up-and-use-kids-corner-mobile#v1h=tab01">キッズ コーナー</a>」と呼ばれる、保護者が追加するゲーム、アプリ、音楽、ビデオをお子様が使用・再生できる場所が用意されています。保護者が所有しているデバイスに、ある種のゲスト利用のモードが用意されていて、そのモードでは保護者が追加したコンテンツ・アプリしか実行できないように制限することができます。</p>  <p>では、どんな時に「キッズ コーナー」が利用されるのでしょうか。例えば、週末の家族の食事シーン、ファミレスなどで席の呼び出しを待っているとき、</p>  <p>子「ねぇ、つまんないょう」</p>  <p>親「もうすぐ呼び出されるから、もうちょっと我慢してね」</p>  <p>子「ねぇ、ねぇ、つまんないぃい」</p>  <p>親「あー、もー、じゃぁ、この Windows 10 Mobile で遊びな！」</p>  <p>子「あれ、パパの会社のメール、256通未読だって。キリがいいねぇ。」</p>  <p>といったやり取りが頻繁に見受けられます。親のデバイスを一時的に子どもに貸す場合、親の会社のメールなど子どもに見せたくない・保護したい情報があります。子ども専用の実行領域を用意して、子ども用に割り当てしたアプリ・コンテンツだけを実行再生できるようにする機能が「キッズ コーナー」です。</p>  <p>&#160;</p>  <p><font color="#9b00d3" size="3">「キッズ コーナー」での実行判定</font></p>  <p>さて、気になるのが実行中の UWP アプリが自身が「キッズ コーナー」で実行されているか判定できるか、という点です。<a href="https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.phone.applicationmodel.applicationprofile.aspx">Windows.Phone.ApplicationModel.ApplicationProfile クラス</a>の <a href="https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.phone.applicationmodel.applicationprofile.modes.aspx">Modes プロパティ</a>により取得可能です。</p>  <p>この API はデバイス固有の API として Windows.Phone.PhoneContract コントラクトに分類されいます。そのため、プロジェクトに UWP 拡張ライブラリ「Windows Mobile Extensions for the UWP」への参照を追加します。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/6648.image_6A7FC550.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/6648.image_5F00_6A7FC550.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/8640.image_thumb_53544AD2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/8640.image_5F00_thumb_5F00_53544AD2.png" width="471" height="304" /></a></p>  <p>本サンプルは、<a href="https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/UserInfo">UWP Samples の UserInfo</a> のシナリオ1 の [Show properties] ボタンにキッズモードでの実行状態を取得する以下のコードを付与しました。</p> // Kid's Cornerについて挿入   <br />var Modes = Windows.Phone.ApplicationModel.ApplicationProfile.Modes;   <br />var RunOn = Modes == Windows.Phone.ApplicationModel.ApplicationProfileModes.Default ? &quot;通常&quot; : &quot;キッズコーナー&quot;;   <p>「キッズ コーナー」での実行結果</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/7266.image_7C5EE9CE.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/7266.image_5F00_7C5EE9CE.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/1376.image_thumb_3C28D054.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/1376.image_5F00_thumb_5F00_3C28D054.png" width="133" height="244" /></a>&#160;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/6281.image_1EB67F48.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/6281.image_5F00_1EB67F48.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/0753.image_thumb_2C1C924E.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/0753.image_5F00_thumb_5F00_2C1C924E.png" width="133" height="244" /></a></p>  <p>通常のスタート画面からの実行結果</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/0020.image_6BE678D3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/0020.image_5F00_6BE678D3.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/6138.image_thumb_071ED1D5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/6138.image_5F00_thumb_5F00_071ED1D5.png" width="134" height="244" /></a></p>  <p>&#160;</p>  <p>ところで、「キッズ コーナー」で実行されているかどうかはこの API により判定できますが、<a href="https://msdn.microsoft.com/en-us/library/windows/apps/windows.system.knownuserproperties.aspx">Windows.System.KnownUserProperties</a> の値を見ると、いずれの場合も実行ユーザーは変わらず自分自身になっています (「職場のアクセス」等は行っておらず、マイクロソフトアカウントのみ)。 冒頭で、「ある種のゲスト利用のモード」と表現したのが、実行ユーザは自分自身なので、アプリが保持する情報等は「キッズ コーナー」からでもスタート画面からでも同一になります。また、アプリを起動状態で「キッズ コーナー」と通常モードを行き来する場合は、アプリのイベントをハンドルし Windows.Phone.ApplicationModel.ApplicationProfile.Modes を呼び出し、現在のモードを確認します。</p>  <p>&#160;</p>  <h2><font color="#9b00d3" size="3">「キッズ コーナー」の類似機能</font></h2>  <p>保護者向けには、オンライン活動に関するレポートを確認したり、お子様がデバイスを使用できる時間数と時間帯を制限する等の「<a href="https://windows.microsoft.com/ja-jp/windows/set-up-family#set-up-family=windows-10">ファミリー セーフティー</a>」も用意されています。これはタブレットや PC、そして Mobile などのデバイスが子どもの持ち物そのデバイスを安心して利用するための保護者によるコントロールサービスになります。</p>  <p>また、アプリ実行を制限する意味合いでは類似機能に「<a href="https://windows.microsoft.com/ja-jp/windows-10/set-up-apps-corner-mobile#v1h=tab01">アプリ コーナー</a>」があります。「アプリ コーナー」は実行できるアプリのコントロールです。「アプリ コーナー」では「Groove ミュージック」の追加・削除で音楽が聴ける・聴けないの2択ですが、「キッズ コーナー」では、子どもに特定の音楽は聞かせてもよい、といったようにコンテンツもコントロールすることができます。</p>  <p><u>「アプリ コーナー」での「Groove ミュージック」</u></p>  <table cellspacing="0" cellpadding="2" width="400" border="0"><tbody>     <tr>       <td valign="top" width="200"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/6138.image_7C30FAC5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/6138.image_5F00_7C30FAC5.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/1680.image_thumb_59DBF5FD.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/1680.image_5F00_thumb_5F00_59DBF5FD.png" width="134" height="244" /></a></td>        <td valign="top" width="200"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/4657.image_726B934D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/4657.image_5F00_726B934D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/1031.image_thumb_66D5D60E.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/1031.image_5F00_thumb_5F00_66D5D60E.png" width="134" height="244" /></a></td>     </tr>      <tr>       <td valign="top" width="200">アプリコーナーに 「Groove ミュージック」を追加。</td>        <td valign="top" width="200">「Groove ミュージック」を起動。2つのアルバムが表示される。</td>     </tr>   </tbody></table>  <p><u>「キッズ コーナー」での音楽コンテンツ管理</u></p>  <p>   <table cellspacing="0" cellpadding="2" width="400" border="0"><tbody>       <tr>         <td valign="top" width="200"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/1385.image_625F5547.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/1385.image_5F00_625F5547.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/0871.image_thumb_4BA00DBE.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/0871.image_5F00_thumb_5F00_4BA00DBE.png" width="134" height="244" /></a></td>          <td valign="top" width="200"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/4520.image_193C3A3F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/4520.image_5F00_193C3A3F.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/7181.image_thumb_5FB92A47.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/7181.image_5F00_thumb_5F00_5FB92A47.png" width="134" height="244" /></a></td>       </tr>        <tr>         <td valign="top" width="200">「キッズ コーナー」に表示されているアルバム。デバイス内の1つのアルバムだけが表示。</td>          <td valign="top" width="200">「キッズ コーナー」の音楽の設定画面。アルバムを1つ選択している。</td>       </tr>     </tbody></table></p>]]></content:encoded>
    </item>
    <item>
      <title>UWP : アプリでデバイスの電話番号を取得するための API</title>
      <link>https://docs.microsoft.com/archive/blogs/naokis/uwp-api</link>
      <pubDate>Thu, 25 Feb 2016 23:19:15 GMT</pubDate>
      <dc:creator><![CDATA[佐藤 直樹 (マイクロソフト)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/naokis/2016/02/25/uwp-api/</guid>
      <description><![CDATA[Windows 10 Mobile でデバイスの電話番号 (SIM カード上の電話番号) を取得する際、Windows.Devices.Sms.SmsDevice2 クラスの...]]></description>
      <content:encoded><![CDATA[<p>Windows 10 Mobile でデバイスの電話番号 (SIM カード上の電話番号) を取得する際、Windows.Devices.Sms.SmsDevice2 クラスの <a href="https://msdn.microsoft.com/en-us/library/windows/apps/windows.devices.sms.smsdevice2.accountphonenumber.aspx">AccountPhoneNumber</a> プロパティにより取得可能であるが、、、以下の Note によると、、、</p>  <p><strong>Note</strong>&#160; This functionality is only available to mobile operator apps and Windows Store apps given privileged access by mobile network operators, mobile broadband adapter IHV, or OEM. For more information, see <a href="https://msdn.microsoft.com/library/windows/hardware/hh852368.aspx">Mobile Broadband: Windows Store device apps</a>.</p>  <p>この API はネットワーク オペレーター(通信電話会社・キャリア) やハードウェアメーカー、OEM 向けに用意されているものです。つまり、一般のデベロッパーはこの API を利用したアプリをストアを経由し配布することができません。ぬか喜びさせてしまい、すみません。アプリとしての利便性と利用者の情報を守るセキュリティのバランス、と受け止めて下さい。</p>  <p>&#160;</p>  <p>では改めて、アプリでデバイスの電話番号を利用するため電話番号を取得したい場合、</p>  <p>・ユーザーによる手入力</p>  <p>・連絡先(<a href="https://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.contacts.contactpicker.aspx">ContactPicker</a>)より自分を選択し入力 (自分を入力していること前提です)</p>  <p>のいずれかになります。</p>  <p>また、アプリで電話番号表示を行いたい場合は、<a href="https://msdn.microsoft.com/en-us/library/windows/apps/mt228342.aspx">[設定 – システム - 電話] を直接呼び出す</a>ための ms-settings: URI スキームの ms-settings:phone を利用することも検討してください。</p>  <p>bool result = await Launcher.LaunchUriAsync(new Uri(&quot;ms-settings:phone&quot;));</p>  <p>&#160;</p>  <p>&lt;参考&gt;</p>  <p>SmsSendAndReceive サンプル : <a title="https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/SmsSendAndReceive" href="https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/SmsSendAndReceive">https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/SmsSendAndReceive</a></p>  <p>ContactPicker サンプル : <a title="https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/ContactPicker" href="https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/ContactPicker">https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/ContactPicker</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Azure Deep Dive Part2 で PowerApps について技術セッション実施しました</title>
      <link>https://docs.microsoft.com/archive/blogs/naokis/azure-deep-dive-part2-powerapps</link>
      <pubDate>Sun, 21 Feb 2016 23:28:30 GMT</pubDate>
      <dc:creator><![CDATA[佐藤 直樹 (マイクロソフト)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/naokis/2016/02/21/azure-deep-dive-part2-powerapps/</guid>
      <description><![CDATA[&#160;  本日 2/22(月) に Azure Deep Dive Part 2 というイベントがありました。  今回、「ビジネスアプリ開発ツール PowerApps...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p>本日 2/22(月) に Azure Deep Dive Part 2 というイベントがありました。</p>  <p>今回、「ビジネスアプリ開発ツール PowerApps とは」と題し、PowerApps についての技術セッションを実施しました。</p>  <p>もしかして、日本マイクロソフトとして初めて PowerApps を解説したセッションかも。</p>  <p>ということで、スライドを以下の通り公開しております。</p>  <div style="margin-bottom: 5px; max-width: 100%; width: 608px"><a title="ビジネスアプリ開発ツール PowerApps とは ～クラウドの力をマルチデバイスに展開する" style="font-family: &#39;Segoe UI&#39;" href="https://docs.com/nksato/f55518ee-c378-4897-ab88-42204361ac86" target="_blank">ビジネスアプリ開発ツール PowerApps とは ～クラウドの力をマルチデバイスに展開する</a><span style="font-family: &#39;Segoe UI Light&#39;">—</span><a style="font-family: &#39;Segoe UI&#39;" href="https://docs.com/nksato" target="_blank">Naoki Sato</a></div> <iframe style="max-width: 100%" height="377" src="https://docs.com/d/embed/D25194680-6193-2992-7920-001519619020%7eM61a4d712-211a-d6ad-b3b9-ca6f8bf37048" frameborder="0" width="608" scrolling="no" allowfullscreen="False"></iframe>  <p>ご活用ください。</p>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft/Windows-universal-samples で同じ簡易名のビルドエラー</title>
      <link>https://docs.microsoft.com/archive/blogs/naokis/microsoftwindows-universal-samples</link>
      <pubDate>Tue, 16 Feb 2016 04:17:08 GMT</pubDate>
      <dc:creator><![CDATA[佐藤 直樹 (マイクロソフト)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/naokis/2016/02/16/microsoftwindows-universal-samples/</guid>
      <description><![CDATA[UWP のサンプル Microsoft/Windows-universal-samples をビルドすると、以下のエラーが発生することがあります。  同じ簡易名...]]></description>
      <content:encoded><![CDATA[<p>UWP のサンプル <a href="https://github.com/microsoft/Windows-universal-samples/">Microsoft/Windows-universal-samples</a> をビルドすると、以下のエラーが発生することがあります。</p>  <p>同じ簡易名 'Windows.Graphics.Printing3D.Printing3DContract' でアセンブリが既にインポートされています。参照の 1 つ (例: 'C:\Program Files (x86)\Windows Kits\10\References\Windows.Graphics.Printing3D.Printing3DContract\1.0.0.0\Windows.Graphics.Printing3D.Printing3DContract.winmd') を削除するか、サイド バイ サイドを有効にするために署名してください。</p>  <p>同名の拡張ライブラリが複数バージョン入っており、プロジェクトの求めるバージョンと参照しているバージョンが不一致を起こしているときにこのエラーが発生します。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/0647.image_53BBF078.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/0647.image_5F00_53BBF078.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/2055.image_thumb_6D31D48A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/2055.image_5F00_thumb_5F00_6D31D48A.png" width="465" height="281" /></a></p>  <p>[参照の追加] にて、求めるバージョンにに変更する(この場合は、赤枠で囲まれた 10.0.10586.0) に変更することでエラーを回避し、ビルドすることができます。</p>]]></content:encoded>
    </item>
    <item>
      <title>Continuum for Phone (電話用の Continuum) に対応したアプリを作成する</title>
      <link>https://docs.microsoft.com/archive/blogs/naokis/continuum-for-phone-continuum</link>
      <pubDate>Thu, 04 Feb 2016 04:18:58 GMT</pubDate>
      <dc:creator><![CDATA[佐藤 直樹 (マイクロソフト)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/naokis/2016/02/04/continuum-for-phone-continuum/</guid>
      <description><![CDATA[&#160;  Windows 10 Mobile では Continuum for Phone と呼ぶ、キーボードやマウス、外部ディスプレイと接続することで、スマートフォンが PC...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p>Windows 10 Mobile では Continuum for Phone と呼ぶ、キーボードやマウス、外部ディスプレイと接続することで、スマートフォンが PC のようになる機能があります。対応ハードなどの前提などについては、「高橋忍のブログ」の「<a href="https://blogs.msdn.com/b/shintak/archive/2016/01/05/10662939.aspx">スマートフォン用 Continuum について</a>」に技術詳細の解説しておりますのでぜひご一読下さい。</p>  <p>アプリ開発者として気になるのは、何をすれば Continuum for Phone 対応のアプリにできるか、また Continuum for Phone を駆使したアプリはどうやって作ればいいか、という点です。2015年12月の blog 投稿 “<a href="https://blogs.windows.com/buildingapps/2015/12/07/optimizing-apps-for-continuum-for-phone/">Optimizing apps for Continuum for phone</a>” (英語) で解説がされておりますが、本記事ではいくつかのポイントに絞って説明します。</p>  <p>&#160;</p>  <p><strong><font color="#000000" size="2"><u>ユニバーサル Windows プラットフォーム (UWP) アプリは Continuum for Phone 対応</u></font></strong></p>  <p>少々乱暴ですが、「外部ディスプレイにアプリを表示し使用できること」、がアプリの Continuum for Phone 対応といえます。「<a href="https://blogs.msdn.com/b/shintak/archive/2016/01/05/10662939.aspx">スマートフォン用 Continuum について</a>」や「<a href="https://channel9.msdn.com/Shows/shinobu-Channel/-Windows-10-Mobile-Continuum-">これが Windows 10 Mobile の Continuum だ!!!</a>」(10:20付近) でも言及されている通り、この外部ディスプレイに表示できるのは Windows 10 の UWP アプリです。</p>  <p>Windows 10 UWP アプリは、デフォルトで Continuum for Phone に対応し、モバイルデバイス側でも、外部ディスプレイ側でもアプリが動作します。モバイルデバイス側のスタート画面のタイルをタッチすると、デバイス側でアプリが起動し、外部ディスプレイ側のスタートボタンからスタートメニューを開きアプリを起動すると、外部ディスプレイ側でアプリが起動します。</p>  <p>もし Continuum for Phone に対応した Windows 10 Mobile 実機があれば、開発用 PC にUSB 接続し UWP アプリを転送し試して下さい。Visual Studio 2015 で UWP プロジェクトを作成し、対応プロセッサを実機のそれに変更、ビルド後に [配置] を行うことで USB 接続されたデバイスにアプリが転送されます。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/2626.image_23B98ECF.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/2626.image_5F00_23B98ECF.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/0486.image_thumb_45A4F153.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/0486.image_5F00_thumb_5F00_45A4F153.png" width="543" height="290" /></a>&#160;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/7418.image_79D91A99.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/7418.image_5F00_79D91A99.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/8510.image_thumb_7E522C11.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/8510.image_5F00_thumb_5F00_7E522C11.png" width="222" height="291" /></a></p>  <p><font size="1">※デバイス側で [設定 - 更新とセキュリティ - 開発者向け] にて、[開発者モード] を有効にしておきます。</font>&#160;</p>  <p>転送後、Continuum を起動し外部ディスプレイと接続し、どちらのディスプレイでもアプリが起動することが確認できます。</p>  <p>&#160;</p>  <p><strong><u><font size="2">Continuum for Phone 向けにアプリを最適化する</font></u></strong></p>  <p>デフォルトでの対応はそのまま動くだけです。スクリーンサイズやマウスでの操作性を意識し、アプリをより使いやすく調整することが必要な場合があります。モバイルデバイス側、外部ディスプレイ側のどちらのサイズでもアプリの表示が最適化するよう、レスポンシブデザイン手法を用います。</p>  <p>UWP におけるレスポンシブデザインについては「<a href="https://msdn.microsoft.com/ja-jp/library/windows/apps/dn958435.aspx">ユニバーサル Windows プラットフォーム(UWP) アプリ用レスポンシブ デザイン 101</a>」や <a href="https://channel9.msdn.com/Series/UWP-workshop">UWP アプリ開発ワークショップ</a>の「様々な画面サイズに合わせたアダプティブ UI」が参考になります。</p>  <p>前述のワークショップのリンク内のドキュメントやビデオでも、例えば PC とモバイルデバイスでデザインが大きく異なる場合、ページを別々に用意し切り替える <a href="https://msdn.microsoft.com/en-us/library/windows/apps/xaml/mt228350.aspx#tailored_layouts">デバイス固有のtailored レイアウト</a> の方法も解説されています。これは実行環境のデバイスファミリーによるビューを切り替える仕組みなのですが、Continuum for Phone の場合、デバイス側、外部ディスプレイ側のどちらでアプリが動作していても、<a href="https://msdn.microsoft.com/en-us/library/windows/apps/windows.system.profile.analyticsversioninfo.devicefamily.aspx">DeviceFamily API</a> は Mobile を返します。外部ディスプレイ側は PC のようにアプリが動いているのですがデバイスファミリーは Mobile のため、PCとモバイルデバイスでデザインページを別々にし切り替える <a href="https://msdn.microsoft.com/ja-jp/library/windows/apps/xaml/mt228350.aspx#tailored_layouts">デバイス固有のtailored レイアウト</a> の方法は使えません。タブレット向けとモバイルデバイス向けを1つのソースコードで管理するときは、この条件を丁寧に見定めます。</p>  <p>そこで、AdaptiveTrigger/VisualStateManager クラス、 SizeChnaged イベントなどを用いて<a href="https://msdn.microsoft.com/ja-jp/library/windows/apps/xaml/mt228350.aspx">アダプティブレイアウト</a> でデザインを進めます。 なお、<a href="https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.viewmanagement.userinteractionmode.aspx">UserInteractionMode API</a> は</p>  <table cellspacing="0" cellpadding="2" width="508" border="1"><tbody>     <tr>       <td valign="top" width="201">デバイス側</td>        <td valign="top" width="305">常に Touch | touch を返す</td>     </tr>      <tr>       <td valign="top" width="202">外部ディスプレイ側</td>        <td valign="top" width="305">常に Mouse | mouse を返す</td>     </tr>   </tbody></table>  <p>となっているため、SizeChnaged イベントでのレイアウト変更に活用します。</p>  <p>&#160;</p>  <p>なお、外部ディスプレイ対応が十分でなく Continuum 非対応のアプリにする場合、マニフェストファイルに外部ディスプレイへの表示をブロックする記述を行います。</p>  <p>&lt;Package&gt;タグにネームスペースの追加：</p>  <p>&lt;Package xmlns=&quot;https://schemas.microsoft.com/appx/manifest/foundation/windows10&quot;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xmlns:mp=&quot;https://schemas.microsoft.com/appx/2014/phone/manifest&quot;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xmlns:uap=&quot;https://schemas.microsoft.com/appx/manifest/uap/windows10&quot;     <br /><font color="#0000ff">xmlns:mobile=&quot;https://schemas.microsoft.com/appx/manifest/mobile/windows10&quot;      <br /></font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; IgnorableNamespaces=&quot;uap mp <font color="#0000ff">mobile</font>&quot;&gt;</p>  <p>&lt;Application&gt;タグに&lt;Extensions&gt; ブロックを追加：&#160; </p>  <p>&lt;Applications&gt;    <br />&#160;&#160;&#160; &lt;Application ...&gt;     <br />&#160;&#160;&#160;&#160;&#160; <font color="#0000ff">&lt;Extensions&gt;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;mobile:Extension Category=&quot;windows.mobileMultiScreenProperties&quot;&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;mobile:MobileMultiScreenProperties RestrictToInternalScreen=&quot;true&quot;/&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/mobile:Extension&gt;       <br />&#160;&#160;&#160;&#160;&#160; &lt;/Extensions&gt;       <br /></font>&#160;&#160;&#160; &lt;/Application&gt;     <br />&#160; &lt;/Applications&gt;</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/3808.image_1E0105DA.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/3808.image_5F00_1E0105DA.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/4503.image_thumb_39395EDB.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/4503.image_5F00_thumb_5F00_39395EDB.png" width="559" height="274" /></a></p>  <p>RestrictToInternalScreen に true を設定すると、外部ディスプレイ側のスタートメニューのタイルがグレーアウトされ、タイルをクリックし実行しようとすると注意のメッセージボックスが表示されモバイルデバイス側でアプリが実行されます。アプリを Continuum for Phone 対応が完了した際に、false に設定します。</p>  <p>&#160;</p>  <p><strong><u><font size="2">2つのディスプレイを利用する</font></u></strong></p>  <p>モバイルデバイスと外部ディスプレイの 2つの画面は独立しているため、電話を受けながら外部ディスプレイ側の Excel を操作する、といったような 2つのアプリを同時に起動し利用することも可能です。では、1つのアプリでこの2つの画面を利用することはできるのでしょうか？ ずばり、可能です。PowerPoint では、モバイルデバイス側に発表者ツール、外部ディスプレイ側にプレゼンテーションを表示する、という活用を行っています。</p>  <p>この2つのディスプレイを利用するには、プロジェクション マネージャー (<a href="https://msdn.microsoft.com/ja-jp/library/windows/apps/windows.ui.viewmanagement.projectionmanager.aspx">ProjectionManager</a> クラス) を利用します。プロジェクション マネージャーは、アプリの個別のウィンドウを別の画面に表示することができます。そこで、アプリで複数のウィンドウ(<a href="https://msdn.microsoft.com/ja-jp/library/windows/apps/windows.ui.viewmanagement.applicationview.aspx">アプリビュー</a>)を作成し、プロジェクションマネージャーを用いて、一方を外部ディスプレイ側に出力することで、2つのディスプレイを1つのアプリで利用します。以下コード例 ( <a href="https://github.com/nksato/UWP-Samples-ContinuumForPhone">UWP Samples – Continuum for Phone</a> サンプルより抜粋)です。</p>  <p>private async void Projection_Click(object sender, RoutedEventArgs e)    <br />{     <br />&#160;&#160;&#160; // 外部ディスプレイが利用できる場合     <br />&#160;&#160;&#160; if (ProjectionManager.ProjectionDisplayAvailable)     <br />&#160;&#160;&#160; {     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; // 現在のアプリケーション画面を取得する     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; int thisViewId;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; thisViewId = ApplicationView.GetForCurrentView().Id;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; int newViewId = 0; </p>  <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; // 新しいアプリケーション画面を作成する    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; await CoreApplication.CreateNewView().Dispatcher.RunAsync(     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; CoreDispatcherPriority.Normal, () =&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var rootFrame = new Frame();     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; // 引数として、簡易的にアプリケーション画面の id を渡す。     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; rootFrame.Navigate(typeof(ProjectionViewPage), thisViewId);     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Window.Current.Content = rootFrame;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Window.Current.Activate();     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; // 新しいアプリケーション画面を取得する     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var newView = ApplicationView.GetForCurrentView();     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; newViewId = newView.Id;</p>  <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; });</p>  <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; // StartProjectingAsync(projectionViewId, anchorViewId)    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; // projectionViewId - 外部ディスプレイ側：newViewId     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; // anchorViewId - アンカー側:thisViewId     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; //&#160; 外部ディスプレイ側のスタートメニューからアプリを起動した場合、     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; //&#160; パラメータ projectionViewId に新しい view (ProjectionViewPage)が指定されているため、     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; //&#160; デバイス側側に MainPage,外部ディスプレイ側に ProjectionViewPage が表示される。     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; await ProjectionManager.StartProjectingAsync(newViewId, thisViewId);</p>  <p>&#160;&#160;&#160; }    <br />}</p>  <p>&#160;</p>  <p><strong><u><font size="2">Continuum for Phone 対応のデバイスをこれから手に入れる方向け</font></u></strong></p>  <p>諸事情で Continuum for Phone 対応のデバイスの入手がこれからで、とはいうものの Continuum for Phone 対応のアプリの開発を進めなければならないこともあります。実機が届くまでの回避策として、Windows 10 + 外部ディスプレイのマルチディスプレイ環境で、一定レベルまで進めることができます。</p>  <p>それぞれのディスプレイで独立して動作する場合は、デバッグ実行中のアプリのウィンドウ幅を変更し、モバイルデバイスと外部ディスプレイを模してデバッグします。また、2つのディスプレイを利用するアプリの場合は、開発用 PC に接続したディスプレイを拡張（表示画面を拡張する）として表示し、外部ディスプレイ側に表示するウィンドウ/アプリビューを拡張した外部ディスプレイに表示するようにします。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/2514.image_227A1752.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/2514.image_5F00_227A1752.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/8233.image_thumb_56AE4098.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/8233.image_5F00_thumb_5F00_56AE4098.png" width="211" height="302" /></a></p>  <p>開発用 PC に接続する外部ディスプレイは、有線接続でも、Miracast による無線接続でもどちらでも構いません。ただし、MediaElement による組み込みキャスト機能や GetAsCastingSource メソッド(UWP/HTML の場合 msGetAsCastingSource メソッド)、<a href="https://msdn.microsoft.com/ja-jp/library/windows/apps/windows.media.casting.castingdevicepicker.aspx">CastingDevicePicker</a> クラスなどを利用してのリモートデバイスへのキャストがある場合は、実際のシナリオに近い Miracast による無線接続をお勧めします。</p>  <p>もちろん、最後の調整は実機環境で行ってください。</p>  <p>なお、Mobile デバイス <a href="https://msdn.microsoft.com/ja-jp/library/dn975273.aspx">プラットフォーム固有</a>の機能 (Windows Mobile Extensions for the UWP) を利用する場合は、<a href="https://dev.windows.com/ja-jp/downloads">Microsoft Emulator for Windows 10 Mobile</a> 上でのデバイス側のデバッグを行ったうえで、実機での確認を行ってください。</p>  <p>&#160;</p>  <p><strong><u><font size="2">Continuum for Phone 対応に向けてまとめ</font></u></strong></p>  <p>・レスポンシブデザイン</p>  <p>・さらにディスプレイを活用するシナリオではプロジェクション マネージャー</p>  <p>・実機が手に入るまでは、開発 PC + 外部ディスプレイ（拡張）。Miracast アダプタもあるとなおよい。</p>  <p>&#160;</p>  <p>&lt;参考情報&gt;</p>  <p>“<a href="https://blogs.windows.com/buildingapps/2015/12/07/optimizing-apps-for-continuum-for-phone/">Optimizing apps for Continuum for phone</a>” </p>  <p>UWP SDK Sample&#160; <a href="https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/Projection">Projection</a></p>]]></content:encoded>
    </item>
    <item>
      <title>1/22 UWP HOL 「多様なデバイスに対応する UI 設計」で案内したリンク</title>
      <link>https://docs.microsoft.com/archive/blogs/naokis/122-uwp-hol-ui-12531</link>
      <pubDate>Thu, 21 Jan 2016 19:22:50 GMT</pubDate>
      <dc:creator><![CDATA[佐藤 直樹 (マイクロソフト)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/naokis/2016/01/21/122-uwp-hol-ui-12531/</guid>
      <description><![CDATA[&#160;  本日、「1 日で Windows 10 に対応したアプリ開発手法が習得できるハンズオン～ Windows 10 UWP Developer Workshop 【第 3...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p>本日、「<a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032708683&amp;culture=ja-JP">1 日で Windows 10 に対応したアプリ開発手法が習得できるハンズオン～ Windows 10 UWP Developer Workshop 【第 3 回】</a>」を日本マイクロソフト 品川オフィスで実施中です。</p>  <p>ご来場された皆さま、ありがとうございます。</p>  <p>2番目の「多様なデバイスに対応する UI 設計」のセッション部分でご紹介した Web ページへのリンクは以下の通りとなります。</p>  <p>ぜひご一読くださいませ。</p>  <p>&#160;</p>  <p>&lt;レスポンシブ デザイン&gt;</p>  <p><a href="https://msdn.microsoft.com/ja-jp/library/windows/apps/dn958435.aspx">ユニバーサル Windows プラットフォーム (UWP) アプリ用レスポンシブ デザイン 101</a></p>  <p><a href="https://msdn.microsoft.com/en-us/library/windows/apps/dn958435.aspx">Responsive design 101 for Universal Windows Platform (UWP) apps</a> (英語)</p>  <p>&lt;物理DPI&gt;</p>  <p><a href="https://msdn.microsoft.com/en-US/library/windows/apps/windows.graphics.display.displayproperties.logicaldpi">DisplayProperties.LogicalDpi | logicalDpi property</a> (英語)</p>  <p><a href="https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/DpiScaling">サンプルコード : GitHub Microsoft/Windows-universal-samples/DpiScaling</a></p>  <p>&lt;Tailored デザイン&gt;</p>  <p><a href="https://dev.windows.com/ja-jp/getstarted/whats-new-windows-10">Windows 10 の開発者向け最新情報 - 複数のビューによるコンテンツのカスタマイズ</a></p>  <p><a href="https://dev.windows.com/en-US/getstarted/whats-new-windows-10#adaptive">What’s new for developers in Windows 10 - Multiple Views for tailored content</a> (英語)</p>  <p><a href="https://blogs.msdn.com/b/cdndevs/archive/2015/07/13/tailored-views-or-one-more-way-to-create-universal-interfaces.aspx">Tailored views or one more way to create Universal interfaces</a> (英語)</p>  <p>&lt;Continuum for Phone 対応のアプリ開発&gt;</p>  <p><a href="https://blogs.windows.com/buildingapps/2015/12/07/optimizing-apps-for-continuum-for-phone/">Optimizing apps for Continuum for phone</a> (英語)</p>]]></content:encoded>
    </item>
    <item>
      <title>Windows 10/Surface Pro 3 でプレゼンする時の設定</title>
      <link>https://docs.microsoft.com/archive/blogs/naokis/windows-10surface-pro-3</link>
      <pubDate>Thu, 10 Dec 2015 18:25:45 GMT</pubDate>
      <dc:creator><![CDATA[佐藤 直樹 (マイクロソフト)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/naokis/2015/12/10/windows-10surface-pro-3/</guid>
      <description><![CDATA[最近、お客様先でプレゼンした際「これ、どうやっているんですか？」「 Surface...]]></description>
      <content:encoded><![CDATA[<p>最近、お客様先でプレゼンした際「これ、どうやっているんですか？」「 Surface がほしくなります」とコメントいただきました。お褒めの言葉は（仮にお世辞としても）うれしいので、設定と行った操作について共有いたします。</p>  <p><font color="#9b00d3" size="3">使用機器</font></p>  <p>使用しているデバイス：Surface Pro 3 + Pen + マウス + Surface Pro 4 タイプ カバー &lt;Pro 4 タイプカバーは Pro 3 にも接続できるので、 世にいうところの Surface Pro 3.5 化です&gt;</p>  <p>OS : Windows 10 Pro (バージョン 1511/ビルド 10586.17) &lt;<a href="https://insider.windows.com/">Windows Insider Program</a> に入っています。&gt;</p>  <p><font color="#9b00d3" size="3">環境・設定</font></p>  <p><u>仮想デスクトップを使う</u></p>  <p>Windows 10 の「タスクビュー」では、 複数のデスクトップ（いわゆる「仮想デスクトップ」）を作成することができます。そこで、PowerPoint を表示するデスクトップ１、Visual Studio を表示するデスクトップ2 といくつかのデスクトップを用意します。</p>  <p><u>プロジェクタ出力の方法を検討する</u></p>  <p>プレゼンテーションする際のプロジェクタへの出力設定で、 「複製」を選択し、PowerPoint では「発表者モニターを使用する」のチェックを外します。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/7002.image_083B8C10.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/7002.image_5F00_083B8C10.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/7802.image_thumb_77C31B14.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/7802.image_5F00_thumb_5F00_77C31B14.png" width="620" height="415" /></a></p>  <p>これは、Pen を用いて加筆する際、加筆をリアルタイムに表示するため、発表者ツールを使用せずプロジェクタとディスプレイに同じ絵を表示するためです。ノート欄を見ることができませんが、それ以上の効果があるため自分の言葉になるよう内容はしっかり予習・復習します。</p>  <p><font color="#9b00d3" size="3">操作</font></p>  <p><u>仮想デスクトップの切り替えで行います</u></p>  <p>[ESC] を押してプレゼンテーションを止め、デモ用の Visual Studio に切り替えるのではなく、仮想デスクトップを切り替える操作でスライド表示と Visual Studio の表示を切り替えます。キーボードショートカットは [Ctrl] + [Windows キー] + [-&gt;(右矢印)] または [Ctrl] + [Windows キー] + [&lt;-(左矢印)] になります。</p>  <p>また、プレゼンテーションを拡大表示する際、 <a href="https://technet.microsoft.com/ja-jp/sysinternals/bb897434.aspx">ZoomIt</a> を使います。なお、Visual Studio 2015 はピンチ操作でコード表示のエディタ画面のズームができますので、コード部分を拡大表示するときは ZoomIt ではなくピンチ操作でズームします。</p>  <p>&#160;</p>  <p>これらの Tips はプレゼンテーションをスムーズにする効果はありますが、内容そのものをよくする効果はありませんので、そこは各自努力の程を。。。とはいえ、見ている方の理解を深めるため、こういった Tips も覚えておくとよいかと。</p>]]></content:encoded>
    </item>
    <item>
      <title>12/17(木) 第2回 Windows 10 UWP Developer Workshop に向けて</title>
      <link>https://docs.microsoft.com/archive/blogs/naokis/1217-2-windows-10-uwp-developer-workshop</link>
      <pubDate>Tue, 08 Dec 2015 06:14:44 GMT</pubDate>
      <dc:creator><![CDATA[佐藤 直樹 (マイクロソフト)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/naokis/2015/12/08/1217-2-windows-10-uwp-developer-workshop/</guid>
      <description><![CDATA[12月17日(木) に「UWP の基礎や UWPを意識した UI 設計の方法から、音声認識アシスタント Cortana...]]></description>
      <content:encoded><![CDATA[<p>12月17日(木) に「UWP の基礎や UWPを意識した UI 設計の方法から、音声認識アシスタント Cortana とアプリの連携の実装、さらにストアでのマネタイズの手法まで、アプリの開発から公開までに必要なすべての内容を 1 日で学ぶこと」を目的とした、「<a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032693632&amp;Culture=ja-JP&amp;community=0">1 日で Windows 10 に対応したアプリ開発手法が習得できるハンズオン～ Windows 10 UWP Developer Workshop 【第 2 回】</a>」ハンズオン セミナーが開催されます。</p>  <p>事前準備について、<a href="https://blogs.msdn.com/b/visualstudio_jpn/archive/2015/12/10/windows-10-uwp-hol-prep.aspx">こちら</a>でも説明させていただいておりますので、ご一読し準備作業の程お願いいたします。</p>  <p>既に Windows 10 + Visual Studio 2015 環境をご用意いただいている方も、必要な機能が入っていないこともありますので、セミナーの2日前には確認し必要に応じて機能追加のインストールを行ってください。</p>  <p>&#160;</p>  <p><font color="#9b00d3" size="3" face="Meiryo UI">実習用 PC</font></p>  <p>Windows 10 がインストールされた PC をご用意ください。</p>  <p>ハードウェアとしては、タッチ対応やペン対応の PC をご用意いただくと、「More Personal Computing – Cortana, Windows Hello etc,」の演習にてタッチ操作・ペン・マウスそれぞれの操作で Ink 機能の確認ができますので、おすすめです。もちろん、ペンやタッチ対応しておらず、マウスの環境でも Ink 機能は利用できますので、安心してください。</p>  <p>なお、Windows 10 日本語版にコルタナが正式実装されたのは、Windows 10 November Update (別名 Windows 10 バージョン 1511 (OS ビルド 10586)) からとなります。インストールされた OS のバージョン確認には、winver.exe を実行して下さい。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/6011.image_20FE3C24.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/6011.image_5F00_20FE3C24.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/8883.image_thumb_6DB0599F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/8883.image_5F00_thumb_5F00_6DB0599F.png" width="302" height="287" /></a></p>  <p>(本画像は Insider Preview Fast Ring のため ビルドが 10586.17 となっております)</p>  <p>Windows Update を通じて Windows 10 へのアップデートインストールを行いますが、OS インストールメディア(DVD, USB, ISO) を作成する場合は<a href="https://www.microsoft.com/ja-jp/software-download/windows10">メディア作成ツール</a>を実行してください。</p>  <p>(追記) OSインストール後に、[スタート] - [設定] – [更新とセキュリティ] – [開発者向け] を選択し、右ペインにて [開発者モード] にチェックを入れてください。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/1781.image_291DB109.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/1781.image_5F00_291DB109.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/7658.image_thumb_2A81D3DB.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/7658.image_5F00_thumb_5F00_2A81D3DB.png" width="433" height="303" /></a></p>  <p>&#160;</p>  <p><font color="#9b00d3" size="3">Visual Studio 2015 のインストール</font></p>  <p><a href="https://www.microsoft.com/ja-jp/dev/products/visual-studio-2015.aspx">Visual Studio 2015</a> は有償版の Enterprise Edition/Professional Edition 、無償版の Community Edition のいずれかをインストールしてください。ただし、インストールの際、以下の3つのオプションを必ず選択してください。</p>  <ul>   <li>Microsoft SQL Server Data Tools </li>    <li>Web Developer Tools </li>    <li>ユニバーサル Windows アプリ開発ツール </li> </ul>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/4251.image3_0A389BA7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/4251.image3_5F00_0A389BA7.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/5684.image3_thumb_78D38AF5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/5684.image3_5F00_thumb_5F00_78D38AF5.png" width="318" height="445" /></a></p>  <p>「Microsoft SQL Server Data Tools」と「Web Developer Tools」は、「クラウドのパワーを活用したアプリ開発手法」の演習で必要となる、Azure SDK の前提環境です。</p>  <ul><!--EndFragment--></ul>  <p>既に Visual Studio 2015 をインストール済みの方は、コントロールパネルを起動し、「Visual Studio 2015」を選択、[変更] をクリックし上記3つの機能を追加してください。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/0363.image8_0E7A9708.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/0363.image8_5F00_0E7A9708.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/1462.image8_thumb_625D9A16.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/1462.image8_5F00_thumb_5F00_625D9A16.png" width="508" height="378" /></a></p>  <p>後から機能を追加するのは、整合性確認などにより非常に時間がかかる場合があります。セミナーの2日前には確認してください。</p>  <p>&#160;</p>  <p><font color="#9b00d3" size="3">Azure SDK のインストール</font></p>  <p>Azure SDK をインストールします。「クラウドのパワーを活用したアプリ開発手法」の演習で必要な SDK です。</p>  <p><a href="https://azure.microsoft.com/ja-jp/downloads/">Azure SDK とツールのダウンロード</a> のページより、[SDK] –&gt; [.NET] –&gt; [VS 2015] をクリックし、Visual Studio 2015 用 SDK for .NET (VWDOrVs2015AzurePack.exe) をダウンロードし実行することで、インストールが行われます。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/6758.image_2B8345D0.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/6758.image_5F00_2B8345D0.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/6170.image_thumb_720035D8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/6170.image_5F00_thumb_5F00_720035D8.png" width="645" height="367" /></a></p>  <p>&#160;</p>  <p><font color="#9b00d3" size="3">Microsoft Universal Ad Client SDK のインストール (オプション)</font></p>  <p>「Windows ストアへのアプリ申請とマネタイズ方法」演習には、<a href="https://dev.windows.com/ja-jp/monetize/ads">Microsoft Advertising</a> (および Ad Mediation/広告仲介) からの広告をアプリに組み込むための「Microsoft Universal Ad Client SDK」のインストール作業が含まれています。</p>  <p>演習作業の中でインストールを行ってもよいのですが、事前にインストールを行っておくと、コード記述に集中できます。</p>  <p>インストールを行う際、Visual Studio を起動し<a href="https://msdn.microsoft.com/ja-jp/library/dd293638.aspx">拡張機能を検索する機能</a>を用いて SDK を検索しインストールします。</p>  <p>インストール手順は、[ツール] – [拡張機能と更新プログラム] を選択し、「拡張機能と更新プログラム」ダイアログの左ペインで [オンライン] を選択します。ダイアログ右上の検索ボックスに「Microsoft Universal Ad」を入力すると「Microsoft Universal Ad Client SDK」が表示されますので、[ダウンロード] をクリックし、インストール作業を進めます。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/0827.image_3F9C6259.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/0827.image_5F00_3F9C6259.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/metablogapi/6201.image_thumb_48F8278D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52-metablogapi/6201.image_5F00_thumb_5F00_48F8278D.png" width="533" height="403" /></a></p>  <p>&#160;</p>  <p><font color="#9b00d3" size="3">まとめ</font></p>  <p>以下、インストール先のまとめです。</p>  <ul>   <li>Windows 10 : Windows Update または <a href="https://www.microsoft.com/ja-jp/software-download/windows10">メディア作成ツール</a> </li>    <li>Visual Studio 2015 : <a href="https://www.microsoft.com/ja-jp/dev/products/visual-studio-2015.aspx">Visual Studio 2015</a> のページ </li>    <li>Azure SDK : <a href="https://azure.microsoft.com/ja-jp/downloads/">Azure SDK とツールのダウンロード</a> のページ </li>    <li>Ad SDK : [ツール] - [拡張機能と更新プログラム] よりインストール </li> </ul>  <p>&#160;</p>  <p>Windows 10 と Visual Studio 2015 、関連 SDK のインストールは一定の時間がかかります。なるべく早めに準備を行い、万全の態勢で当日の演習をお楽しみください。</p>  <p>当日皆さまにお会いできることを楽しみにしています。お待ちしております。</p>]]></content:encoded>
    </item>
    <item>
      <title>UWP : アプリ入ってますか？ カスタム URI スキームをチェックする</title>
      <link>https://docs.microsoft.com/archive/blogs/naokis/uwp-uri-12</link>
      <pubDate>Thu, 03 Dec 2015 23:55:00 GMT</pubDate>
      <dc:creator><![CDATA[佐藤 直樹 (マイクロソフト)]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/naokis/2015/12/03/uwp-uri-12/</guid>
      <description><![CDATA[UWP...]]></description>
      <content:encoded><![CDATA[<p>UWP アプリ間で連携する際、連携先のアプリがあるかどうか確認したいことがあります。</p>
<p>例えば、新聞アプリやニュースアプリ上で選択したテキストに対して右ボタンクリックなどのコンテキストメニューから、辞書アプリを起動し選択した文字の意味を調べる、といったアプリ間連携のシナリオです。</p>
<p>&nbsp;</p>
<p>この場合、アプリをアクティブ化する方法として、アプリに対してカスタム URI スキームを定義する方法があります。</p>
<p>プレインストールされているアプリでも&nbsp;URI スキームが用意されているものもあります。代表的なものとしてアプリが一覧表示されているマーケットプレイスである「ストア」アプリは、以下のリンクのように URI スキームが用意されています。</p>
<p>https://msdn.microsoft.com/ja-jp/library/windows/apps/mt228343.aspx</p>
<p>単に起動するだけではなく、パラメータを渡すこともできることが分かります。つまり、辞書アプリのシナリオ例もカバーできるアクティブ化の方法です。</p>
<p>&nbsp;</p>
<p>さて、連携アプリ側でカスタム URI スキームを用意されていると、その URI が存在し必要な情報が一致すればアプリがインストールされているとみなしてアプリを起動する、といった方法をとることが少なくありません。</p>
<p>アプリがインストールされていない場合はボタンやトグルスイッチを disable 状態にして、アプリを起動したのにエラーになった、というユーザの満足度を下げるアプリのふるまいを制限することができます。</p>
<p>&nbsp;</p>
<p>そこで、カスタム URI が存在しているかどうかのチェックですが、、、Windows 8/8.1 の Windows Runtime では残念ながらありませんでした。</p>
<p>Windows 10 では、Launcher クラスが強化され、URI スキームに対してアプリが割り当てられているかチェックする FindUriSchemeHandlersAsync メソッドが用意されました。</p>
<p>以下簡単な例です。</p>
<div>&nbsp;private async void&nbsp;FindUriScheme()<br />&nbsp;{</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var res = await Launcher.FindUriSchemeHandlersAsync("http");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var resappinfo = res[0].PackageFamilyName;<br />}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;</div>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/5736.TestLauncher.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52/5736.TestLauncher.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/71/52/5736.TestLauncher.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-52/5736.TestLauncher.png" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>Classic Windows applications は対象ではありませんので、要注意です。</p>
<p>&nbsp;</p>
<p>なお、ファイル拡張子によりアプリチェックする FindFileHandlersAsync メソッドも用意されています。このメソッドでは</p>
<p>Launcher.FindFileHandersAsync(".hoge")</p>
<p>といったように、. (ピリオド/ポチ)を付けて指定します。こちらも同様に、Classic Windows applications は対象ではありません。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
  </channel>
</rss>