コンテンツへスキップ

関数と設定

アップデータープラグイン設定

詳細については、Github のReadmeをご覧ください

CapacitorUpdaterは以下のオプションで設定できます:

プロパティ説明デフォルト値導入バージョン
appReadyTimeoutnumberネイティブプラグインがアップデートを「失敗」とみなすまでの待機時間をミリ秒単位で設定します。AndroidとiOSのみで利用可能です10000 // (10秒)
responseTimeoutnumberネイティブプラグインがAPIタイムアウトとみなすまでの待機時間をミリ秒単位で設定します。AndroidとiOSのみで利用可能です20 // (20秒)
autoDeleteFailedboolean失敗したバンドルを自動的に削除するかどうかを設定します。AndroidとiOSのみで利用可能ですtrue
autoDeletePreviousbooleanアップデート成功後に以前のバンドルを自動的に削除するかどうかを設定します。AndroidとiOSのみで利用可能ですtrue
autoUpdatebooleanアップデートサーバーを介した自動アップデートを使用するかどうかを設定します。AndroidとiOSのみで利用可能ですtrue
resetWhenUpdateboolean新しいネイティブアプリバンドルがデバイスにインストールされた時に、以前にダウンロードしたバンドルを自動的に削除します。AndroidとiOSのみで利用可能ですtrue
updateUrlstringアップデートチェックが送信されるURL/エンドポイントを設定します。AndroidとiOSのみで利用可能ですhttps://plugincapgoapp/updates
channelUrlstringチャンネル操作用のURL/エンドポイントを設定します。AndroidとiOSのみで利用可能ですhttps://plugincapgoapp/channel_self
statsUrlstringアップデート統計が送信されるURL/エンドポイントを設定します。AndroidとiOSのみで利用可能です。統計レポートを無効にするには""に設定しますhttps://plugincapgoapp/stats
privateKeystringエンドツーエンドのライブアップデート暗号化用の秘密鍵を設定します。AndroidとiOSのみで利用可能です。バージョン620で非推奨となり、バージョン700で削除予定ですundefined
publicKeystringエンドツーエンドのライブアップデート暗号化用の公開鍵を設定します(バージョン2)。AndroidとiOSのみで利用可能ですundefined620
versionstringアプリの現在のバージョンを設定します。これは最初のアップデートリクエストで使用されます。設定されていない場合、プラグインはネイティブコードからバージョンを取得します。AndroidとiOSのみで利用可能ですundefined41748
directUpdatebooleanアプリが更新/インストールされた直後にアップデートを直接インストールするようにプラグインを設定します。自動アップデートモードのみです。AndroidとiOSのみで利用可能ですundefined510
periodCheckDelaynumber定期的なアップデートチェックの遅延時間を秒単位で設定します。AndroidとiOSのみで利用可能です。600秒(10分)未満にはできません600 // (10分)
localS3booleanテストまたはセルフホストアップデートサーバー用にローカルサーバーを使用するようにCLIを設定しますundefined41748
localHoststringテストまたはセルフホストアップデートサーバー用にローカルサーバーを使用するようにCLIを設定しますundefined41748
localWebHoststringテストまたはセルフホストアップデートサーバー用にローカルサーバーを使用するようにCLIを設定しますundefined41748
localSupastringテストまたはセルフホストアップデートサーバー用にローカルサーバーを使用するようにCLIを設定しますundefined41748
localSupaAnonstringテスト用にローカルサーバーを使用するようにCLIを設定しますundefined41748
localApistringテスト用にローカルAPIを使用するようにCLIを設定しますundefined633
localApiFilesstringテスト用にローカルファイルAPIを使用するようにCLIを設定しますundefined633
allowModifyUrlbooleanJavaScript側からupdateUrl、statsUrl、channelUrlを動的に変更することを許可しますfalse540
defaultChannelstring設定でアプリのデフォルトチャンネルを設定しますundefined
appIdstringアプリのIDを設定しますundefined600
keepUrlPathAfterReloadbooleanリロード後もURLパスを保持するようにプラグインを設定します。警告:リロードがトリガーされると、‘windowhistory’がクリアされますfalse680

capacitor.config.jsonの場合:

{
"plugins": {
"CapacitorUpdater": {
"appReadyTimeout": 1000 // (1秒),
"responseTimeout": 10 // (10秒),
"autoDeleteFailed": false,
"autoDeletePrevious": false,
"autoUpdate": false,
"resetWhenUpdate": false,
"updateUrl": https://example.com/api/auto_update,
"channelUrl": https://example.com/api/channel,
"statsUrl": https://example.com/api/stats,
"privateKey": undefined,
"publicKey": undefined,
"version": undefined,
"directUpdate": undefined,
"periodCheckDelay": undefined,
"localS3": undefined,
"localHost": undefined,
"localWebHost": undefined,
"localSupa": undefined,
"localSupaAnon": undefined,
"localApi": undefined,
"localApiFiles": undefined,
"allowModifyUrl": undefined,
"defaultChannel": undefined,
"appId": undefined,
"keepUrlPathAfterReload": undefined
}
}
}

capacitor.config.tsの場合:

/// <reference types="@capgo/capacitor-updater" />
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
appReadyTimeout: 1000 // (1秒),
responseTimeout: 10 // (10秒),
autoDeleteFailed: false,
autoDeletePrevious: false,
autoUpdate: false,
resetWhenUpdate: false,
updateUrl: https://example.com/api/auto_update,
channelUrl: https://example.com/api/channel,
statsUrl: https://example.com/api/stats,
privateKey: undefined,
publicKey: undefined,
version: undefined,
directUpdate: undefined,
periodCheckDelay: undefined,
localS3: undefined,
localHost: undefined,
localWebHost: undefined,
localSupa: undefined,
localSupaAnon: undefined,
localApi: undefined,
localApiFiles: undefined,
allowModifyUrl: undefined,
defaultChannel: undefined,
appId: undefined,
keepUrlPathAfterReload: undefined,
},
},
};
export default config;

メソッド

notifyAppReady()

notifyAppReady() => Promise<AppReadyResult>

現在のバンドルが正常に動作していることをCapacitor Updaterに通知します(このメソッドが全てのアプリ起動時に呼び出されない場合、ロールバックが発生します) デフォルトでは、このメソッドはアプリ起動後10秒以内に呼び出される必要があります。そうでない場合はロールバックが発生します この動作は{@link appReadyTimeout}で変更できます

戻り値: Promise<AppReadyResult>


setUpdateUrl()

setUpdateUrl(options: UpdateUrl) => Promise<void>

アプリのupdateUrlを設定します。これは更新を確認するために使用されます

パラメータ説明
optionsUpdateUrl更新の確認に使用するURLを含みます

提供開始: 540


setStatsUrl()

setStatsUrl(options: StatsUrl) => Promise<void>

アプリのstatsUrlを設定します。これは統計情報の送信に使用されます。空文字列を渡すと統計情報の収集が無効になります

パラメータ説明
optionsStatsUrl統計情報の送信に使用するURLを含みます

提供開始: 540


setChannelUrl()

setChannelUrl(options: ChannelUrl) => Promise<void>

アプリのchannelUrlを設定します。これはチャンネルの設定に使用されます

パラメータ説明
optionsChannelUrlチャンネルの設定に使用するURLを含みます

提供開始: 540


download()

download(options: DownloadOptions) => Promise<BundleInfo>

提供されたURLから新しいバンドルをダウンロードします。これはZIPファイルで、ファイルを内部に含むか、全てのファイルを含む一意のIDを内部に持つ必要があります

パラメータ説明
optionsDownloadOptions新しいバンドルZIPをダウンロードするための{@link DownloadOptions}

戻り値: Promise<BundleInfo>


next()

next(options: BundleId) => Promise<BundleInfo>

アプリがリロードされたときに使用する次のバンドルを設定します| パラメータ | タイプ | 説明 | | ------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | options | BundleId | 次回アプリ起動時に設定する次のバンドルのID {@link BundleInfoid} |

戻り値: Promise<BundleInfo>


set()

set(options: BundleId) => Promise<void>

現在のバンドルを設定し、すぐにアプリを再読み込みします

パラメータタイプ説明
optionsBundleId現在のバンドルとして設定する新しいバンドルIDを含む {@link BundleId} オブジェクト

delete()

delete(options: BundleId) => Promise<void>

ネイティブアプリストレージから指定されたバンドルを削除します。{@link list}を使用して保存されているバンドルIDを取得してください

パラメータタイプ説明
optionsBundleId削除するバンドルのIDを含む {@link BundleId} オブジェクト (注意: これはバージョン名ではなく、バンドルIDです)

list()

list(options?: ListOptions | undefined) => Promise<BundleListResult>

アプリにローカルにダウンロードされているすべてのバンドルを取得します

パラメータタイプ説明
optionsListOptionsバンドルをリストするための {@link ListOptions}

戻り値: Promise<BundleListResult>


reset()

reset(options?: ResetOptions | undefined) => Promise<void>

アプリをbuiltinバンドル(Apple App Store / Google Play Storeに送信されたもの)または最後に正常に読み込まれたバンドルにリセットします

パラメータタイプ説明
optionsResetOptions{@link ResetOptionstoLastSuccessful}を含む、trueでビルトインバンドルにリセット、falseで最後に正常に読み込まれたバンドルにリセット

current()

current() => Promise<CurrentBundleResult>

現在のバンドルを取得します。設定されていない場合はbuiltinを返します。currentNativeはデバイスにインストールされている元のバンドルです

戻り値: Promise<CurrentBundleResult>


reload()

reload() => Promise<void>

ビューを再読み込みします


setMultiDelay()

setMultiDelay(options: MultiDelayConditions) => Promise<void>

プラグインが更新を遅延させるために使用する {@link DelayCondition} 配列を設定します すべての条件が満たされた後、更新プロセスは通常通り再開されます。そのため、アプリのバックグラウンド化または終了後に更新がインストールされます dateタイプの場合、値はiso8601日付文字列である必要があります backgroundタイプの場合、値はミリ秒単位の数値である必要があります nativeVersionタイプの場合、値はバージョン番号である必要があります killタイプの場合、値は使用されません この関数は、killオプションが他のオプションのように次のバックグラウンド後ではなく、最初の終了後に更新をトリガーする一貫性のない動作をします。これは将来のメジャーリリースで修正される予定です

パラメータタイプ説明
optionsMultiDelayConditions設定する条件の {@link MultiDelayConditions} 配列を含む

Since: 430


cancelDelay()

cancelDelay() => Promise<void>

更新を即座に処理するために {@link DelayCondition} をキャンセルします

Since: 400


getLatest()

getLatest(options?: GetLatestOptions | undefined) => Promise<LatestVersion>

更新URLから利用可能な最新のバンドルを取得します

パラメータタイプ
optionsGetLatestOptions

戻り値: Promise<LatestVersion>

Since: 400


setChannel()

setChannel(options: SetChannelOptions) => Promise<ChannelRes>

このデバイスのチャンネルを設定します。チャンネルは自己割り当てを許可する必要があります {@link PluginsConfig}でautoUpdateが有効な場合、起動時にチャンネルを設定するためにこのメソッドを使用しないでください このメソッドはアプリの準備完了後にチャンネルを設定するためのものです このメソッドはデバイスIDをチャンネルにリンクするリクエストをCapgoバックエンドに送信します。Capgoはチャンネルの設定に応じて受け入れまたは拒否します

パラメータタイプ説明
optionsSetChannelOptions設定する {@link SetChannelOptions} チャンネル

戻り値: Promise<ChannelRes>

Since: 470


unsetChannel()

unsetChannel(options: UnsetChannelOptions) => Promise<void>

このデバイスのチャンネルを解除しますデバイスはデフォルトチャンネルに戻ります。

パラメータ
optionsUnsetChannelOptions

導入バージョン: 470


getChannel()

getChannel() => Promise<GetChannelRes>

このデバイスのチャンネルを取得します。

戻り値: Promise<GetChannelRes>

導入バージョン: 480


setCustomId()

setCustomId(options: SetCustomIdOptions) => Promise<void>

このデバイスにカスタムIDを設定します。

パラメータ説明
optionsSetCustomIdOptionsは設定する {@link SetCustomIdOptions} customId

導入バージョン: 490


getBuiltinVersion()

getBuiltinVersion() => Promise<BuiltinVersion>

ネイティブアプリのバージョンまたは設定で指定されたビルトインバージョンを取得します。

戻り値: Promise<BuiltinVersion>

導入バージョン: 520


getDeviceId()

getDeviceId() => Promise<DeviceId>

デバイスを識別するために使用される一意のID(自動更新サーバーに送信)を取得します。

戻り値: Promise<DeviceId>


getPluginVersion()

getPluginVersion() => Promise<PluginVersion>

ネイティブCapacitor Updaterプラグインのバージョン(自動更新サーバーに送信)を取得します。

戻り値: Promise<PluginVersion>


isAutoUpdateEnabled()

isAutoUpdateEnabled() => Promise<AutoUpdateEnabled>

自動更新設定の状態を取得します。

戻り値: Promise<AutoUpdateEnabled>


removeAllListeners()

removeAllListeners() => Promise<void>

このプラグインのすべてのリスナーを削除します。

導入バージョン: 100


addListener(‘download’, )

addListener(eventName: 'download', listenerFunc: (state: DownloadEvent) => void) => Promise<PluginListenerHandle>

アプリでのバンドルダウンロードイベントをリッスンします。ダウンロードが開始された時、ダウンロード中、および完了時に発火します。

パラメータ
eventName’download’
listenerFunc(state: DownloadEvent) => void

戻り値: Promise<PluginListenerHandle>

導入バージョン: 2011


addListener(‘noNeedUpdate’, )

addListener(eventName: 'noNeedUpdate', listenerFunc: (state: NoNeedEvent) => void) => Promise<PluginListenerHandle>

更新不要イベントをリッスンします。アプリが起動されるたびに強制的にチェックしたい場合に便利です。

パラメータ
eventName’noNeedUpdate’
listenerFunc(state: NoNeedEvent) => void

戻り値: Promise<PluginListenerHandle>

導入バージョン: 400


addListener(‘updateAvailable’, )

addListener(eventName: 'updateAvailable', listenerFunc: (state: UpdateAvailableEvent) => void) => Promise<PluginListenerHandle>

利用可能な更新イベントをリッスンします。アプリが起動されるたびに強制的にチェックしたい場合に便利です。

パラメータ
eventName’updateAvailable’
listenerFunc(state: UpdateAvailableEvent) => void

戻り値: Promise<PluginListenerHandle>

導入バージョン: 400


addListener(‘downloadComplete’, )

addListener(eventName: 'downloadComplete', listenerFunc: (state: DownloadCompleteEvent) => void) => Promise<PluginListenerHandle>

ダウンロード完了イベントをリッスンします。

パラメータ
eventName’downloadComplete’
listenerFunc(state: DownloadCompleteEvent) => void

戻り値: Promise<PluginListenerHandle>

導入バージョン: 400


addListener(‘majorAvailable’, )

addListener(eventName: 'majorAvailable', listenerFunc: (state: MajorAvailableEvent) => void) => Promise<PluginListenerHandle>

アプリでのメジャーアップデートイベントをリッスンします。disableAutoUpdateBreaking設定によってメジャーアップデートがブロックされている場合に通知します。

パラメータ
eventName’majorAvailable’
listenerFunc(state: MajorAvailableEvent) => void

戻り値: Promise<PluginListenerHandle>

導入バージョン: 230


addListener(‘updateFailed’, )

addListener(eventName: 'updateFailed', listenerFunc: (state: UpdateFailedEvent) => void) => Promise<PluginListenerHandle>

アプリでの更新失敗イベントをリッスンします。次回のアプリ起動時に更新のインストールが失敗した場合に通知します。

パラメータ
eventName’updateFailed’
listenerFunc(state: UpdateFailedEvent) => void

戻り値: Promise<PluginListenerHandle>

導入バージョン: 230


addListener(‘downloadFailed’,```typescript

addListener(eventName: ‘downloadFailed’, listenerFunc: (state: DownloadFailedEvent) => void) => Promise

アプリでのダウンロード失敗イベントを監視し、バンドルのダウンロードが失敗した時に通知します
| Param | Type |
| ------------------ | --------------------------------------------------------------------------------------- |
| **`eventName`** | <code>'downloadFailed'</code> |
| **`listenerFunc`** | <code>(state: <a href="#downloadfailedevent">DownloadFailedEvent</a>) =&gt; void</code> |
**Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
**Since:** 400
--------------------
## addListener('appReloaded', )
```typescript
addListener(eventName: 'appReloaded', listenerFunc: () => void) => Promise<PluginListenerHandle>

アプリでのリロードイベントを監視し、リロードが発生した時に通知します

ParamType
eventName’appReloaded’
listenerFunc() => void

Returns: Promise<PluginListenerHandle>

Since: 430


addListener(‘appReady’, )

addListener(eventName: 'appReady', listenerFunc: (state: AppReadyEvent) => void) => Promise<PluginListenerHandle>

アプリでのアプリ準備完了イベントを監視し、アプリが使用可能になった時に通知します

ParamType
eventName’appReady’
listenerFunc(state: AppReadyEvent) => void

Returns: Promise<PluginListenerHandle>

Since: 510


isAutoUpdateAvailable()

isAutoUpdateAvailable() => Promise<AutoUpdateAvailable>

自動更新が利用可能かどうかを取得します (serverUrlによって無効化されていないか)

Returns: Promise<AutoUpdateAvailable>


getNextBundle()

getNextBundle() => Promise<BundleInfo | null>

アプリがリロードされる時に使用される次のバンドルを取得します 次のバンドルが設定されていない場合はnullを返します

Returns: Promise<BundleInfo | null>

Since: 680


インターフェース

AppReadyResult

PropType
bundleBundleInfo

BundleInfo

PropType
idstring
versionstring
downloadedstring
checksumstring
statusBundleStatus

UpdateUrl

PropType
urlstring

StatsUrl

PropType
urlstring

ChannelUrl

PropType
urlstring

DownloadOptions

PropTypeDescriptionDefaultSince
urlstringダウンロードするバンドルzipファイル(例: distzip)のURL (Amazon S3、GitHubタグ、その他バンドルをホストしている場所のURLを指定可能)
versionstringこのバンドル/バージョンのバージョンコード/名前
sessionKeystring更新用のセッションキーundefined400
checksumstring更新用のチェックサムundefined400

BundleId

PropType
idstring

BundleListResult

PropType
bundlesBundleInfo[]

ListOptions

PropTypeDescriptionDefaultSince
rawboolean生のバンドルリストを返すかマニフェストを返すか。trueの場合、ディスク上のファイルではなく内部データベースから読み取りを試みますfalse6140

ResetOptions

PropType
toLastSuccessfulboolean

CurrentBundleResult

PropType
bundleBundleInfo
nativestring

MultiDelayConditions

PropType
delayConditionsDelayCondition[]

DelayCondition

PropTypeDescription
kindDelayUntilNextsetMultiDelayで遅延条件を設定します
valuestring

LatestVersion

PropTypeDescriptionSince
versionstringgetLatestメソッドの結果40
majorboolean
messagestring
sessionKeystring
errorstring
oldstring
urlstring
manifestManifestEntry[]61

ManifestEntry

PropType
file_namestring | null
file_hashstring | null
download_urlstring | null

GetLatestOptions

PropType説明デフォルトSince
channelstring最新バージョンを取得するためのチャンネル。チャンネルはこの機能を使用するために’self_assign’を許可する必要がありますundefined680

ChannelRes

PropType説明Since
statusstring設定されたチャンネルの現在のステータス470
errorstring
messagestring

SetChannelOptions

PropType
channelstring
triggerAutoUpdateboolean

UnsetChannelOptions

PropType
triggerAutoUpdateboolean

GetChannelRes

PropType説明Since
channelstring取得したチャンネルの現在のステータス480
errorstring
messagestring
statusstring
allowSetboolean

SetCustomIdOptions

PropType
customIdstring

BuiltinVersion

PropType
versionstring

DeviceId

PropType
deviceIdstring

PluginVersion

PropType
versionstring

AutoUpdateEnabled

PropType
enabledboolean

PluginListenerHandle

PropType
remove() => Promise<void>

DownloadEvent

PropType説明Since
percentnumberダウンロードの現在の進捗状況(0から100の間)400
bundleBundleInfo

NoNeedEvent

PropType説明Since
bundleBundleInfoダウンロードの現在の進捗状況(0から100の間)400

UpdateAvailableEvent

PropType説明Since
bundleBundleInfoダウンロードの現在の進捗状況(0から100の間)400

DownloadCompleteEvent

PropType説明Since
bundleBundleInfo新しいアップデートが利用可能な場合に発生400

MajorAvailableEvent

PropType説明Since
versionstring新しいメジャーバンドルが利用可能な場合に発生400

UpdateFailedEvent

PropType説明Since
bundleBundleInfoアップデートのインストールが失敗した場合に発生400

DownloadFailedEvent

PropType説明Since
versionstringダウンロードが失敗した場合に発生400

AppReadyEvent

PropType説明Since
bundleBundleInfoアプリが使用可能な状態になった場合に発生520
statusstring

AutoUpdateAvailable

PropType
availableboolean

Type Aliases

BundleStatus

‘success’ | ‘error’ | ‘pending’ | ‘downloading’

DelayUntilNext

‘background’ | ‘kill’ | ‘nativeVersion’ | ‘date’