iOSでゲームをリリースする方法(App Store)
iOSでゲームをリリースする方法: Apple Developer Program、App Store Connect、TestFlight、App Review Guidelines、そしてプライバシーラベルを解説します。
App Storeでのリリースは、家庭用ゲーム機とAndroidの中間に位置します。任天堂やソニーのような、始める前のコンセプト審査はありません。その一方で、すべてのバージョンはプレイヤーに届く前に人による審査を通ります。これはGoogle Playにはない仕組みです。さらに、PCから来た開発者が不意を突かれる要件が2つあります。アカウントが年単位であることと、ビルドがMacからしか出せないことです。本ガイドでその道のり全体をまとめます。
Apple Developer Program
入り口はApple Developer Programで、年間US$ 99のサブスクリプションです。これは文字どおり年単位で、失効するとゲームは更新するまでストアから消えます。
アカウントは個人と組織のどちらかを選べます。組織アカウントでは、会社が法人として正式に存在し、D-U-N-S番号を持っていることが求められます。ゲームのストア掲載情報にデベロッパーとしてスタジオ名が表示されるのは、この組織アカウントの場合です。個人アカウントで表示されるのは個人名です。
Macが必要です
これは回避できません。iOSの最終ビルドはXcodeで署名して提出しますが、XcodeはmacOSでしか動きません。UnityもUnrealもどのOSからでもXcodeプロジェクトを書き出せますが、そのプロジェクトをMacで開き、コンパイルし、署名し、アップロードする人が必要です。
よくある選択肢は、エントリーモデルのMac mini、時間単位で借りるクラウド上のMac、あるいはmacOSマシン上で動くビルドサービスです。スケジュールを固める前に手配しておく価値があります。この一覧の中で、ソフトウェアでは解決できない唯一の項目だからです。
App Store ConnectとTestFlight
App Store Connectは、ゲームのストア掲載情報を管理する画面です。名称、説明文、端末サイズごとのスクリーンショット、価格、地域、そして年齢に関するフォームがここにあります。各バージョンの提出もここから行います。
TestFlightはリリース前のテストの場です。内部のチームに加えて、招待した外部の大人数のグループも受け入れられます。外部テスターに初めて配信するバージョンは、Appleによるより軽い審査を通ります。Google Playと違い、TestFlightは公開の必須条件ではありませんが、特定の機種で起きるクラッシュを、ストアの評価が付き始める前に見つけられる場所です。
Appleの審査
すべてのバージョンはApp Review Guidelinesに照らして確認されます。審査の結果は通常2日以内に出ます。そして差し戻しの大半は、コードではなくストア掲載情報が原因です。
- スクリーンショットや説明文がゲームと一致していない。 他のプラットフォームの画像や、実際のプレイ画面の代わりに置かれたコンセプトアートも含みます。
- テスト用アカウントがない。 ログインのあるゲームで起こります。動作するIDとパスワードがなければ、審査担当者は最初の画面から先に進めず、差し戻します。
- Appleの仕組みを通さないゲーム内課金。 外部で支払わせるためにプレイヤーを誘導するリンクも同じです。
- コンテンツに対して対象年齢が合っていない。
- 機能が未完成。 どこにもつながらないボタンや、開始直後にクラッシュするビルドなどです。
差し戻しは珍しいことでも重大なことでもありません。Appleが該当するガイドラインを示し、こちらが直して再提出します。高くつくのは、告知した日付の前日にそれを知ることです。
プライバシー:ラベルとトラッキングの許可
ゲームのストア掲載情報には、収集するデータの要約が表示されます。この要約は、項目をひとつずつ申告して作ります。広告や利用状況の分析を含め、SDKが実際に行っている内容と一致している必要があります。
他社のアプリやサイトをまたいでプレイヤーを追跡する場合は、App Tracking Transparencyも必要になります。許可を求めるあのシステムの表示です。この確認を出さなければ差し戻しは確実です。知っておく価値があるのは、大半の人が拒否するという点です。この追跡を前提に収益化を組み立てることは、ごく一部の人だけを前提に組み立てることを意味します。
公開されていて誰でもアクセスできるプライバシーポリシーも必須です。
収益化
ゲーム内課金はAppleの仕組みを経由し、手数料は30%です。App Store Small Business Programは、ストアでの年間売上が一定の上限を下回るデベロッパーの手数料を15%に下げるもので、インディースタジオの大半がこれに当てはまります。1年を超えて継続している定期購入も15%になります。
欧州連合では、近年の規制変更により配信と決済の別の選択肢が開かれました。いずれも独自のルールと条件を伴います。欧州以外では、これまでどおりAppleの仕組みが経路になります。
iOSへの移植でゲームに求められること
対象となる端末は数が限られ、素性もはっきりしています。ここは有利な点です。変わるのは次の部分です。
- タッチ操作。 画面に描いたゲームパッドではなく、端末を持つ手を前提に設計します。iOSはBluetooth経由の物理コントローラーにも対応しており、これに対応させる手間は小さく済みます。
- くり抜きのある画面とセーフエリア。 カメラの下やジェスチャーバーの位置にボタンを置かないためです。
- パフォーマンスと発熱。 端末は熱を持つと動作速度を落とします。目標を決めるのは、サポート対象に入れた中で最も非力な古いiPhoneであって、最新の機種ではありません。
- iPad。 画面の比率が変わり、別のスクリーンショット一式が必要になる場合があります。
- 復帰処理。 着信や通知は絶えずゲームを中断させ、システムはバックグラウンドにあるものを予告なく終了させます。
Nuntius GamesによるiOSリリースの進め方
iOSも、家庭用ゲーム機と同じく、Nuntius Gamesが手がける移植およびパブリッシングの領域に入ります。Apple Developer Programのアカウント、macOSでのビルド環境、Xcodeでの署名と提出、タッチ操作、実機でのQA、プライバシーラベル、TestFlight、そして承認までの審査対応の各ラウンドまで、Nuntiusが担当します。
ゲームについて決めるのは、これまでどおりスタジオです。ストアの書類対応とiOS版のエンジニアリングはNuntiusが引き受けます。
FAQ
よくある質問
App Storeでゲームを公開するのにいくらかかりますか?
Apple Developer Programは年間US$ 99で、ゲームをストアに置き続けるにはサブスクリプションを有効なまま保つ必要があります。販売とゲーム内課金にかかる手数料は30%、App Store Small Business Programの対象になれば15%です。
本当にMacが必要ですか?
最終ビルドには必要です。提出はXcodeから行い、XcodeはmacOSでしか動きません。UnityもUnrealもどのOSからでもプロジェクトを生成できますが、コンパイル、署名、提出はMac上で行います。実機でも、クラウドで借りたものでも構いません。
審査にはどのくらいかかりますか?
通常は2日以内に結果が出ます。この期間を延ばすのは、ストア掲載情報の不備による差し戻しであって、ゲームの容量ではありません。
自分のゲームが差し戻されたのはなぜですか?
Appleは必ず該当する具体的なガイドラインを示します。ゲームで最も多い理由は、ゲームと一致しないスクリーンショット、ログインがあるのにテスト用アカウントがないこと、Appleの仕組みを通さない決済、そしてコンテンツに対して対象年齢が足りていないことです。直して再提出するのが通常の流れです。
iPadでもリリースする必要がありますか?
必須ではありません。iPhone専用のゲームとして公開できます。iPadのサポートを表明する場合は、画面の比率とそれに対応するスクリーンショットを用意し、iPadでもきちんと動く必要があります。審査担当者が両方で確認するためです。
AndroidとiOS、どちらを先にリリースすべきですか?
対象とする層によります。Androidはブラジルをはじめ多くの国ではるかに広い層へ届き、料金は一度きりです。iPhoneは人による審査があり、費用は年単位で、平均するとプレイヤー一人あたりの支出が多くなります。少人数のスタジオは、どちらか一方を選んでそこで学び、もう一方はその後に手がけるのが一般的です。
PC版のゲームをそのままiOSに移植できますか?
エンジンは書き出してくれますが、ゲームがそのまま渡っていくわけではありません。マウスとキーボードの操作、小さな文字、長時間のプレイセッション、重いシーンは、手のひらの画面に合わせて考え直す必要があります。移植で費用がかかるのはそこであって、ビルドの生成ではありません。
あなたのゲームを世界へ届けませんか?
あなたのプロジェクトについてお聞かせください。いただいたピッチにはすべてお返事します。ご期待に沿えない場合でも、必ずご連絡いたします。