See how Capacitor fits into the entire Ionic Ecosystem ->
Capacitor is part of the Ionic Ecosystem ->

JavaScript ユーティリティ

Capacitor には、同じコードベースを持つ複数のプラットフォーム間でアプリケーションを正常に実行するのに便利な JavaScript ユーティリティがいくつかあります。これらを使用するには、 Capacitor を読み込み、目的のユーティリティ関数を呼び出します:

import { Capacitor } from '@capacitor/core';
const isAvailable = Capacitor.isPluginAvailable('Camera');

convertFileSrc

convertFileSrc: (filePath: string) => string;

デバイスのファイルパスを Web View に適したパスに変換します。

Capacitor アプリケーションは、デバイスファイルとは異なるプロトコルで提供されます。これらのプロトコル間の問題を回避するには、デバイスファイルへのパスを書き換える必要があります。たとえば、Android では、 file:///path/to/device/filehttp://localhost/_capacitor_file_/path/to/device/file に書き換えてから Web ビューで使用する必要があります。

// file:///path/to/device/photo.jpg
const savedPhotoFile = await Filesystem.writeFile({
  path: "myFile.jpg",
  data: base64Data,
  directory: FilesystemDirectory.Data
});

// http://localhost/path/to/device/photo.jpg
const savedPhoto = Capacitor.convertFileSrc(savedPhotoFile.uri),
document.getElementById("savedPhoto").src = savedPhoto;
<img id="savedPhoto" />

getPlatform

getPlatform: () => string;

現在実行してるプラットフォームの名前を取得できます: web, ios, android.

if (Capacitor.getPlatform() === 'ios') {
  // do something
}

isNative

isNative?: boolean;

現在実行しているプラットフォームがネイティブかをチェックすることができます (ios, android).

if (Capacitor.isNative) {
  // do something
}

isPluginAvailable

isPluginAvailable: (name: string) => boolean;

現在実行中のプラットフォームでプラグインが使用可能かどうかを確認できます。プラグイン名はプラグインレジストリ(例: const { Name } = Plugins; )で使用されます。これは、カスタムプラグインも含め、動作することを確認することができます。

const isAvailable = Capacitor.isPluginAvailable('Camera');

if (!isAvailable) {
  // Have the user upload a file instead
} else {
  // Otherwise, make the call:
  const image = await Camera.getPhoto({
    resultType: CameraResultType.Uri,
  });
}
Previous
<- Progressive Web Apps
Next
概要 ->
Contribute ->