関数と設定
アップデータープラグイン設定
詳細については、Github のReadmeをご覧ください
CapacitorUpdaterは以下のオプションで設定できます:
プロパティ | 型 | 説明 | デフォルト値 | 導入バージョン |
---|---|---|---|---|
appReadyTimeout | number | ネイティブプラグインがアップデートを「失敗」とみなすまでの待機時間をミリ秒単位で設定します。AndroidとiOSのみで利用可能です | 10000 // (10秒) | |
responseTimeout | number | ネイティブプラグインがAPIタイムアウトとみなすまでの待機時間をミリ秒単位で設定します。AndroidとiOSのみで利用可能です | 20 // (20秒) | |
autoDeleteFailed | boolean | 失敗したバンドルを自動的に削除するかどうかを設定します。AndroidとiOSのみで利用可能です | true | |
autoDeletePrevious | boolean | アップデート成功後に以前のバンドルを自動的に削除するかどうかを設定します。AndroidとiOSのみで利用可能です | true | |
autoUpdate | boolean | アップデートサーバーを介した自動アップデートを使用するかどうかを設定します。AndroidとiOSのみで利用可能です | true | |
resetWhenUpdate | boolean | 新しいネイティブアプリバンドルがデバイスにインストールされた時に、以前にダウンロードしたバンドルを自動的に削除します。AndroidとiOSのみで利用可能です | true | |
updateUrl | string | アップデートチェックが送信されるURL/エンドポイントを設定します。AndroidとiOSのみで利用可能です | https://plugincapgoapp/updates | |
channelUrl | string | チャンネル操作用のURL/エンドポイントを設定します。AndroidとiOSのみで利用可能です | https://plugincapgoapp/channel_self | |
statsUrl | string | アップデート統計が送信されるURL/エンドポイントを設定します。AndroidとiOSのみで利用可能です。統計レポートを無効にするには""に設定します | https://plugincapgoapp/stats | |
privateKey | string | エンドツーエンドのライブアップデート暗号化用の秘密鍵を設定します。AndroidとiOSのみで利用可能です。バージョン620で非推奨となり、バージョン700で削除予定です | undefined | |
publicKey | string | エンドツーエンドのライブアップデート暗号化用の公開鍵を設定します(バージョン2)。AndroidとiOSのみで利用可能です | undefined | 620 |
version | string | アプリの現在のバージョンを設定します。これは最初のアップデートリクエストで使用されます。設定されていない場合、プラグインはネイティブコードからバージョンを取得します。AndroidとiOSのみで利用可能です | undefined | 41748 |
directUpdate | boolean | アプリが更新/インストールされた直後にアップデートを直接インストールするようにプラグインを設定します。自動アップデートモードのみです。AndroidとiOSのみで利用可能です | undefined | 510 |
periodCheckDelay | number | 定期的なアップデートチェックの遅延時間を秒単位で設定します。AndroidとiOSのみで利用可能です。600秒(10分)未満にはできません | 600 // (10分) | |
localS3 | boolean | テストまたはセルフホストアップデートサーバー用にローカルサーバーを使用するようにCLIを設定します | undefined | 41748 |
localHost | string | テストまたはセルフホストアップデートサーバー用にローカルサーバーを使用するようにCLIを設定します | undefined | 41748 |
localWebHost | string | テストまたはセルフホストアップデートサーバー用にローカルサーバーを使用するようにCLIを設定します | undefined | 41748 |
localSupa | string | テストまたはセルフホストアップデートサーバー用にローカルサーバーを使用するようにCLIを設定します | undefined | 41748 |
localSupaAnon | string | テスト用にローカルサーバーを使用するようにCLIを設定します | undefined | 41748 |
localApi | string | テスト用にローカルAPIを使用するようにCLIを設定します | undefined | 633 |
localApiFiles | string | テスト用にローカルファイルAPIを使用するようにCLIを設定します | undefined | 633 |
allowModifyUrl | boolean | JavaScript側からupdateUrl、statsUrl、channelUrlを動的に変更することを許可します | false | 540 |
defaultChannel | string | 設定でアプリのデフォルトチャンネルを設定します | undefined | |
appId | string | アプリのIDを設定します | undefined | 600 |
keepUrlPathAfterReload | boolean | リロード後もURLパスを保持するようにプラグインを設定します。警告:リロードがトリガーされると、‘windowhistory’がクリアされます | false | 680 |
例
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()
setUpdateUrl()
setStatsUrl()
setChannelUrl()
download()
next()
set()
delete()
list()
reset()
current()
reload()
setMultiDelay()
cancelDelay()
getLatest()
setChannel()
unsetChannel()
getChannel()
setCustomId()
getBuiltinVersion()
getDeviceId()
getPluginVersion()
isAutoUpdateEnabled()
removeAllListeners()
addListener('download', )
addListener('noNeedUpdate', )
addListener('updateAvailable', )
addListener('downloadComplete', )
addListener('majorAvailable', )
addListener('updateFailed', )
addListener('downloadFailed', )
addListener('appReloaded', )
addListener('appReady', )
isAutoUpdateAvailable()
getNextBundle()
- インターフェース
- 型エイリアス
メソッド
notifyAppReady()
notifyAppReady() => Promise<AppReadyResult>
現在のバンドルが正常に動作していることをCapacitor Updaterに通知します(このメソッドが全てのアプリ起動時に呼び出されない場合、ロールバックが発生します) デフォルトでは、このメソッドはアプリ起動後10秒以内に呼び出される必要があります。そうでない場合はロールバックが発生します この動作は{@link appReadyTimeout}で変更できます
戻り値: Promise<AppReadyResult>
setUpdateUrl()
setUpdateUrl(options: UpdateUrl) => Promise<void>
アプリのupdateUrlを設定します。これは更新を確認するために使用されます
パラメータ | 型 | 説明 |
---|---|---|
options | UpdateUrl | 更新の確認に使用するURLを含みます |
提供開始: 540
setStatsUrl()
setStatsUrl(options: StatsUrl) => Promise<void>
アプリのstatsUrlを設定します。これは統計情報の送信に使用されます。空文字列を渡すと統計情報の収集が無効になります
パラメータ | 型 | 説明 |
---|---|---|
options | StatsUrl | 統計情報の送信に使用するURLを含みます |
提供開始: 540
setChannelUrl()
setChannelUrl(options: ChannelUrl) => Promise<void>
アプリのchannelUrlを設定します。これはチャンネルの設定に使用されます
パラメータ | 型 | 説明 |
---|---|---|
options | ChannelUrl | チャンネルの設定に使用するURLを含みます |
提供開始: 540
download()
download(options: DownloadOptions) => Promise<BundleInfo>
提供されたURLから新しいバンドルをダウンロードします。これはZIPファイルで、ファイルを内部に含むか、全てのファイルを含む一意のIDを内部に持つ必要があります
パラメータ | 型 | 説明 |
---|---|---|
options | DownloadOptions | 新しいバンドルZIPをダウンロードするための{@link DownloadOptions} |
戻り値: Promise<BundleInfo>
next()
next(options: BundleId) => Promise<BundleInfo>
アプリがリロードされたときに使用する次のバンドルを設定します| パラメータ | タイプ | 説明 |
| ------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| options
| BundleId
| 次回アプリ起動時に設定する次のバンドルのID {@link BundleInfoid} |
戻り値: Promise<BundleInfo>
set()
set(options: BundleId) => Promise<void>
現在のバンドルを設定し、すぐにアプリを再読み込みします
パラメータ | タイプ | 説明 |
---|---|---|
options | BundleId | 現在のバンドルとして設定する新しいバンドルIDを含む {@link BundleId} オブジェクト |
delete()
delete(options: BundleId) => Promise<void>
ネイティブアプリストレージから指定されたバンドルを削除します。{@link list}を使用して保存されているバンドルIDを取得してください
パラメータ | タイプ | 説明 |
---|---|---|
options | BundleId | 削除するバンドルのIDを含む {@link BundleId} オブジェクト (注意: これはバージョン名ではなく、バンドルIDです) |
list()
list(options?: ListOptions | undefined) => Promise<BundleListResult>
アプリにローカルにダウンロードされているすべてのバンドルを取得します
パラメータ | タイプ | 説明 |
---|---|---|
options | ListOptions | バンドルをリストするための {@link ListOptions} |
戻り値: Promise<BundleListResult>
reset()
reset(options?: ResetOptions | undefined) => Promise<void>
アプリをbuiltin
バンドル(Apple App Store / Google Play Storeに送信されたもの)または最後に正常に読み込まれたバンドルにリセットします
パラメータ | タイプ | 説明 |
---|---|---|
options | ResetOptions | {@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オプションが他のオプションのように次のバックグラウンド後ではなく、最初の終了後に更新をトリガーする一貫性のない動作をします。これは将来のメジャーリリースで修正される予定です
パラメータ | タイプ | 説明 |
---|---|---|
options | MultiDelayConditions | 設定する条件の {@link MultiDelayConditions} 配列を含む |
Since: 430
cancelDelay()
cancelDelay() => Promise<void>
更新を即座に処理するために {@link DelayCondition} をキャンセルします
Since: 400
getLatest()
getLatest(options?: GetLatestOptions | undefined) => Promise<LatestVersion>
更新URLから利用可能な最新のバンドルを取得します
パラメータ | タイプ |
---|---|
options | GetLatestOptions |
戻り値: Promise<LatestVersion>
Since: 400
setChannel()
setChannel(options: SetChannelOptions) => Promise<ChannelRes>
このデバイスのチャンネルを設定します。チャンネルは自己割り当てを許可する必要があります
{@link PluginsConfig}でautoUpdate
が有効な場合、起動時にチャンネルを設定するためにこのメソッドを使用しないでください
このメソッドはアプリの準備完了後にチャンネルを設定するためのものです
このメソッドはデバイスIDをチャンネルにリンクするリクエストをCapgoバックエンドに送信します。Capgoはチャンネルの設定に応じて受け入れまたは拒否します
パラメータ | タイプ | 説明 |
---|---|---|
options | SetChannelOptions | 設定する {@link SetChannelOptions} チャンネル |
戻り値: Promise<ChannelRes>
Since: 470
unsetChannel()
unsetChannel(options: UnsetChannelOptions) => Promise<void>
このデバイスのチャンネルを解除しますデバイスはデフォルトチャンネルに戻ります。
パラメータ | 型 |
---|---|
options | UnsetChannelOptions |
導入バージョン: 470
getChannel()
getChannel() => Promise<GetChannelRes>
このデバイスのチャンネルを取得します。
戻り値: Promise<GetChannelRes>
導入バージョン: 480
setCustomId()
setCustomId(options: SetCustomIdOptions) => Promise<void>
このデバイスにカスタムIDを設定します。
パラメータ | 型 | 説明 |
---|---|---|
options | SetCustomIdOptions | は設定する {@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>) => void</code> |
**Returns:** <code>Promise<<a href="#pluginlistenerhandle">PluginListenerHandle</a>></code>
**Since:** 400
--------------------
## addListener('appReloaded', )
```typescriptaddListener(eventName: 'appReloaded', listenerFunc: () => void) => Promise<PluginListenerHandle>
アプリでのリロードイベントを監視し、リロードが発生した時に通知します
Param | Type |
---|---|
eventName | ’appReloaded’ |
listenerFunc | () => void |
Returns: Promise<PluginListenerHandle>
Since: 430
addListener(‘appReady’, )
addListener(eventName: 'appReady', listenerFunc: (state: AppReadyEvent) => void) => Promise<PluginListenerHandle>
アプリでのアプリ準備完了イベントを監視し、アプリが使用可能になった時に通知します
Param | Type |
---|---|
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
Prop | Type |
---|---|
bundle | BundleInfo |
BundleInfo
Prop | Type |
---|---|
id | string |
version | string |
downloaded | string |
checksum | string |
status | BundleStatus |
UpdateUrl
Prop | Type |
---|---|
url | string |
StatsUrl
Prop | Type |
---|---|
url | string |
ChannelUrl
Prop | Type |
---|---|
url | string |
DownloadOptions
Prop | Type | Description | Default | Since |
---|---|---|---|---|
url | string | ダウンロードするバンドルzipファイル(例: distzip)のURL (Amazon S3、GitHubタグ、その他バンドルをホストしている場所のURLを指定可能) | ||
version | string | このバンドル/バージョンのバージョンコード/名前 | ||
sessionKey | string | 更新用のセッションキー | undefined | 400 |
checksum | string | 更新用のチェックサム | undefined | 400 |
BundleId
Prop | Type |
---|---|
id | string |
BundleListResult
Prop | Type |
---|---|
bundles | BundleInfo[] |
ListOptions
Prop | Type | Description | Default | Since |
---|---|---|---|---|
raw | boolean | 生のバンドルリストを返すかマニフェストを返すか。trueの場合、ディスク上のファイルではなく内部データベースから読み取りを試みます | false | 6140 |
ResetOptions
Prop | Type |
---|---|
toLastSuccessful | boolean |
CurrentBundleResult
Prop | Type |
---|---|
bundle | BundleInfo |
native | string |
MultiDelayConditions
Prop | Type |
---|---|
delayConditions | DelayCondition[] |
DelayCondition
Prop | Type | Description |
---|---|---|
kind | DelayUntilNext | setMultiDelayで遅延条件を設定します |
value | string |
LatestVersion
Prop | Type | Description | Since |
---|---|---|---|
version | string | getLatestメソッドの結果 | 40 |
major | boolean | ||
message | string | ||
sessionKey | string | ||
error | string | ||
old | string | ||
url | string | ||
manifest | ManifestEntry[] | 61 |
ManifestEntry
Prop | Type |
---|---|
file_name | string | null |
file_hash | string | null |
download_url | string | null |
GetLatestOptions
Prop | Type | 説明 | デフォルト | Since |
---|---|---|---|---|
channel | string | 最新バージョンを取得するためのチャンネル。チャンネルはこの機能を使用するために’self_assign’を許可する必要があります | undefined | 680 |
ChannelRes
Prop | Type | 説明 | Since |
---|---|---|---|
status | string | 設定されたチャンネルの現在のステータス | 470 |
error | string | ||
message | string |
SetChannelOptions
Prop | Type |
---|---|
channel | string |
triggerAutoUpdate | boolean |
UnsetChannelOptions
Prop | Type |
---|---|
triggerAutoUpdate | boolean |
GetChannelRes
Prop | Type | 説明 | Since |
---|---|---|---|
channel | string | 取得したチャンネルの現在のステータス | 480 |
error | string | ||
message | string | ||
status | string | ||
allowSet | boolean |
SetCustomIdOptions
Prop | Type |
---|---|
customId | string |
BuiltinVersion
Prop | Type |
---|---|
version | string |
DeviceId
Prop | Type |
---|---|
deviceId | string |
PluginVersion
Prop | Type |
---|---|
version | string |
AutoUpdateEnabled
Prop | Type |
---|---|
enabled | boolean |
PluginListenerHandle
Prop | Type |
---|---|
remove | () => Promise<void> |
DownloadEvent
Prop | Type | 説明 | Since |
---|---|---|---|
percent | number | ダウンロードの現在の進捗状況(0から100の間) | 400 |
bundle | BundleInfo |
NoNeedEvent
Prop | Type | 説明 | Since |
---|---|---|---|
bundle | BundleInfo | ダウンロードの現在の進捗状況(0から100の間) | 400 |
UpdateAvailableEvent
Prop | Type | 説明 | Since |
---|---|---|---|
bundle | BundleInfo | ダウンロードの現在の進捗状況(0から100の間) | 400 |
DownloadCompleteEvent
Prop | Type | 説明 | Since |
---|---|---|---|
bundle | BundleInfo | 新しいアップデートが利用可能な場合に発生 | 400 |
MajorAvailableEvent
Prop | Type | 説明 | Since |
---|---|---|---|
version | string | 新しいメジャーバンドルが利用可能な場合に発生 | 400 |
UpdateFailedEvent
Prop | Type | 説明 | Since |
---|---|---|---|
bundle | BundleInfo | アップデートのインストールが失敗した場合に発生 | 400 |
DownloadFailedEvent
Prop | Type | 説明 | Since |
---|---|---|---|
version | string | ダウンロードが失敗した場合に発生 | 400 |
AppReadyEvent
Prop | Type | 説明 | Since |
---|---|---|---|
bundle | BundleInfo | アプリが使用可能な状態になった場合に発生 | 520 |
status | string |
AutoUpdateAvailable
Prop | Type |
---|---|
available | boolean |
Type Aliases
BundleStatus
‘success’ | ‘error’ | ‘pending’ | ‘downloading’
DelayUntilNext
‘background’ | ‘kill’ | ‘nativeVersion’ | ‘date’