メインコンテンツまでスキップ

アプリケーションバージョンの提出

新しい Android アプリケーションバージョン は、Aptoide Connect デベロッパーコンソール 内の アプリ提出フォーム を介して、または以下に説明する Uploader API を介して 提出 できます。

エンドポイント

メソッドURL
POSThttps://uploader.catappult.io/api

認証

この API にアクセスするには、Aptoide Connect でアクティブなアカウントサブスクリプションを保有し、API キーで認証する必要があります (生成方法についてはこちらを確認してください)。

⚠️
必要なアカウントタイプ

アプリバージョンは、Developer タイプのアカウントのみが提出できます。

ヘッダー

ヘッダータイプ必須説明
Api-Keystring必須API リクエストの認証に使用されます。値は Aptoide Connect の API キーです。

ボディパラメーター

⚠️
重要
  • すべてのパラメーターは フォームデータ (multipart/form-data) として送信する必要があります。JSON リクエストは サポートされていません。各フィールドを送信するには、cURL で -F フラグを使用してください。
  • すべてのファイルパラメーター (apk、obbs、splits、icon、featureGraphic、screenshots) は、次のいずれかの方法で提供できます。
    • 直接アップロード として、または
    • 一般公開アクセス可能な URL として (ファイルがすでにサーバーまたはクラウドストレージ (Amazon S3、Dropbox など) にホストされている場合に推奨)。すべての URL が一般公開アクセス可能であり、アップロードプロセスが完了するまで有効なままであることを確認してください。サービスは、提供された URL からファイルを直接取得します。

注: 同じリクエスト内でアップロードされたファイルと URL を混在させないでください。リクエストごとに 1 つの方法を選択してください。

複数の言語の ロケール固有のメタデータ (locales[<language_code>][...]) を一度に提供できます。利用可能な言語コードを参照してください。

パラメーター

タイプ

必須

説明

apk

string (URL)または file

必須

ベース APK ファイル。

obbs[0], obbs[1]

string (URL) または file

任意

任意の OBB (拡張) ファイル。

obbFileNames[0], obbFileNames[1]

string

obbs[0] および obbs[1] を URL として提供する場合にのみ必須

URL を介して提出される際の各 OBB ファイルに対応するファイル名。

splits[0], splits[1], ...

string (URL) または file

任意

任意の APK スプリットファイル (例: config.arm64_v8a.apk)。

billingMethod

string

任意 (デフォルト: none)

APK が当社の Billing SDK を統合しているかどうかを示します。該当する場合は aptoide-sdk を使用してください。

releaseMode

string

任意
(デフォルト: IMMEDIATE)

提出された APK が当社の管理チームによって承認された後、どのように、いつリリースされるかを制御します。指定可能な値:
IMMEDIATE — 承認後に自動的に公開する
MANUAL — 開発者による手動リリースを待つ
SCHEDULED — 指定された時刻に自動的にリリースする (releaseTimestamp が必要)。

releaseTimestamp

string (YYYY-MM-DD HH:mm:ss)

任意

releaseMode が SCHEDULED に設定されている場合にのみ使用されます。リリースの正確な UTC 日時を定義します。

requiresDeveloperApproval

boolean

任意 (デフォルト: false)

有効 (true) の場合、審査に送られる前に、Aptoide Connect デベロッパーコンソールで提出を手動で承認する必要があります。無効 (false) の場合、すべての要件が満たされると、提出は自動的に審査に送られます。

icon

string (URL)または file

任意

アプリケーションアイコン。

featureGraphic

string (URL)または file

任意

アプリケーションのフィーチャーグラフィック。

locales[<language_code>][title]

string

任意

指定された言語でのタイトル。

locales[<language_code>][description]

string

locales[<language_code>][title] が提供される場合にのみ必須

指定された言語での説明。

locales[<language_code>][news]

string

任意

指定された言語でのリリースノート。

locales[<language_code>][screenshots][0], locales[<language_code>][screenshots][1], ...

string (URL) または file

locales[<language_code>][title] が提供される場合にのみ必須

指定された言語でのスクリーンショット。

レスポンス

成功

API 呼び出しが HTTP 200 ステータスコード を返した場合、アップロードリクエストは 成功 しており、提出されたバージョンは現在 Aptoide チームによる 管理者承認待ち の状態です。

エラー

HTTP ステータスコードが 200 以外 の場合、提出は 失敗 しています。
レスポンスボディには通常、問題を説明するエラーコードとメッセージが含まれます。

エラーコードHTTP ステータスコード意味対処方法
MISSING-APK400 Bad RequestAPK ファイルまたは URL が提供されていませんAPK をアップロードするか、有効な一般公開 APK URL を提供してください
INVALID-APK-FILE400 Bad Request提供された APK ファイルが無効です有効な APK ファイルまたは有効な一般公開 APK URL を提供してください
INVALID-APK-URL400 Bad Request提供された APK URL がダウンロードできないか無効ですURL のアクセス可能性とファイルタイプを確認してください
APK-TOO-LARGE413 Payload Too LargeAPK ファイルが大きすぎますより小さい APK を提供してください。許可される最大サイズについてはこちらを確認してください
OBB-TOO-LARGE413 Payload Too LargeOBB ファイルが大きすぎますより小さい OBB を提供してください。許可される最大サイズについてはこちらを確認してください
SPLIT-TOO-LARGE413 Payload Too Largeスプリットファイルが大きすぎますより小さいスプリットを提供してください。許可される最大サイズについてはこちらを確認してください
APK-NOT-SIGNED422 Unprocessable EntityAPK が署名されていません提出前に APK に署名してください
INVALID-BILLING-METHOD400 Bad Request許可されていない課金方法が検出されました許可されている課金方法を使用してください。許可される値: aptoide-sdk, none
APPLICATION-OWNED-BY-OTHER-ACCOUNT403 Forbiddenアプリケーションが別の開発者アカウントによって所有されていますこのアプリケーションの正当な所有者である場合は、サポートにお問い合わせください
APK-ALREADY-EXISTS409 ConflictAPK は以前にあなたによってすでに提出されています別の APK を提出してください
APK-SIGNATURE-MISMATCH-MARKET409 ConflictAPK の署名が Google Play バージョンと一致しませんGoogle Play と同じキーストアを使用してください
APK-SIGNATURE-MISMATCH-PREVIOUS409 ConflictAPK の署名が、このアプリケーションで以前に提出された APK と一致しません以前のバージョンと同じキーストアを使用してください
APK-VERCODE-LOWER-THAN-MARKET409 ConflictAPK の versionCode が Google Play バージョンより低いですversionCode を Google Play のものと同じかそれ以上の値に増分してください
FAILED-MOVING-APK-TO-STORAGE500 Internal Server ErrorAPK の内部ストレージへの移動に失敗しました再試行してください
FAILED-MOVING-OBB-TO-STORAGE500 Internal Server ErrorOBB の内部ストレージへの移動に失敗しました再試行してください
FAILED-MOVING-SPLIT-TO-STORAGE500 Internal Server Errorスプリットファイルの内部ストレージへの移動に失敗しました再試行してください
SUBMISSION-NOT-ALLOWED403 Forbiddenアプリケーションが Google Play にありません。Aptoide Connect に API キーを介して初めてアプリケーションを提出できるのは、それが Google Play でも利用可能な場合のみです。最初のバージョンは、Aptoide Connect デベロッパーコンソールのアプリ提出フォームから提出してください
SUBMISSION-NOT-ALLOWED403 Forbidden承認待ちの保留中の提出が多すぎます新しい提出を行う前に承認を待ってください

注記

  • ほとんどの一時的なエラー (ネットワークやストレージの障害など) は、短い遅延の後に再試行することで解決できます。
  • 検証エラー (署名や所有権の問題など) は、再試行する前に修正する必要があります。
  • 200 以外の HTTP ステータスは、新しいバージョンが審査のためにキューに入れられなかったことを常に示します。

ファイルアップロードの例 (Billing SDK 付き APK) (cURL):

curl -X POST "https://uploader.catappult.io/api" \
-H "Api-Key: YOUR_API_KEY" \
-F "[email protected]" \
-F "billingMethod=aptoide-sdk"

ファイルアップロードの例 (APK + 1 OBB + 1 スプリット) (cURL):

curl -X POST "https://uploader.catappult.io/api" \
-H "Api-Key: YOUR_API_KEY" \
-F "[email protected]" \
-F "obbs[0][email protected]" \
-F "splits[0][email protected]_v8a.apk"

ファイルアップロードの例 (Billing SDK 付き APK + アイコン + フィーチャーグラフィック + 2 スクリーンショット付き 2 ロケール) (cURL):

curl -X POST "https://uploader.catappult.io/api" \
-H "Api-Key: YOUR_API_KEY" \
-F "[email protected]" \
-F "billingMethod=aptoide-sdk" \
-F "[email protected]" \
-F "[email protected]" \
-F "locales[en_GB][title]=Title via API" \
-F "locales[en_GB][description]=Description via API" \
-F "locales[en_GB][news]=News via API" \
-F "locales[en_GB][screenshots][0][email protected]" \
-F "locales[en_GB][screenshots][1][email protected]" \
-F "locales[pt_PT][title]=Titulo via API" \
-F "locales[pt_PT][description]=Descricao via API" \
-F "locales[pt_PT][news]=Noticias via API" \
-F "locales[pt_PT][screenshots][0][email protected]" \
-F "locales[pt_PT][screenshots][1][email protected]"

一般公開 URL の例 (Billing SDK 付き APK + 1 OBB + 1 スプリット) (cURL):

curl -X POST "https://uploader.catappult.io/api" \
-H "Api-Key: YOUR_API_KEY" \
-F "apk=https://example-bucket.s3.amazonaws.com/app-release.apk" \
-F "obbs[0]=https://example-bucket.s3.amazonaws.com/main.12345.com.example.obb" \
-F "obbFileNames[0]=main.12345.com.example.obb" \
-F "splits[0]=https://example-bucket.s3.amazonaws.com/config.arm64_v8a.apk" \
-F "billingMethod=aptoide-sdk"

一般公開 URL の例 (Billing SDK 付き APK + 2 OBB + 2 スプリット) (cURL):

curl -X POST "https://uploader.catappult.io/api" \
-H "Api-Key: YOUR_API_KEY" \
-F "apk=https://example-bucket.s3.amazonaws.com/app-release.apk" \
-F "obbs[0]=https://example-bucket.s3.amazonaws.com/main.12345.com.example.obb" \
-F "obbs[1]=https://example-bucket.s3.amazonaws.com/patch.12345.com.example.obb" \
-F "obbFileNames[0]=main.12345.com.example.obb" \
-F "obbFileNames[1]=patch.12345.com.example.obb" \
-F "splits[0]=https://example-bucket.s3.amazonaws.com/config.arm64_v8a.apk" \
-F "splits[1]=https://example-bucket.s3.amazonaws.com/config.xhdpi.apk" \
-F "billingMethod=aptoide-sdk"

一般公開 URL の例 (Billing SDK 付き APK + アイコン + フィーチャーグラフィック + 2 スクリーンショット付き 2 ロケール) (cURL):

curl -X POST "https://uploader.catappult.io/api" \
-H "Api-Key: YOUR_API_KEY" \
-F "apk=https://example-bucket.s3.amazonaws.com/app-release.apk" \
-F "billingMethod=aptoide-sdk" \
-F "icon=https://example-bucket.s3.amazonaws.com/icon.png" \
-F "featureGraphic=https://example-bucket.s3.amazonaws.com/FG.png" \
-F "locales[en_GB][title]=Title via API" \
-F "locales[en_GB][description]=Description via API" \
-F "locales[en_GB][news]=News via API" \
-F "locales[en_GB][screenshots][0]=https://example-bucket.s3.amazonaws.com/s03.png" \
-F "locales[en_GB][screenshots][1]=https://example-bucket.s3.amazonaws.com/s04.png" \
-F "locales[pt_PT][title]=Titulo via API" \
-F "locales[pt_PT][description]=Descricao via API" \
-F "locales[pt_PT][news]=Noticias via API" \
-F "locales[pt_PT][screenshots][0]=https://example-bucket.s3.amazonaws.com/s01.png" \
-F "locales[pt_PT][screenshots][1]=https://example-bucket.s3.amazonaws.com/s02.png"