API エンドポイントを更新する
以下は、プラグインに更新を送信する JavaScript のコードの例です。
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: '', } }}応答フォーマット
Section titled “応答フォーマット”非暗号化バンドルの場合、エンドポイントは次を返す必要があります:
{ "version": "1.0.2", "url": "https://apiurl.com/mybuild_102.zip", "checksum": "sha256_checksum_of_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 キーを追加し、オプションで error を追加します。
{ "message": "Version not found", "error": "The backend crashed", "version": "1.0.2",}フィールドの説明
Section titled “フィールドの説明”checksum: 整合性検証用のバンドル zip ファイルの SHA256 ハッシュsession_key: 暗号化されたバンドルの場合にのみ必要です。これは、暗号化コマンドによって返されるivSessionKeyです。version: semver 形式のバージョン識別子url: バンドルをダウンロードできる HTTPS URL
バンドルの作成
Section titled “バンドルの作成”互換性のあるバンドルを作成し、チェックサムを生成する方法については、自動更新ドキュメント を参照してください。
暗号化されたバンドルについては、完全な暗号化ワークフローを説明する 暗号化されたバンドルのドキュメント を参照してください。