回答編集履歴
2
同期処理のコード修正
answer
CHANGED
@@ -13,11 +13,11 @@
|
|
13
13
|
var foo = {
|
14
14
|
a: 0,
|
15
15
|
process1: function process1 () {
|
16
|
-
this.a = 1
|
16
|
+
this.a = 1;
|
17
17
|
console.log('①');
|
18
18
|
},
|
19
|
-
process2 function process2 () {
|
19
|
+
process2: function process2 () {
|
20
|
-
console.log('②', a);
|
20
|
+
console.log('②', this.a);
|
21
21
|
}
|
22
22
|
}
|
23
23
|
|
1
NotificationOpen イベント
answer
CHANGED
@@ -57,7 +57,7 @@
|
|
57
57
|
このコードで「deviceready -> ons.ready」の順番で発火する事は保証されているので、「onNotificationOpen と ons.ready のどちらが先に発火するイベントモデルなのか」が問題ですが、検証すればすぐに結果は出るでしょう。
|
58
58
|
(考えづらいと思いますが、もし、`ons.ready` が先に発火するのであれば、onNotificationOpen が発火するまで数秒間待機させるか、別のイベントを探す必要があります。)
|
59
59
|
|
60
|
-
###
|
60
|
+
### NotificationOpen イベント
|
61
61
|
|
62
62
|
- [arnesson/cordova-plugin-firebase: Cordova plugin for Google Firebase](https://github.com/arnesson/cordova-plugin-firebase)
|
63
63
|
|
@@ -68,7 +68,7 @@
|
|
68
68
|
> ii. User taps the notification and the app opens
|
69
69
|
> iii. User receives the notification data in the JavaScript callback
|
70
70
|
|
71
|
-
|
71
|
+
NotificationOpen イベントはバックグラウンド実行されたアプリから復帰した時にも発火するイベントです。
|
72
72
|
従って、先のコードで処理を行うと既に初期化処理が終わっているアプリに対して、バックグラウンドから復帰時にもう一度初期化処理が走る事になります。
|
73
73
|
それが望まない動作であるなら、フラグ管理する等して初期化済かどうかを判断する条件分岐処理が必要になります。
|
74
74
|
ちなみに、Monaca には `resume` イベントが用意されているようです。
|