Windows 8 Developers

Windowsストアアプリ開発とかその他もろもろのブログ。

※参加自由なWindows8開発コミュニティをFacebookグループでやってます。
https://www.facebook.com/groups/win8.developers/

その他、技術情報リンク集を下記にまとめています。
http://windows8-developers.hatenablog.com/entry/2013/02/20/155410


Windowsストアアプリ内におけるプライバシーポリシー宣言の方法(JavaScript)

Twitterのタイムラインを取得するだけ、という簡単なアプリを作ったのですが、アプリ認定の際に「ネットワーク使ってるのにプライバシーポリシー宣言無いからNG」という事で突き返されました。

f:id:win8dev:20130528191923p:plain

審査担当者コメントを見ると。アプリの「機能」の宣言で「ネットワーク」を使うと言っている以上、プライバシーポリシーが必須。確認すると、これが原因でのリジェクトが一番多いらしい。Web連携当たり前の現代ではそりゃそうだろうと思う。

別に個人情報とか収集しないから要らないでしょって思いながらも追加しました。C#だとやり方解説したサイトがいくつかあったのですがJSなかったので参考までに。

 

①アップバーにリンクボタンを追加してあげる

右クリックまたは画面下から上へフリックした時に出るアップバーにリンクボタンを追加してあげます。任意のhtmlファイルのbody部に下記を追加します。

 ■default.html

    <!-- アプリバー -->

    <div id="appBar" data-win-control="WinJS.UI.AppBar">

        <button id="policyButton" 

            data-win-control="WinJS.UI.AppBarCommand"

            data-win-options="{

                label:'プライバシーポリシー',

                icon:'link'}" >

        </button>

    </div>

 "icon"の部分についてはどうやら標準で色々用意されているらしいですが、情報が見つからなかったので勘でlinkと書いてみたらちゃんと出ました。らっきー。

f:id:win8dev:20130528192925p:plain

表示されるようになったので、実際にポリシーを記載したページにリンクしてあげましょう。

 

②ポリシーを宣言したページを作成する。

ポリシーは色々なUPの仕方があるのですが、テキストで書いてあれば良いらしく、自分のアプリは個人で出すものなのでブログの1ページをポリシー代わりにしてしまいました。下記リンクがそのポリシーになります。

http://win8dev.hatenablog.com/entry/2013/05/28/191039

 

③ボタンイベントでポリシーページを呼び出すようにしてあげる。

後は任意のJSファイルにクリックイベントとリンク先を書いてあげればOK。

■default.js

 //プライバシーポリシーボタン

        $("policyButton").addEventListener("click", function () {

            //updateTimeline(1);

            window.open("http://win8dev.hatenablog.com/entry/2013/05/28/191039");

            $("appBar").winControl.hide();

        });

イベントはアプリ起動時に呼ばれるリスナー指定の所に書いてあげてください。

これでボタンを押したら別ブラウザでポリシーを表示するようになりました。

プライバシーポリシー自体は私が書いているような汎用的な内容にすれば他アプリからリンクしても何ら問題は無いと思います。

それにしても正論ではあるのですが、なんでこんな面倒な事になってしまったんですかね。