メインコンテンツへスキップ
バージョン: v8

@capacitor/app

App API は、高レベルのアプリの状態とイベントを処理します。たとえば、この API はアプリがフォアグラウンドに出入りするとき、ディープリンクを処理するとき、他のアプリを開くとき、および永続化されたプラグインの状態を管理するときにイベントを発行します。

インストール

npm install @capacitor/app
npx cap sync

iOS

カスタムスキームからアプリを開けるようにするには、最初にスキームを登録する必要があります。これは、Info.plistファイルを編集し、次の行を追加することで実行できます。

<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.getcapacitor.capacitor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>mycustomscheme</string>
</array>
</dict>
</array>

Android

カスタムスキームからアプリを開けるようにするには、最初にスキームを登録する必要があります。これは、AndroidManifest.xmlactivityセクション内に次の行を追加することで実行できます。

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="@string/custom_url_scheme" />
</intent-filter>

custom_url_schemeの値は、strings.xmlに保存されます。Androidプラットフォームが追加されると、@capacitor/cliはアプリのパッケージ名をデフォルト値として追加しますが、strings.xmlファイルを編集することで置き換えることができます。

import { App } from '@capacitor/app';

App.addListener('appStateChange', ({ isActive }) => {
console.log('App state changed. Is active?', isActive);
});

App.addListener('appUrlOpen', data => {
console.log('App opened with URL:', data);
});

App.addListener('appRestoredResult', data => {
console.log('Restored state:', data);
});

const checkAppLaunchUrl = async () => {
const { url } = await App.getLaunchUrl();

console.log('App opened with URL: ' + url);
};

API

exitApp()

exitApp() => Promise<void>

アプリを強制的に終了させます。これは、ナビゲーションが完了したときにアプリを終了するために、AndroidのbackButtonハンドラーと組み合わせてのみ使用する必要があります。

Ionic自体がこれを処理するため、Ionicを使用している場合はこれを呼び出す必要はありません。

Since 1.0.0


getInfo()

getInfo() => Promise<AppInfo>

アプリに関する情報を返します。

戻り値: Promise<AppInfo>

Since 1.0.0


getState()

getState() => Promise<AppState>

現在のアプリの状態を取得します。

戻り値: Promise<AppState>

Since 1.0.0


getLaunchUrl()

getLaunchUrl() => Promise<AppLaunchUrl | undefined>

アプリが起動されたときのURL(存在する場合)を取得します。

戻り値: Promise<AppLaunchUrl>

Since 1.0.0


minimizeApp()

minimizeApp() => Promise<void>

アプリケーションを最小化します。

Androidでのみ使用可能です。

Since 1.1.0


addListener('appStateChange', ...)

addListener(eventName: 'appStateChange', listenerFunc: StateChangeListener) => Promise<PluginListenerHandle>

アプリまたはアクティビティの状態の変化をリッスンします。

iOSでは、ネイティブのUIApplication.willResignActiveNotificationおよびUIApplication.didBecomeActiveNotificationイベントが発行されるときに発行されます。Androidでは、CapacitorのアクティビティonResumeおよびonStopメソッドが呼び出されたときに発行されます。Webでは、ドキュメントのvisibilitychangeが発行されたときに発行されます。

パラメータタイプ
eventName'appStateChange'
listenerFuncStateChangeListener

戻り値: Promise<PluginListenerHandle>

Since 1.0.0


addListener('pause', ...)

addListener(eventName: 'pause', listenerFunc: () => void) => Promise<PluginListenerHandle>

アプリまたはアクティビティが一時停止したときにリッスンします。

iOSでは、ネイティブのUIApplication.didEnterBackgroundNotificationイベントが発行されるときに発行されます。Androidでは、CapacitorのアクティビティonPauseメソッドが呼び出されたときに発行されます。Webでは、ドキュメントのvisibilitychangeが発行され、document.hiddenがtrueのときに発行されます。

パラメータタイプ
eventName'pause'
listenerFunc() => void

戻り値: Promise<PluginListenerHandle>

Since 4.1.0


addListener('resume', ...)

addListener(eventName: 'resume', listenerFunc: () => void) => Promise<PluginListenerHandle>

アプリまたはアクティビティが再開したときにリッスンします。

iOSでは、ネイティブのUIApplication.willEnterForegroundNotificationイベントが発行されるときに発行されます。Androidでは、CapacitorのアクティビティonResumeメソッドが呼び出されたときに発行されますが、再開が最初に発行された後のみです。Webでは、ドキュメントのvisibilitychangeが発行され、document.hiddenがfalseのときに発行されます。

パラメータタイプ
eventName'resume'
listenerFunc() => void

戻り値: Promise<PluginListenerHandle>

Since 4.1.0


addListener('appUrlOpen', ...)

addListener(eventName: 'appUrlOpen', listenerFunc: URLOpenListener) => Promise<PluginListenerHandle>

アプリのURLオープンイベントをリッスンします。これは、カスタムURLスキームリンクと、アプリが処理するURL(iOSのユニバーサルリンク、Androidのアプリリンク)の両方を処理します。

パラメータタイプ
eventName'appUrlOpen'
listenerFuncURLOpenListener

戻り値: Promise<PluginListenerHandle>

Since 1.0.0


addListener('appRestoredResult', ...)

addListener(eventName: 'appRestoredResult', listenerFunc: RestoredListener) => Promise<PluginListenerHandle>

アプリが以前に永続化されたプラグイン呼び出しデータ(Androidでアクティビティが閉じられたアプリに戻るときなど)で起動された場合、この呼び出しは、アプリが起動されたときに渡されたデータをプラグイン呼び出しの結果の形式に変換して返します。

Androidでは、ローエンドデバイスのメモリ制約により、アプリが新しいアクティビティを起動すると、メモリ消費を削減するためにオペレーティングシステムによってアプリが強制終了される可能性があります。

たとえば、これは、写真を撮るために新しいアクティビティを起動するカメラAPIが、アプリにデータを返すことができない可能性があることを意味します。

これを回避するために、Capacitorはすべての復元されたアクティビティの結果を起動時に保存します。アプリが実行されていないときに配信されたプラグイン呼び出しの結果を処理するために、appRestoredResultのリスナーを追加する必要があります。

その結果(もしあれば)を取得したら、UIを更新して、ユーザーにとって論理的なエクスペリエンスを復元できます(ナビゲートや適切なタブの選択など)。

外部アクティビティ(たとえば、カメラ)に依存するプラグインを使用するすべてのAndroidアプリで、このイベントを処理することをお勧めします。

パラメータタイプ
eventName'appRestoredResult'
listenerFuncRestoredListener

戻り値: Promise<PluginListenerHandle>

Since 1.0.0


addListener('backButton', ...)

addListener(eventName: 'backButton', listenerFunc: BackButtonListener) => Promise<PluginListenerHandle>

ハードウェアの戻るボタンイベント(Androidのみ)をリッスンします。このイベントをリッスンすると、デフォルトの戻るボタンの動作が無効になるため、window.history.back()を手動で呼び出すことをお勧めします。アプリを閉じたい場合は、App.exitApp()を呼び出します。

パラメータタイプ
eventName'backButton'
listenerFuncBackButtonListener

戻り値: Promise<PluginListenerHandle>

Since 1.0.0


removeAllListeners()

removeAllListeners() => Promise<void>

このプラグインのすべてのネイティブリスナーを削除します

Since 1.0.0


インターフェース

AppInfo

プロパティタイプ説明Since
name文字列アプリの名前。1.0.0
id文字列アプリの識別子。iOSではバンドル識別子。AndroidではアプリケーションID1.0.0
build文字列ビルドバージョン。iOSではCFBundleVersion。AndroidではversionCode。1.0.0
version文字列アプリのバージョン。iOSではCFBundleShortVersionString。AndroidではパッケージのversionName。1.0.0

AppState

プロパティタイプ説明Since
isActiveブール値アプリがアクティブかどうか。1.0.0

AppLaunchUrl

プロパティタイプ説明Since
url文字列アプリを開くために使用されたURL。1.0.0

PluginListenerHandle

プロパティタイプ
remove() => Promise<void>

URLOpenListenerEvent

プロパティタイプ説明Since
url文字列アプリが起動されたURL。1.0.0
iosSourceApplicationanyアプリを起動したソースアプリケーション(iOSのみ) https://developer.apple.com/documentation/uikit/uiapplicationopenurloptionskey/1623128-sourceapplication1.0.0
iosOpenInPlaceブール値アプリが渡されたドキュメントをその場で開くか、最初にコピーする必要があるか。https://developer.apple.com/documentation/uikit/uiapplicationopenurloptionskey/1623123-openinplace1.0.0

RestoredListenerEvent

プロパティタイプ説明Since
pluginId文字列この結果が対応するpluginId。例えば、Camera1.0.0
methodName文字列この結果が対応するmethodName。例えば、getPhoto1.0.0
dataanyプラグインから渡された結果データ。これは、通常プラグインメソッドを呼び出すと期待される結果になります。例えば、CameraPhoto1.0.0
successブール値プラグイン呼び出しが成功したかどうかを示すブール値。1.0.0
error{ message: string; }プラグイン呼び出しが成功しなかった場合、エラーメッセージが含まれます。1.0.0

BackButtonListenerEvent

プロパティタイプ説明Since
canGoBackブール値ブラウザが履歴を戻れるかどうかを示します。履歴スタックが最初のエントリにある場合はFalse。1.0.0

型エイリアス

StateChangeListener

(state: AppState): void

URLOpenListener

(event: URLOpenListenerEvent): void

RestoredListener

(event: RestoredListenerEvent): void

BackButtonListener

(event: BackButtonListenerEvent): void