はじめに
Oculus Store へアプリを申請する場合は、
Entitlement Check
という仕組みを導入する必要があります
Entitlement Check
とはユーザがアプリを起動する際に、
Oculus Store 経由で公式に配布されているものかを確認する仕組みになります
Entitlement Check
に通らなかったアプリは不正なコピーとみなされ、
アプリが強制終了される必要があります
そこで本記事では、Entitlement Check
の実装方法について書いていきます
なお既に Oculus Developer のページ からアプリの作成は完了済みで、
Unity プロジェクトに Oculus Integration も導入済みの状態を想定しております
Entitlement Check に必要な設定を行う
まずは Entitlement Check
を行うのに必要な情報を設定していきます
Unity プロジェクトを開いたら Oculus -> Platform -> Edit Settings
を開きます

すると Inspector に OculusPlatformSettings
が出てくるので、
Application ID
の欄に アプリ ID を入力します

アプリ ID は Oculus Developer の該当アプリページの左メニューの
API について
リンクをクリックすると確認することが出来ます
Entitlement Check を行うためのスクリプトを追加する
実は既に公式が Entitlement Check のサンプルコード を公開しているので、
そのまま Entitlement Check
を行うためのスクリプトとしてプロジェクトに追加します
Entitlement Check
を行うサンプルコードは MonoBehaviour を継承しているので、
アプリ起動時のシーンに配置している適当な GameObject に追加しておきます

これだけで Entitlement Check
の対応は完了です
筆者は Entitlement Check
の処理をサンプルコードを流用する形で実装しても、
Oculus Store の審査を落とされてしまうということはありませんでした
Entitlement Check の動作確認を行う際の注意点
Entitlement Check
はストア申請に通ったタイミングで動作確認が可能となるため、
開発時や検証段階では、常にアプリ起動時に資格チェックが通らずにアプリが終了し、
Entitlement Check
が正常に機能していないように見えてしまうかもしれません。。
しかし、Oculus アカウントでログイン済みの Oculus 機器があれば、
資格が付与された状態での Entitlement Check
の動作確認が可能となるため、
資格チェックが通った正常時の状態で動作検証を行うことが可能です
筆者は上記挙動が分かっていなかったため、
延々と資格チェックが通らない原因の調査に時間を費やしてしまいました。。
おわりに
今回は対策を忘れがちな Entitlement Check
の方法についてご紹介しました。
Entitlement Check
は動作検証や βテストの際には実装していなくても問題にならないため、
Oculus Store 申請作業の直前や提出時に対策してないこと発覚しがちなので、
アプリ作成時に予め実装しておくよう心がけると心理的安全性が保たれると思います
また、
Entitlement Check
の資格チェックが正常に行われているかどうかの確認については、
[Entitlement Check の動作確認を行う際の注意点](# Entitlement Check の動作確認を行う際の注意点) でご紹介した通り、注意が必要です