私は Cordova アプリ (codova (3.4.0) を iOS で実行し、まもなく Android でも実行します。プッシュ通知が実装され、機能しています。プッシュ通知を介してアプリがいつ開始されたかを検出し、アプリケーションを右にリダイレクトするのに問題があります。ページ。
注: これは、アプリがバックグラウンドで実行されているときにプッシュ通知からアプリを起動することには関係ありません。アプリが完全に閉じているときのみ!
現在、次のワークフローがあります。
通常の起動:
- cordova.js が ondeviceready イベントを発生させるのを待ちます。
- ondeviceready イベントで、アプリのスタートアップ ビューにリダイレクトします (window.location.hash 経由)。
プッシュ通知からのコールド アプリ起動:
- cordova.js が ondeviceready イベントを発生させるのを待ちます。
- ondeviceready イベントで、アプリのスタートアップ ビューにリダイレクトします (window.location.hash 経由)。
- プラグインが起動し、アプリで notificationreceived という JavaScript 関数をトリガーします
- notificationreceived 関数では、プッシュ通知に基づいてビューにリダイレクトします
コールド アプリのスタートアップ シナリオがスタートアップ ビューに移動することがわかりますが、これは不要であり、ユーザーは最初のビューが読み込まれるまで待機し、再びリダイレクトされるだけです。
問題は、deviceready が起動したときに、私の JavaScript コードが今後のプッシュ通知をまだ認識していないことです。そのため、これを回避する方法を探しています。
deviceready cordova イベントに追加のパラメーターを渡す方法はありますか? または、この問題に取り組むための別のアイデアや解決策を誰かが持っていますか?