Monaca で 複数の Cordova プラグインを組み込んだ場合、それぞれの Cordova プラグインに設定されている値によって、ビルドの際に競合が発生する場合があります。
特に、Android Support Libraryや、Google Service 用ライブラリーのバージョン設定は、ビルド時に競合が発生しやすくなります。
variable オプション
Cordova プラグインのインストール方法の説明に --variable
のオプションが記載されている場合があります。
以下は、cordova-admob-pro プラグインの Installation に記載されている例です。
cordova plugin add cordova-plugin-admobpro --save --variable PLAY_SERVICES_VERSION=16.0.0
この設定は、PLAY_SERVICES_VERSION
の値として 16.0.0
を使用してビルドを行う設定になります。
Monaca で variable オプションを利用する場合
Monaca で variable オプションを利用する場合は、Cordovaプラグイン
画面で 有効
になっている Cordova プラグイン の 設定
画面にある インストールパラメータ
へ設定することで、variable オプションを利用することができます。
PLAY_SERVICES_VERSION=16.0.0
preference タグ
variable オプションは、plugin.xml の preference
タグを使用することで、利用できるようになります。
以下は、cordova-admob-pro プラグインの plugin.xml の plugin.xml の抜粋です。
<platform name="android">
<preference name="PLAY_SERVICES_VERSION" default="16.0.0"/>
<framework src="com.google.android.gms:play-services-ads:$PLAY_SERVICES_VERSION" />
</platform>
preference タグでは、default
属性を設定することで、デフォルト値を設定することができます。
実際に、PLAY_SERVICES_VERSION
を使用する場合は、先頭に $
を付け、$PLAY_SERVICES_VERSION
のように記述します。
おわりに
よく利用されている Cordova プラグインのドキュメントには、--variable
オプションの記載が多く見られます。
ビルドエラーの原因が、variable オプションで指定できる値で回避できる場合も多いため、ビルドエラーが発生した際には、一度、対象の Cordova プラグインのドキュメントに variable オプションの設定が記載されていないか確認してみてください。
variable オプションの記載がない場合でも、Cordova プラグインをダウンロードし、自分で preference タグを設定することで、variable オプションを利用できる Cordova プラグインを作成できます。
一度、チャレンジしてみてください。