metavr store share path/to/app.apk
metavr auth login
metavr auth login again.metavr store share path/to/app.apk
Share URL: https://www.meta.com/s/<TOKEN> App ID: <APP_ID> Binary ID: <BINARY_ID> Build status: passed (ready to install) Manage release channel: https://developers.meta.com/vr/manage/applications/<APP_ID>/release-channels/<CHANNEL_ID>
Binary ID and Build status lines appear only when the upload tool reports a binary ID.| Step | When it comes up | What it takes |
|---|---|---|
Register as a Meta VR developer | Signing in says that a Meta VR developer account is required | Free registration, which includes verifying your account. Then sign in again. |
Set up a developer team | You do not belong to a developer team that supports app distribution | Create a developer team using the setup page linked by the CLI. |
Accept the Developer Distribution Agreement | Your team has not accepted the agreement | One authorized team member reviews and accepts the agreement online on behalf of the team. |
Install the upload tool | Before your first upload | metavr tools install platform-utils |
metavr store share path/to/app.apk --app-id <APP_ID>
versionCode than the last one, and sign it with the same key.| Task | How |
|---|---|
Print the link again | metavr store share url --app-id <APP_ID> |
Replace the link | metavr store share rotate-link --app-id <APP_ID>. The old link stops working for new people. People who already joined keep access. |
Turn the link off | In the Developer Dashboard, open your app, then select Distribution > Release Channels > shared-link > Channel Settings. Clear Grant access to users by URL and save. The link’s page stops working, and no one new can join by the link. Select the box again to restore the same link. |
See who joined, or remove someone | In the Developer Dashboard, open your app, then select Distribution > Release Channels > shared-link > Users. Removing or blocking someone stops new builds from reaching them. It doesn’t remove a build they already installed. |
Show a description and image on the link’s page | In the Developer Dashboard, add them under App Submission > App Metadata. You don’t have to submit the app. |
--org-id. To list your teams and whether each one can share, run:metavr store share orgs
--format json:metavr --format json store share path/to/app.apk --org-id <ORG_ID>
--app-id, the command creates a new app. To update an existing link, pass its --app-id.--format json, the command doesn’t open a browser. When the account or team needs a step from First time sharing, the error’s action_url is the page a person opens to complete it. The upload tool is the exception: a script can install it with metavr tools install platform-utils.share_url, app_id, and manage_url, and the command exits with status 0. On failure, it exits with status 1, and the JSON’s error object carries a code, a message, and an action_url when there’s a page to visit. Invalid arguments exit with status 2.| Error | What to do |
|---|---|
Signing in says that a Meta VR developer account is required | Register as a Meta VR developer from the sign-in page, then run metavr auth login again. |
unrecognized subcommand 'share' | Sign in with metavr auth login, then run the command again. If it’s still unrecognized, update Meta VR CLI with metavr update and try again. If the command is still missing after that, sharing isn’t enabled for your account. |
NOT_ENTITLED | Sharing isn’t enabled for your account. Signing in again doesn’t change that. |
NOT_AUTHENTICATED | Run metavr auth login. |
NO_HORIZON_PROFILE | Create a Meta Horizon profile for your Meta account, then run metavr auth login. |
NO_DEVELOPER_TEAM or DEFAULT_ORG_UNSUPPORTED | Create a developer team using the setup page linked by the CLI. Then run the command again with --org-id. |
DDA_UNSIGNED | Have an authorized team member accept the Developer Distribution Agreement on the linked page, then run the command again. |
ORG_ID_REQUIRED | Pass --org-id. To find it, run metavr store share orgs. |
UPLOAD_TOOL_MISSING | Run metavr tools install platform-utils. |
APK_UNSIGNED | Sign the APK with APK Signature Scheme v2, for example with apksigner. Builds signed by Android Studio have one by default. |
APK_INVALID | Build an APK. Android App Bundles ( .aab) aren’t supported. |
APP_NAME_CONFLICT | To share to the existing app, pass its --app-id. Otherwise, choose another --app-name. |
A failure after the command created an app | Run the command again with the same APK and the --app-id that the output names. Outside an interactive terminal, also pass --org-id. Leaving out --app-id creates another app. --app-name and --yes can’t be combined with --app-id, so the command rejects either one as an invalid argument. |
PREVALIDATION_FAILED | Fix the problems that the error lists, such as a package name that another app uses or a versionCode that isn’t higher than the last build’s. Then run the command again. |
NETWORK_ERROR | Check your connection and run the command again. |