MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/a3e7b5301fea

特権アプリとしてテストする: 自身のGaiaアプリを配信する

お気づきの通り、JavaScriptを実行しても輝かしい全てのWebAPIにアクセスできるわけではありません。特定のAPIを利用するアプリは、そのAPIへのアクセスをアプリマニフェストのなかで要求しなければなりません。 この記事では、マーケットに特権アプリを配信する前にアプリをテストする方法をお伝えします。

現在起動しているアプリのメタデータとマニフェストを変数として取得するには、このようなコードを利用できます。

 

navigator.mozApps.getSelf().onsuccess = function(e) {
  appself = e.result;
}

このコードではアプリのメタデータをappselfという変数に格納します。

同様に、もし起動しているものと別のアプリのパーミッションを閲覧したい場合、b2gデスクトップのテストビルドで利用できる"許可設定 (Permissions)"からテストしたいアプリを確認してみてください。b2gデスクトップは現在インストールされている全てのアプリの許可設定をエミュレートするものです。

いくつかの既存のWebAPIは、どんな種類のアプリでも利用できません。それらのAPIを利用するには、最上級の権限で (つまり、認定アプリとして) インストールする必要があります。自身でそれを行うには、b2gレイヤのトップであるGaiaをカスタマイズしたバージョンをビルドする必要があります。これを行うには、gitmakeといった環境で作業しなければなりません。Firefox OSのビルド環境の設定について詳しくはFirefox OS ビルドの必要条件を確認してください。

この場合は、Firefox OS全てをビルドする必要はなく、Gaiaだけで十分です。どのようにするか見てみましょう。

Gaiaをダウンロードしてビルドする

最初に、Gaiaをダウンロードしてビルドする必要があります。これによってb2gデスクトップでロードできるプロファイルを作成します。以下のコマンドを使えば完了です。

$ git clone https://github.com/mozilla-b2g/gaia
$ cd gaia
$ make

警告: 初めてGaiaをビルドする場合、XULRunnerのダウンロードを要求されます。これは500MBほどあるため、ダウンロードに少々時間がかかり、また多くの空き容量が必要です。

 

この操作は標準的なGaiaをビルドします。つまりカスタマイズの準備が整ったということです。

カスタマイズしたアプリを準備する

XULRunnerがダウンロードされている間、Gaiaのソースコードを読むことをおすすめします。ダウンロードが進行している間にカスタマイズしたアプリを準備してしまえるでしょう。

Gaiaに内容されている全てのアプリ (設定、電話帳、ブラウザ等) はapps/ディレクトリに保存されています。これはあなたの特権アプリもそこに置く必要があるということです。この記事のために、allpermsという名前のサンプルアプリを作り、GitHubで公開しています。

Gaiaのapps/ディレクトリのなかにサンプルアプリを clone して、コードツリーを変更してみましょう:

cd apps
git clone https://github.com/freddyb/allperms.git

最初のGaiaのビルドが完了し、xulrunner-sdkがダウンロードされたら、apps/のなかにallpermsを含めてGaiaを再ビルドすることができます。しかし心配ありません、ほとんどのものはすでにコンパイルされているため、再ビルドは非常に早いはずです。単に以下を実行します:

make

新しいプロファイルを使ったB2G デスクトップを読み込む

B2G デスクトップには主に2つの実行ファイルがあります: b2gb2g-binです。コマンドラインの引数を指定したい場合は後者を利用します。

Note: B2G デスクトップアプリケーションについての補足情報についてはB2G デスクトップクライアントを使用するを確認してください。

-profileオプションであなたがビルドしたGaiaのプロファイルへのパスを指定し、b2gの実行ファイルを読み込みます。

Linux

$ b2g-bin -profile /path/to/gaia/profile

Mac OS X

Max OS Xでは、gaiaのディレクトリからコマンドを起動するには以下のようにします。(あなたが標準的なアプリケーションフォルダにB2Gをインストールしていると想定しています)

$ /Applications/B2G.app/Contents/MacOS/b2g-bin -profile /path/to/gaia/profile

Windows

この部分は準備中です。

期待する動作

全てがうまくいくと、ロックスクリーンが見えているはずです:

B2G デスクトップを利用する際には、いくつかの便利なコマンドラインオプションがあります

Note: このプロファイルは標準の設定で再度スタートします。テストの環境を整えるために行った全てのカスタマイズは、再度行う必要があります。これにはMarionetteやプロキシ、証明書の設定も含みます。

完了

あなたのallpermsアプリはインストールされ、全ての利用可能なパーミッションを備えているはずです。

次に、Debugging and security testing with Firefox OSを参考にしてMarionetteのステップを再度繰り返すことで、全てのWebAPIにアクセスできるテスト用の環境を用意することができます。

ドキュメントのタグと貢献者

 このページの貢献者: chrisdavidmills, hamasaki, kechol
 最終更新者: chrisdavidmills,