About Windows Store App with Leap Motion device

Sorry, English later, first Japanse.
私の友人でもある初音さんが、Leap Motion必須というWindows ストア アプリを公開してくれました。このアプリは、Leap Simon Saysというものです。更に初音さんが素晴らしいのは、Windows ストアの審査に通す過程を色々とまとめて下さっていることです。初音さんの許可を頂いているので、どうやったかを簡単に解説したいと思います。まとめて読みたい方は、Leap Motion必須のWindows ストア アプリが審査に通りましたというエントリーをお読みください。

  1. Leap対応アプリで審査の壁が越えられない
    Leap Motion SDKが提供するLeap.dllやLeapCSharp.dllが、MSVCP100.DLL(Visual Studio 2010)に依存しているために、デバッグ環境で実行できても、WACKが失敗を返すというものです。この壁を完全にクリアーするには、Leap Motion SDKが Visual Studio 2013対応になるのを待たなければなりません。ですので、Leap MotionへWindows ストア アプリをサポートするようにリクエストを投げてみてください。
  2. Leap対応アプリがWACKチェックをクリアして審査中
    Leap Motion SDKが、HTMLアプリのために用意しているleap.jsがアクセスするWeb ServicesへプログラムからWebSocketを使用してアクセスするようにして、WACKにパスしたという話になります。まあ、Web Servicesが返すJSONに関してはleap.jsやデータをダンプして確認してから作成したということになります。
  3. Leap対応アプリがWACKチェックをクリアして審査リジェクト
    認定要件1.2、6.2、6.8を満たしていないという理由でリジェクトになりました。対応としては、アプリの説明にLeap Motionが必須であり、ループバックが必須と明記し、ループバックなので外部へアクセスしないことを明記し、アプリで英語表記も使っていることなどを明記して、もう一度申請したという流れになります。
  4. Leap Motion必須のWindows ストア アプリが審査に通りました
    結局は、年齢区分を12歳以上にして提出することでパスしました。

簡単にまとめると初音さんが行った方法は、以下の2種類に大別できます。最初に、開発時の対応は以下のことを実施しています。

  • Leap Motionとストア アプリの接続にWeb Servicesを利用した。
  • アプリが提供する情報として、Leap Motionが必須であることを明記。
  • また、ループバックを使用していることを情報として明記。
  • 最後に、ループバックを使用するためのガイドを情報として明記。
  • プライバシーポリシーの設置。

次に申請時に以下の対応を実施しています。

  • アプリの説明欄に以下を明記。
  • Leap Motion デバイスが必須。
  • ループバック を使用していることを明記。
  • 本来のアプリの説明。
  • 年齢区分を12歳以上に設定。

このアプリは、ストア アプリではデバイス アプリの一種として考えることができます。もちろん、利用する場合は利用者がループバックを使用できるようにする必要がありますが、それでもLeap Motionデバイスを使ったアプリを公開できたという素晴らしい経験を共有してくれたことに私は感謝しています。

もちろん、同じ作業を行ったからと言って100%審査に合格することを保証するものではありません。それでも、できたという経験が非常に大切なことだと私が考えるからです。皆さんは、如何でしょうか。是非、Leap Motionをお持ちの方は使ってフィードバックをしてあげてください。
最後に、初音さん、本当に有難うございました。感謝しています。

=====================================================================================
Last english:

Hatsune-san, my friend, published Windows store app required Leap Motion device. This app is Leap Simon Says. So he publish this work on his blogs.  I get his permission and explain his work.  His entry locate Passed a store app that required Leap Motion device. Of course, this entry written in Japanese.

  1. WACK report failed for store app with Leap Motion (written in Japanese)
    The library of Leap Motion SDK, such as Leap.dll and LeapCSharp.dll, depend on MSVCP100.DLL(Visual Studio 2010). So work fine on debug environment.  But WACK report failed. To perfect solution, we wait until Leap Motion SDK support Visual Studio 2013. Please you request "support Windows Store Apps" to Leap Motion. 
  2. Under store certification of a store app with Leap Motion(written in Japanese).
    Leap Motion SDK include leap.js for html app. This library access Web Services via loopback. An app use WebSocket via Web Services. So WACK report pass. For this, This must have investigated the JSON format.
  3. An store app with Leap Motion, WACK passed bun store certification rejected(written in Japanese).
    An app rejected via the cetification requirement 1.2 and 6.2 and 6.8. So I added app’s description that  require Leap Motion device, require loopback. So no access the external network. So written app use english characters in  submit’s comment. Then app submitted.
  4. Passed a store app that required Leap Motion device(written in Japanese).
    Finally,  Age rating is 12+, so the store certification passes.

His app support follow.

  • App use web servicces via Leap Motion device.
  • In App guide, require Leap Motion device.
  • In App guid, require loopback.
  • In app guid, how to use loopback.
  • App support a privacy policy.

Submission is follow.

  • App’s description include follow.
  • Require Leap Motion device.
  • Require loopback.
  • Of course, app’s description.
  • Age rating 12+.

This app is kind of device apps. So you must configration loopback for using this app.  But hatsune-san share his experiense of store certification. This is gread job!
Thak you for greate job. But this way no Guarantee. If you need, let’s try this way, then you share your way for everyone.

Finally, special thanks Htasune-san. Congratuation your great job!.