Apple TV向けゲームアプリにおけるSiri RemoteのMenuボタンの正しい挙動について
本日、Flying ColorのtvOS版をリリースしました。
Pauses/resumes gameplay.
Returns to previous screen, exits to main game menu, and/or exits to Apple TV Home screen.
- ゲームプレイの一時停止/再開する
- 前の画面へ戻る
- ゲームのメインメニューに戻る
- Apple TVのホーム画面に戻る
(ちなみに非ゲームアプリの場合は「前の画面に戻る」「Apple TVのホーム画面に戻る」の2つです)
- 前の画面へ戻る
- ゲームのメインメニューに戻る
- Apple TVのホーム画面に戻る
は、and/orとなっているためどちらかを省いても良いものと読めますが、現在App Store上にあるアプリではMenuボタンを押して戻っていくと最終的にApple TVのホーム画面に戻れるものがほとんどであることと、非ゲームに関しては「Apple TVのホーム画面に戻る」が必須であるため、「ゲームのメインメニューがない場合はホーム画面に戻る」程度に解釈した方が良さそうです。
- ゲームプレイの一時停止/再開する
ゲームアプリと非ゲームアプリの最大の違いがこの挙動です。
当初、ゲームプレイ中にMenuボタンを押したときには一時停止し、再度押した場合に再開するという簡単な実装をおこなったのですが、それだけだとリジェクトされました。
審査担当の方の指摘は以下になります。
ゲームプレイ中にも「戻る」というオプションをユーザーが持てるようにするべきだ。例えば、ユーザーがMenuボタンを選択してゲームを一時停止すると同時に、「ゲームの再開」と「メインメニューに戻る」という選択肢が表示されると良い。メインメニューに戻ることができると、再度Menuボタンを押すことでユーザーはtvOSのホーム画面に戻ることができる。
つまり、ここでも「前の画面に戻る」「Apple TVのホーム画面に戻る」という戻るボタンとしての挙動が必要になってくるわけですね。
結果として、Flying Colorでは一時停止中の画面に以下のように再開ボタンと戻るボタンを設置しました。
普段iOSのアプリ開発をおこなっているとハードウェアボタンの挙動を実装するということが基本的にはないですが、tvOSの場合は非常に重要になってきます。操作感に関わる部分なのでしっかりと実装していきたいですね。
また、当初操作感にばらつきがあったtvOSアプリですが、今回かなり具体的な指摘を伴う審査がされたことで、今後は操作感の統一が図られていくことが予想されます。より使いやすいプラットフォームになることを期待しています。