(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発した新作VRゲームです!


承認を受けなくてもOculus Quest向けのアプリを配信出来る「App Lab」の申請方法【Unity】【VR】【Oculus】【Oculus Quest】


このエントリーをはてなブックマークに追加


はじめに

Oculus Questの公式ストアはあの狼と香辛料のVRゲーム(公式)を落とすぐらい

審査が異様に厳しいのですが、



承認を受けなくても配信が出来るApp Labという方法を開始しました。

Today, we’re excited to introduce App Lab—a new way for you to distribute apps directly to consumers safely and securely, via direct links or platforms like SideQuest, without requiring store approval and without sideloading.

DeepL翻訳
これは、ストアの承認やサイドロードを必要とせず、ダイレクトリンクやSideQuestのようなプラットフォームを介して、安全かつ確実にアプリを消費者に直接配布するための新しい方法です。


という事で今回は、このApp Labの申請方法の解説記事です。

ちなみに昨年リリースした「縦笛なめなめVR」を申請済みだったりします。




なお、App Labで出したアプリは承認を受けていないのでストアに直接表示される事はなく

ユーザがタイトルを検索しないと見つける事が出来ませんし、

審査自体はあるようなので、申請が通らないという事もありそうです。


------------追記------------

実際に「縦笛なめなめVR」は申請が通りませんでした……。



ちなみにコンテンツガイドライン(エロや暴力等)に引っかかると通らないようです。



なお審査は最大4~6週間(問い合わせたタイミングor返信者で変わる?)もかかるそうです。

f:id:kan_kikuchi:20210310074902j:plain f:id:kan_kikuchi:20210310074924j:plain



------------追記おわり------------


ただ、以前紹介した非公式アプリストアのSideQuestと違い、

PCを介してインストールする必要がありませんし、

インストール後はアプリ一覧に載るようなので、ユーザ視点で多少は使いやすそうです。





APKファイルの作成

まずAndroidの実行ファイルであるAPKファイルを作成していくのですが、

その辺りの事は既に記事にしているので、以下の記事を参考にしてみてください。




ただ、いくつか手間取った箇所があったので、次項からそれだけ解説していきます。


Minimum API Level

App Labに申請するには現在Minimum API Level 23以上にする必要があります。

ビルド前に忘れずに変更しておきましょう。

f:id:kan_kikuchi:20210204072638j:plain



AndroidManifest

App Labに申請するにはAndroidManifestが必要です。

作成方法はUnity上部のOculus/Tools/Create ~~~を実行するだけ。(Oculus Integrationのメニュー)


f:id:kan_kikuchi:20210204072839j:plain


後は設定に合わせてAndroidManifestに追記していきます。

f:id:kan_kikuchi:20210204073050j:plain
package="com.kan.kikuchi.ChupaChupaVR"
android:versionCode="2.0"
android:versionName="1"


実際に追記した物は以下のような感じに。

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    
    package="com.kan.kikuchi.ChupaChupaVR"
    android:versionCode="2.0"
    android:versionName="1"

    android:installLocation="auto"
  >
    <application>
        <activity
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
            android:configChanges="locale|fontScale|keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode"
            android:launchMode="singleTask"
            android:name="com.unity3d.player.UnityPlayerActivity"
            android:excludeFromRecents="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.INFO"/>
            </intent-filter>
        </activity>
        <meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="false" />
    </application>
</manifest>



Keystore作成

AndroidManifestと同様に、作成していない場合はKeystoreを作成します。

Edit/ProjectSetting/Playerを開き、


f:id:kan_kikuchi:20180905103404j:plain


Publishing Settings/KeystoreにあるCreate a new keystoreにチェックを入れ、

Keystore passwordに任意のパスワードを入力し、Browse Keystoreで保存先を指定します。


f:id:kan_kikuchi:20180905105212j:plain


さらにKeyの項目にあるAliasからCreate a new keyを選択し、


f:id:kan_kikuchi:20180905105247j:plain


各項目を入力して、右下のCreateKeyを押せば完了です。


f:id:kan_kikuchi:20180905105347j:plain


なお、各項目の内容は以下の通りです。

  • Alias : Keyの名前
  • Password : Keyのパスワード
  • Confirm : パスワードの確認(Passwordと同じのを入力)
  • Validity (years) : Keystoreの使用する年数(50など長い年数を入れておく)
  • First and Last Name : 製作者名
  • Organizational Unit : 部署名(空欄でもOK)
  • Organization : 企業名(空欄でもOK)
  • City or Locality : 会社の所在地を入力します。
  • State or Province : 会社の市町村名を入力します。
  • Country Code (XX) : 国のコード(日本の場合は「jp」)



申請方法

APKファイルが出来たら本題の申請です。


まず以下の開発者センターに行きます。



ログインか登録をしてページを開いたら、

f:id:kan_kikuchi:20210204065131j:plain


マイアプリから「新しいアプリを作成」を押します。

f:id:kan_kikuchi:20210204065353j:plain


なお、作成時はQuest(App Lab)を選択します。

f:id:kan_kikuchi:20210204065414j:plain


アプリのページが出来たら、右上の「申請の詳細に移動」から各項目を設定していきます。

f:id:kan_kikuchi:20210204065504j:plain



ビルド

ビルドでは先程作成したAPKファイルをアップロードします。

f:id:kan_kikuchi:20210204071617j:plain


ただしブラウザからアップロード出来るのは400MBまでです。

f:id:kan_kikuchi:20210204065641j:plain


400MB以上の場合は以下のページからユーティリティファイルをダウンロードして、

f:id:kan_kikuchi:20210204065808j:plain


書いてある通りにターミナルでコマンドを実行してアップロードします。

./ovr-platform-util upload-quest-build --app-id アプリID --app-secret シークレットトークン --apk APKファイルのパス --channel チャンネル名(ALPHAとか)


なお、シークレットトークンはAPIの項目から生成、確認する事が出来ます。

f:id:kan_kikuchi:20210204070020j:plain


APKファイルをアップロード出来たら、「ビルドを選択」でそのファイルを選択し、

「保存して続行」から保存します。(これ以降の項目も毎回保存する必要があるので注意)

f:id:kan_kikuchi:20210204071726j:plain



説明

説明ではアプリ名や説明を入力していきます。

なお、右上で言語を変更する事が出来ます。

f:id:kan_kikuchi:20210204070437j:plain


言語はデフォルトでは英語だけですが、「言語を管理」から新たに言語追加出来ます。

f:id:kan_kikuchi:20210204070528j:plain


ただし、この言語はストアのアプリ名や説明文の言語の事で、

アプリの対応言語については次項のスペックで設定します。


なお、キーワードはApp Labでは設定出来ません。

f:id:kan_kikuchi:20210204070506j:plain



スペック

スペックではゲームモードや対応言語などを設定していきます。

UIが日本語対応しているので特に難しい事はないと思います。

f:id:kan_kikuchi:20210204070747j:plain


なお、視界の動きのレベルはApp Labでは設定出来ません。

f:id:kan_kikuchi:20210204070807j:plain



追加情報

追加情報では連絡先等を設定していきます。

こちらもUIが日本語対応しているので特に難しい事はないと思います。

f:id:kan_kikuchi:20210204070843j:plain



アセット

アセットではロゴやスクショ、PVなどを設定していきます。

なお、右上で言語を変更できるのでアセットのローカライズ可能です。

f:id:kan_kikuchi:20210204071106j:plain


ちなみに、アセットのガイドラインについては以下のページにあります。





コンテンツ評価

コンテンツ評価ではIARC証明書を用いてアプリの対象年齢を設定していきます。

ちなみにIARC証明書は質問に答えるだけですぐに、しかも無料で作成出来ます。


IARC証明書を作成する場合は「新しい証明書をリクエスト」を押します。

f:id:kan_kikuchi:20210204071240j:plain


質問に回答した後、元の画面に戻ると以下のような感じで証明書が設定されます。

f:id:kan_kikuchi:20210204071253j:plain



価格

価格ではそのままアプリの価格を設定していきます。(無料にも出来ます)

なお、リリース後の変更はメールでやらないといけないようです。

f:id:kan_kikuchi:20210204071605j:plain



送信

全ての入力が完了し、チェックマークが付いたら送信の「ストアに送信」から申請に出します。

f:id:kan_kikuchi:20210204071910j:plain


なお、送信が完了するとタイトルだけのメールが届きます。

f:id:kan_kikuchi:20210204071922j:plain


後は申請が通るまで祈って待つのみです……!

f:id:kan_kikuchi:20210204072058j:plain