Cordovaプラグインを使用する
Apache Cordovaプラグインは、モバイルアプリで参照できるようにモジュールにラップして使用します。最初に、Forgeで入手できるTemplate Pluginを複製します。これにはあらゆるカスタムCordovaプラグインの土台が含まれています。各プラグインを独自の専用モジュールやアプリケーションにラップする必要があります。つまり、複数のプラグインを使用する場合は、プラグインごとにアプリケーションを作成し、1つのラッパーモジュールを含める必要があります。ラッパーモジュールに関連するアクションおよびエンティティは、公開する必要があります。ラッパーモジュールは、意味のある名前(「SamplePlugin」など)にする必要があります。Cordovaプラグインをラップするモジュールは、同じくCordovaプラグインをラップする別のモジュールを参照してはいけません。
Cordovaプラグインの機能は、ネイティブのモバイルアプリケーションでのみテストできます。
このドキュメントでは、既存のCordovaプラグインをモジュールにラップする方法について説明しています。 独自のCordovaプラグインを作成してラップする詳しい手順については、ブログ記事「Cordovaプラグインを最初から作成する方法」をご覧ください。
Cordovaプラグインを参照する
Extensibility ConfigurationモジュールプロパティでCordovaプラグインをラップします。以下のいずれかのキーをJSON設定で使用してプラグインを指定します。
- 公開リポジトリのURL(
url
キーの値) - Cordova識別子(
identifier
キーの値) - [Data]タブのResourcesフォルダのZIPファイル(
resource
キーの値)
OutSystemsでサポートされているプラグインであり、かつパブリックリポジトリを使用してプラグインを参照している場合を除き、プラグインリポジトリをフォークするか、(https://example.com/sampleplugin/sampleplugin.git#1.1.0
などの)タグ付きバージョンを使用することを推奨します。これにより、プラグインや、プラグインを使用するアプリケーションの変更が破棄されることを防ぎます。タグを使用しない場合、2つの異なるビルドに異なる結果が生じることがあります。ある環境でのテストが、他の環境で生成された別のビルドによって無効になる場合のある1つ以上の環境でのデプロイにおいて、これは特に重要です。
JSONは、プラグインに必要な追加の設定に使用できます。JSONの詳細な説明については、「Extensibility ConfigurationのJSONスキーマ」の記事をご覧ください。
JSONの例
これは、Extensibility ConfigurationモジュールプロパティのJSONファイルの例です。url
、identifier
、resource
のいずれかのplugin
キーのプラグイン参照のうち、使用できるのは1つのみです。ご注意ください。
npmレジストリのプラグインは以下のとおりです。
{ "plugin": { "identifier": "sampleplugin" } }
gitリポジトリのプラグインは以下のとおりです。
{ "plugin": { "url": "https://example.com/sampleplugin/sampleplugin.git#1.1.0" } }
ZIPファイルのプラグインは以下のとおりです。
{ "resource": "my-plugin.zip", "plugin": { "resource": "my-plugin" } }
ファイルは、[Data]タブのResourcesフォルダにあるmy-plugin.zip
ファイルに保存されています。ResourceプロパティのDeploy Actionアトリビュートで[Do Nothing]を選択します。ZIPファイル内のplugin.xml
の場所はmy-plugin\plugin.xml
です。plugin.xml
ファイルには、ルートplugin
要素内にid="my-plugin"
アトリビュートがあります。
プラグインに追加の引数が必要な場合は、これらをname
およびvalue
のキーと値のペアに指定できます。
以下に例を示します。
{ "plugin": { "url": "https://example.com/sampleplugin/sampleplugin.git", "variables": [ { "name": "<plugin_var1>", "value": "<value_var1>" }, { "name": "<plugin_var2>", "value": "<value_var2>" } ] } }
ラッパーモジュールのストラクチャ
各プラグインには、ブーリアン型のIsAvailable出力パラメータのあるCheck<Capability>Plugin
アクション(CheckCameraPluginhなど)が必要です。これにより、プラグインがターゲットモジュールで使用可能かどうかを確認できます。
ラッパーモジュールでアクションを作成し、変数のあるJavaScriptフロー要素を追加します。アプリケーションで使用できるようにアクションを公開します。すべてのパブリックアクション、入力、および出力の説明を記述します。これは、ターゲットアプリケーションでモジュールを使用する場合に役立ちます。
以下のように、ラッパーをCordovaプラグインに接続するコードをJavaScript要素に挿入します。