概要
ようやく開発が完了し、喜び勇んでアプリを審査に提出するも2、3日後あたりに
**「New Message from App Store Review Regarding...」**の件名メールが。
緊張しながら、Resolution Centerを開いてみると
Guideline 2.1 - Information Neededでのリジェクト!
内容は**「デモ動画を共有してくれ」**で、少しだけホッとするというケース。あるかと思います。(私はあります)
新規の初回審査には、このアプリの動作を説明するデモ動画を要求されるパターンが多く
本来は審査提出前に予め準備して置いた方がベターだと思います。
Appleの審査チームへのデモ動画の共有は、Google DriveやDropboxでも良いのですが
アプリで既に、Firebaseを使っている場合では
Firebase Hostingを使った方が手っ取り早かったので、その手順のメモです。
環境
- macOS Catalina 10.15.6
- npm 6.14.5
- firebase CLI 8.7.0
Firebase Hositing
Firebase Hosting は、ウェブアプリ、静的コンテンツと動的コンテンツ、マイクロサービス向けの高速で安全性の高いホスティングを提供します。
保存容量や転送容量の制限はありますが、無料で利用出来ます。
Firebase CLIをインストール
npmを使った方法で進めます。(npmがまだであればまずはそちらから準備)
まず、firebase-toolsをインストールします。(既に環境があればアップデート)
npm install -g firebase-tools
インストール済みでも、↑を実行して最新バージョンにしておく事が推奨されている様です。
無事に完了したら、次はFirebaseにGoogleアカウントでログインします。
Firebaseへのログイン認証
firebase login:ci
を実行すると
visit this URL on this device to log in:
https://accounts.google.com/o/oauth2/auth?client_id=xxxxxxx...
というメッセーが表示され、デフォルトブラウザが起動。
Googleの認証ページが開くので、Firebaseで使用しているアカウントでログイン。
認証が成功した後、ターミナルへ戻るとトークンが表示されています。
✔ Success! Use this token to login on a CI server:
XXXXXXXXXXX(トークン)
このトークンをコピーしておきます。
トークンを環境変数へ保存
毎回、コマンドに指定してもいいのですが面倒なので環境変数にFIREBASE_TOKENとして保存しておきます。
export FIREBASE_TOKEN="コピーしたトークン"
一応、以下で確認
printenv
変数の一覧が表示されます。
.
.
.
FIREBASE_TOKEN=トークン
初期化
まずプロジェクトのディレクトリを作成
mkdir demo-video-hosting
作成したディレクトリに移動し
cd demo-video-hosting
初期化を実行します。
firebase init
を実行すると、以降は対話形式でのプロジェクト設定になります。
こんな感じで進みます(Versionによって変わるかも?)
? Please select an option: Use an existing project → 既存プロジェクトを使用する
? Select a default Firebase project for this directory:xxxxx → プロジェクトを選択
? What do you want to use as your public directory? → 公開ディレクトリ設定。publicのまま
? Configure as a single-page app (rewrite all urls to /index.html)? → SPAにするか?今回はしない
全て完了すると、現在のディレクトリに初期ファイルが作成されます。
出来上がった構成
./
├── firebase.json
└── public
├── 404.html
└── index.html
ここで生成されたindex.htmlには、firebaseの初期化コードなども記述されているので
今回は不要ならば消しておく方が良いと思います。
(ファイルは残して中身を空にするなど)
デモ動画をアップロード
初期化時に指定した公開ディレクトリ(そのままであればpublic)
にデモ動画を設置して
firebase deploy --only hosting
を実行。ホスティング環境へデプロイします。
完了すると、メッセージの最後にドメインが表示されます。
Hosting URL: https://xxxx-xxxx-xxxx.web.app
なお、デプロイ前にテストする場合は
firebase serve --only hosting
を実行すると、ローカルで確認が出来ます。
ただ、手元の環境では何故か動画が再生出来ませんでした。
(index.htmlなどは表示される。動画のURLを叩くとクラッシュしてしまう。。)
デモ動画の再生を確認
ブラウザ(Safari)から表示させて、きちんと動画が再生されるか確認します。
(ここ審査員サイドなので大事です)
https://xxxx-xxxx-xxxx.web.app/demo-video.mp4
なお、Firebaseの無料プランでは、月の転送量制限が10GBなので
デモ動画のサイズが大きい場合は注意が必要です。(審査中の一時的な利用であれば問題無いはず)
終わりに
デモ動画のおかげで無事に審査承認され、リリースする事が出来ました。
最後に、目的を果たしたら動画を片付けます。
firebase hosting:disable
これで、アップロードしたファイル一式がホスティング上から削除されます。