Facebookアプリ「Test Apps」機能について調べてみた

9.11
2014

test_app1

Facebookアプリに、テストアプリという機能があります。
この機能いつから追加されたんですかね・・・。API v2.0のタイミングかな?
先日「Business Mapping API」関連の記事で予告したとおり、このTest Appsについてざっとまとめてみました。

公式のドキュメントはこちら↓

Test Apps
https://developers.facebook.com/docs/apps/test-apps/

Test Appsでは何が出来るのか

基本的には公式のドキュメントにすべて書いてありますが、一応捕捉してみます。
なお、テストアプリはTest Appsと表記され、いわゆる本番のアプリはProduction appと表現されています。

本番アプリと共通の「app-scoped ID」を利用できる

Test Apps share the same app-scoped User ID namespace as your production app making it simpler to debug issues with app-scoped IDs, or in cases where you use a copy of your production database for development.

テストアプリを使うと、本番アプリと共通の「app-scoped ID」を利用できます。
「app-scoped ID」については別の記事で詳しく説明していますのでそちらを参照してください

確かに、開発用アプリならばまだしもステージング用アプリであればユーザーのIDが違うと困りますよね。

testapp2

実際に適当なTest Appsを作って確かめてみましたが、確かにユーザーのIDは同じでした。

※尚余談ですが、Business Mapping APIを使うためにはビジネスマネージャーにアプリの登録が必要ですが、本番アプリを登録すると自動的に配下のテストアプリもすべて登録されたことになります。

アプリの管理人の管理が1か所で出来る

From within your production app, you have one place to manage roles across all your test apps. When someone joins your team, it’s quick to set them up with the right roles, or easy to revoke their access if they leave.

基本的には本番アプリのダッシュボードからテストアプリの設定等が可能になります。
管理人のコントロールなども、本番アプリのAdmin権限を持つユーザーは配下のテストアプリ全てにおいて閲覧・編集の権限を持ちます。

別々に作成したアプリだと、個別のダッシュボードを行ったり来たりする必要があるのですがその必要が無くなります。

testapp3

ご覧のように、「From *****」と書かれていますが、本番アプリのRoleに登録されているユーザーは全て自動的にTest Appsに引き継がれます。
なお、Test AppsにはAdminとTesterの2種類しかRoleがありません。

アプリの編集権限もマスタ管理出来る

People who are Admins on your production app have permission to edit the settings on your test apps – making it easy for your most trusted people to manage your fleet of apps.

本番アプリのAdmin権限を持つユーザーは、配下のテストアプリ全てにおいてAdmin権限を持ちます。

テストアプリ作成時、基本設定は本番アプリの内容がコピーされる

When creating test apps – the settings are copied from your production app so its simple to spinup new apps which mirror your production app’s settings

テストアプリは、基本的な設定内容が本番アプリからコピーされます。
もちろん、後で個別に変更することも可能です。
アプリを作る際にはアプリの表示名だけ入力すれば完成しますので、新規に作成するよりは楽ですね。

testapp4

なお、左メニューもTest Appは必要最小限になっています。

テストアプリは常にデベロッパーモード(非公開設定)

Test Apps are always in Development Mode, making it less likely someone may chance upon a pre-release version of your product

誤って公開設定にしてしまうようなリスクが減る・・とか?
前述の画像を見てもわかる通り、テストアプリにはデベロッパーモードをOFFにするための「Status&Review」メニューがそもそも存在しません。

テストアプリは(テストアプリ作成日にかかわらず)本番アプリと同じ「移行オプション」が使える

Test Apps have the same Platform Migration options as your production app making it easy to test migrations before applying them on to production app.

本番アプリと同じ「移行オプション」があるので、検証等に役立つ、と。
実際この「移行オプション」は、アプリの作成日に応じて項目が異なります。
特に、例えば旧APIバージョンで作成したアプリと新APIバージョンリリース後に作成したアプリでは、全然項目が違ったりします。

そうした際に、Test Appsを使えば同じ項目の設定でテスト等が出来るということですね。

テストアプリは(テストアプリ作成日にかかわらず)本番アプリと同じ「APIバージョン」が使える

Test Apps have the same version availability as your production app. If your production app can call a particular version, your Test App can too.

前述の移行オプションと同様、利用できるAPIのバージョンも本番アプリと同様になります。
v2.0がリリースされてから、慌てて従来のアプリ(v1.0)をv2.0対応するためにテスト用のアプリを作成しようと思っても、普通に作成するとv2.0以降のAPIしか使えない・・・というような状況に陥らないようにするために、このTest Appsの機能があるんですね。

というわけで、意外と便利かもしれないTest Appsの機能、是非使いましょう。
肝心のTest Appsの使い方、作成方法は公式の説明ページに画面キャプチャ付きで載ってますのでそちらをどうぞ。

testapp5

Creating and Managing Test Apps
https://developers.facebook.com/docs/apps/test-apps#creating-and-managing