· ワークフロー · 約6分

Fastlane snapshot vs ノーコードのApp Storeスクリーンショット

Fastlane snapshot vs ノーコードのApp Storeスクリーンショット
TL;DR. Fastlane snapshot は、すべての CI ビルドのたびにシミュレータのスクリーンショットを自動で再生成したい場合に適しています。ブラウザベースのノーコードツールは、キャプション・グラデーション・マルチパネルカルーセルによるマーケティングコンポジションを作成したい場合に適しています。両者は隣接する課題を解決するものです。ほとんどのチームは最終的に両方を使うことになります。

Fastlane は、iOS 自動化の定番オープンソースフレームワークです。その snapshot モジュールは、設定されたロケールとデバイスクラスにまたがってシミュレータ上で UI テストを実行し、実際のアプリ UI に一致する生の PNG を生成することで App Store のスクリーンショットをキャプチャします。セットアップには、Snapfile の記述、UI テストの設定、CI での実行が必要です。

ブラウザベースのノーコードツール(Mokbi、AppLaunchpad、Previewed など)はコード部分をスキップします。スクリーンショットを手動でアップロードし、その上にマーケティング用のカルーセルをコンポーズします。

この比較は「どちらが優れているか」という軸ではありません。「どちらが自分の課題を解決するか」という軸です。

Fastlane snapshot でできること

Fastlane の snapshot は、設定したロケールとデバイスクラスのすべての組み合わせでシミュレータ上でアプリを実行します。各組み合わせに対して、アプリを特定の状態に誘導する UI テストスクリプトを実行し、シミュレータの画面をキャプチャします。出力は、実際に動作するアプリの生の PNG スクリーンショットで、ロケール × デバイス × テストシナリオごとに1枚ずつ生成されます。

強み:

  • CI との統合。リリースビルドのたびにスクリーンショットが再生成されます。実際のアプリと常に同期が取れています。
  • 実ロケールのスクリーンショット。各ロケールは実際のロケール設定でシミュレータ上で動作するため、日付・数値・通貨がネイティブ形式でレンダリングされます。
  • 無料・オープンソース。サブスクリプション不要です。
  • コードとスクリーンショットのズレがない。UI 要素を変更すると、次の CI 実行時に反映されます。

弱点:

  • 出力は生のシミュレータスクリーンショット。キャプションなし、マーケティングオーバーレイなし、グラデーション背景なし、マルチパネルカルーセルなし。アプリの UI だけです。
  • セットアップコストは無視できません。Snapfile の記述、スクリーンショットキャプチャ用の UI テストの設定、避けられないシミュレータの状態に関する問題のデバッグ — 初回は通常 1〜2 日の作業が必要です。
  • メンテナンスコスト。UI の変更は UI テストを壊します。アプリのアップデートのたびに snapshot スクリプトの調整が必要です。
  • iOS 専用。Android には別のツールがあります(fastlane screengrab)。
  • Mac が必要。iOS シミュレータには Xcode が必要です。

ノーコードのブラウザツールでできること

スクリーンショットの取得方法は問いません(スマートフォンからの手動キャプチャ、シミュレータのスクリーンショット、すでに Fastlane snapshot を使っているなら、その出力でも構いません)。それらをブラウザのエディタにドロップし、デバイスフレーム・キャプション・グラデーション背景を追加します。ロケールごとにキャプションを翻訳し、すべての App Store 対応サイズでエクスポートします。

強み:

  • コード不要、セットアップ不要。エディタを開いてデザインするだけです。
  • マーケティングコンポジション。キャプション・グラデーション・マルチパネルカルーセルなど、生のスクリーンショットにとどまらない実際のマーケティング表面を作れます。
  • クロスプラットフォーム。1つのプロジェクトで両方のストア(App Store + Play Store)に対応できます。
  • Mac 不要。ブラウザはどこでも動きます。
  • ローカライズの自動化。ワンクリックで 50 の App Store ロケールに一括翻訳できます。

弱点:

  • スクリーンショットがアプリとズレる可能性がある。UI を変更してリリースすると、スクリーンショットは古くなります。修正は手動です。
  • 元となるスクリーンショットは手動キャプチャ。誰かがキャプチャする必要があります(シミュレータ・実機、または WebRTC 経由)。
  • CI との統合なし。マーケティングカルーセルはビルドのたびに自動で再生成されません。

正直な比較

Fastlane snapshot が解決するのは「すべてのビルド・すべてのロケールで、手動キャプチャなしに、実際のアプリに一致するスクリーンショットを自動で用意したい」という課題です。出力は実用的なもの — 生のスクリーンショットであり、マーケティング素材ではありません。

ブラウザツールが解決するのは「キャプションやグラデーションやマルチパネルコンポジションを備えた洗練されたマーケティングカルーセルを、素早くイテレーションしながら両方のストアにリリースしたい」という課題です。元となるスクリーンショットがどこからか来る必要がありますが、それをどう撮るかはツールの問題ではありません。

両者は競合しません。同じパイプラインの連続したステップです。

現実的な組み合わせワークフロー

  1. 元となるスクリーンショットには Fastlane snapshot(または手動キャプチャ)を使います。カルーセルで見せたいアプリの実際の状態を CI で実行します。
  2. マーケティングコンポジションにはブラウザツールを使います。元のスクリーンショットをエディタにドロップし、キャプションとグラデーションでカルーセルを構築します。
  3. ブラウザツールで翻訳と一括エクスポートを行います。App Store Connect と Play Console にリリースします。
  4. 次のアプリアップデート時は、Fastlane を再実行して元のスクリーンショットを再生成し、ブラウザツールで JSON プロジェクトを開き直してスクリーンショットを差し替え、再エクスポートします。

Fastlane をスキップできる場合

年 1〜3 回と更新頻度が低いインディーアプリの多くでは、Fastlane のセットアップコストは割に合いません。リリースのたびに手動でスクリーンショットをキャプチャし(WebRTC 経由でスマートフォンからデスクトップへ転送する方法が手軽です)、ブラウザベースのマーケティングコンポジションと組み合わせれば、トータルの作業時間を短縮できます。

Fastlane が真価を発揮するのは、週次または日次でリリースしていてスクリーンショットのズレが実際の問題になってくる場合です。代理店・リリース頻度の高い成熟したプロダクト・既存の iOS CI インフラを持つチームなどでは、元のスクリーンショットキャプチャのステップで Fastlane が優位に立ちます。そこにブラウザツールを組み合わせてマーケティングコンポジションを行うとよいでしょう。

次に読むべき記事

エディタを開く →