Facebook Twitter Google Maps RSS
Home 未分類 【第2回】自作 Cordova プラグインの作り方 〜フォルダ構成の解説!〜
formats

【第2回】自作 Cordova プラグインの作り方 〜フォルダ構成の解説!〜

Published on 2015年8月31日, by in 未分類.

こんにちは!

陽気なシステム屋のりょーたです!

今月で2回目となるライブラリ等の使い方について投稿します。

と言っても今回はCordovaフレームワークの解説です!

Cordovaプラグイン作成

まずはじめに、Cordovaプロジェクトのpluginsディレクトリにフォルダを作成します。

フォルダ名は、今から作成するプラグインのパッケージ名にすると良いです。

例:com.example.appName

次に先ほど作成したフォルダの中に、

plugin.xml

srcフォルダ

を作成します。

plugin.xmlは、作成するプラグインの定義を行うファイルです。

画像のコメントで解説している通りに、定義ファイルを作成してください。
ここの定義を間違えてしまうと後々ハマるかも・・・。(実際私はハマりました(汗))

これでプラグインの定義が完了しました。

 

ソースファイルの作成

続いて、ソースファイルですが実装方法にいくつか注意点がありますので、その点について記述していこうと思います。
今回は代表的な例として、iOSとAndroidの解説を致します。

まずはiOSですが、ヘッダファイルには宣言と継承のみを記述してください。
ディレクトリは、[パッケージ名]/src/ios です。
plugin.h

このように、CDVPluginをimportし、継承してください。
また、メソッドの宣言は
-(void)Cordovaから呼び出すメソッド名:(CDVInvokedUrlCommand*)command;
のようにしてください。

続いて、plugin.mにソースを書いていきます。
plugin.m

こちらのファイルは、特にこれといって気をつける点はありません。
上記のように実装してください。

次にAndroidの実装方法です。
ディレクトリは、[パッケージ名]/src/android/[パッケージのディレクトリ 例:com/example/app] です。

plugin.java

Cordovaから呼び出されると、executeの第一引数にメソッド名が渡されるので、
メソッド名を条件とし、処理を記述していきます。

これで簡単な処理ではありますが、Pluginの基礎が作成できました。
ここからは用途にあったカスタマイズをしてみてください。

次の項では作成したプラグインをCordovaから呼び出す処理を解説したいと思います。

Cordovaからの呼び出し

呼び出したい箇所で、cordova.exec()メソッドを呼び出します。
記述方法は、

cordova.exec(
                function() {
                    console.log('Custom Plugin is successful.');
                },
                function() {
                    console.log('Custom Plugin is failed.');
                },
                "プラグイン名", "実行したいメソッド名",
                []
            );

です。
このメソッドの構成は、
cordova.exec(呼び出し成功時関数,呼び出し失敗時関数,プラグイン名,実施するメソッド名,引数の配列);
となっております。

あとは自作プラグインをCordovaのプロジェクトに追加しないといけません。
コンソールやターミナルでプロジェクトのディレクトリに移動し、

cordova platform remove android && cordova platform add android

cordova platform remove ios && cordova platform add ios

上記のコマンドを実行してください。
今回は、プラグインを読み込むのはplatform追加時だそうなので上記の方法を行いましたが、他に良い方法があるのかもしれません。

最後にビルドして実行すると動くはずです!

まとめ

さて、今回はCordovaフレームワークについて解説致しました。
Cordovaの自作プラグインについての情報が少ないため、今回の題としてみました。
少しでも参考になれば幸いです!

また、今回Cordovaのソースを読むことで理解が深まった部分が多々ありました。
余裕がある際はこういったことも面白いかもしれません。

弊社開発実績はこちら

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*