Monacaでは、CordovaプラグインとOnsen UIを使用することができます。
Monacaで開発しているアプリでCordovaプラグインやOnsen UIを利用する場合は、アプリ内でCordovaの準備およびOnsen UIの準備を確認する必要があります。Cordovaの準備およびOnsen UIの準備が完了する前に機能にアクセスしても、正しい結果を得ることはできません。
Cordovaの準備完了を確認する
Cordovaの準備の完了を確認するには、「deviceready」イベントで確認することができます。
index.html内での例です。
<script>
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
alert("onDeviceReady");
}
</script>
document.addEventListenerに「deviceready」を設定することで、Cordovaの準備が完了したことを確認することができます。
Onsen UIの準備完了を確認する
Onsen UIの準備の完了を確認するには、「ons.ready()」で確認することができます。
index.html内での例です。
<script>
ons.ready(function() {
alert(“ons.ready”);
});
</script>
アプリでプッシュ通知を利用している場合
プッシュ通知を利用しているアプリでは、プッシュ通知のsetHandler()内で、CordovaプラグインやOnsen UIの機能を利用する場合、
<script>
monaca.cloud.Push.setHandler(function(data) {
alert(“Cordovaプラグインの処理を記述します。”);
alert(“Onsen UIの処理を記述します。”);
});
</script>
と記述した場合、CordovaプラグインやOnsen UIの準備ができていない場合は、処理が失敗してしまいます。CordovaプラグインやOnsen UIを利用している場合は、
<script>
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
monaca.cloud.Push.setHandler(function(data) {
alert(“Cordovaプラグインの処理を記述します。”);
});
}
</script>
<script>
ons.ready(function() {
monaca.cloud.Push.setHandler(function(data) {
alert(“Onsen UIの処理を記述します。”);
});
});
</script>
のように、CordovaプラグインやOnsen UIの準備が整った後に処理を記述する必要があります。
ons.ready()は、Onsen UIコンポーネントの読み込みが完了し、devicereadyイベントの後に起動しますので、CordovaプラグインとOnsen UIを両方利用している場合は、下記のようにons.ready()内で処理をまとめることが可能です。
<script>
ons.ready(function() {
monaca.cloud.Push.setHandler(function(data) {
alert(“Cordovaプラグインの処理を記述します。”);
alert(“Onsen UIの処理を記述します。”);
});
});
</script>
処理のタイミングを正しく把握することにより、Monacaでの効率の良いアプリ開発に役立ててください。
Monacaのイベントの発生順序につきましては、下記も参考にしてください。
Monacaのイベント発生順序について