メインコンテンツへスキップ

アップデート API エンドポイント

GitHub

以下は、プラグインにアップデートを送信するJavaScriptでのcodeの例です

interface AppInfos {
version_name: string
version_build: string
version_os: string
custom_id?: string
is_prod?: boolean
is_emulator?: boolean
plugin_version: string
platform: string
app_id: string
device_id: string
}
export const handler: Handler = async (event) => {
const body = JSON.parse(event.body || '{}') as AppInfos
const {
platform,
app_id,
version_os,
device_id,
version_name,
version_build,
plugin_version,
} = body
console.log('update asked', platform,
app_id,
version_os,
device_id,
version_name,
version_build,
plugin_version)
if (version_name === '1.0.0') {
return {
version: '1.0.1',
url: 'https://apiurl.com/mybuild_101.zip',
checksum: 'sha256_checksum_of_bundle',
}
}
else if (version_name === '1.0.1') {
return {
version: '1.0.2',
url: 'https://apiurl.com/mybuild_102.zip',
checksum: 'sha256_checksum_of_bundle',
}
}
else {
return {
message: 'Error version not found'
version: '',
url: '',
}
}
}

以下の 暗号化されていないbundleの場合、エンドポイントは以下を返す必要があります:

{
"version": "1.0.2",
"url": "https://apiurl.com/mybuild_102.zip",
"checksum": "sha256_checksum_of_bundle"
}

以下の 暗号化されたbundleの場合、セッションキーも含める必要があります:

{
"version": "1.0.2",
"url": "https://apiurl.com/mybuild_102.zip",
"checksum": "encrypted_checksum_from_encrypt_command",
"session_key": "ivSessionKey_from_encrypt_command"
}

また、アップデートもエラーもない場合は、次を追加します: message keyと、必要に応じて error:

{
"message": "Version not found",
"error": "The backend crashed",
"version": "1.0.2",
}
  • checksum: 整合性検証用のbundle zipファイルのSHA256ハッシュ
  • session_key: 暗号化されたbundleの場合のみ必須 - これは ivSessionKey encryptコマンドが返す値です
  • version: バージョン識別子( semver形式)
  • url: bundleをダウンロードするためのHTTPS URL

互換性のあるbundleの作成方法とチェックサムの生成方法については、 Auto Updateのドキュメント.

暗号化されたbundleについては、 Encrypted Bundlesのドキュメント を参照してください。暗号化のワークフローの全容が記載されています。

使用している場合 アップデート API エンドポイント CI/CD自動化を計画するには、次と連携してください @capgo/capacitor-updater を使用する 「@capgo/capacitor-updater を使用する」のネイティブ機能については、 Capgo での CI/CD 設定 Capgo CI/CDでのプロダクトワークフローについては、 Capgo Native Build Capgo Native Buildsでのプロダクトワークフローについては、 Capgo インテグレーション Capgo Integrations でのプロダクトワークフロー、および CI/CD 連携 CI/CD Integration での実装詳細については。