rustored

fastlane Plugin Badge Made with Love

Fastlane plugin for uploading APK and AAB files to an existing RuStore draft version through the public API.

The plugin does not create a draft, send it to moderation, or publish it. Pass the version_id of a draft created in the RuStore Console or through the RuStore API.

Prerequisites

  • The application must have at least one active version in RuStore.
  • The API key must have access to the application and the required APK/AAB upload method.
  • A draft version and its version_id must already exist.
  • Before uploading an AAB, configure its publication signature in the RuStore Console.

Install

fastlane add_plugin rustored

Actions

rustored_publish_aab

Uploads an AAB file to the draft.

rustored_publish_aab(
  key_id: ENV["RUSTORE_KEY_ID"],
  private_key: ENV["RUSTORE_PRIVATE_KEY"],
  package_name: "com.example.app",
  version_id: 123456,
  aab_path: "app/build/outputs/bundle/release/app-release.aab"
)

rustored_publish_apk

Uploads an APK file to the draft.

rustored_publish_apk(
  key_id: ENV["RUSTORE_KEY_ID"],
  private_key: ENV["RUSTORE_PRIVATE_KEY"],
  package_name: "com.example.app",
  version_id: 123456,
  apk_path: "app/build/outputs/apk/release/app-release.apk",
  services_type: "Unknown",
  is_main_apk: true
)

The plugin signs the auth request and receives the RuStore public token automatically. Pass private_key exactly as copied from the RuStore Console: it is already Base64-encoded and must not be encoded again.

services_type accepts Unknown (the default) or HMS. is_main_apk is required by the RuStore API.

RuStore does not show an API-uploaded artifact in the Console until the draft is sent to moderation. Builds containing new sensitive permissions must be uploaded and declared through the Console instead.

Options

Shared:

Option Env Required
key_id RUSTORE_KEY_ID yes
private_key RUSTORE_PRIVATE_KEY yes
package_name RUSTORE_PACKAGE_NAME yes
version_id RUSTORE_VERSION_ID yes

AAB:

Option Env Required
aab_path RUSTORE_AAB_PATH yes

APK:

Option Env Required
apk_path RUSTORE_APK_PATH yes
services_type RUSTORE_SERVICES_TYPE no (Unknown)
is_main_apk RUSTORE_IS_MAIN_APK yes

Development

bundle exec rake

API reference: authorization, APK upload, and AAB upload.