2016-12-08 5 views
0

私はAndroid + iOSアプリをCordova/PhoneGap + Ionic2で作成しています。プッシュ通知を受け取ったときにアプリを開きたいと思います。プッシュを受け取ったときに公開アプリ

アプリがバックグラウンドの場合、プッシュを受け取ったらどのように開くことができますか?ユーザーがボタンを押さなくてもこれが起こるようにしたいと思っています。着信コールを受信したときのように、Skypeはそうです。ここで

は、プッシュ通知のための私の現在のハンドラである:

// Handle received Push 
this.push.rx.notification().subscribe((msg) => { 
    alert(msg.title + ': ' + msg.text); 
}); 

これは動作しますが、アラートアクションは、ユーザーの後に受信通知をクリックするまでに発生負いませ。私は、自動的にアプリにユーザーを連れて行き、受け取った通知に自分のインターフェースを提示したいと思います。

私はHow to bring a Cordova Android application to foreground or start and bring to foreground once connected (and turn screen on) programmatically on GCMhttps://github.com/MobileChromeApps/cordova-plugin-background-appを見ましたが、ユーザーがこのプラグインを呼び出す通知をクリックする前に発生したイベントがないため、このイベントは使用できません。

答えて

0

GCM/FCMフローを非常にうまく処理できるプラグインがいくつかあっても、ネイティブにする必要があります。ほとんどのもの(少なくとも信頼しているもの)は、必要なものを処理しません。

Androidでは、BroadcastReceiverを使用して通知を表示するかどうかを決定し、その後、App Intentを起動するかどうかを決定します。

iOSでは、didReceiveRemoteNotificationメソッドを使用して、そこで何をするかを決めることができます。

どちらの場合でも、ユーザーの操作なしでアプリを表示すると、UXの経験が悪いとみなされる可能性があります(可能な場合でも)。たとえば、iOSの場合、アプリケーションの状態遷移を処理するためのこのオプションは、Guideでは決して言及されません。

+0

これらのイベントを指摘していただきありがとうございます。私が探しているもののように聞こえます。再:悪いUX、私はそれが邪魔になるようだが、その後私はまったく同じことをするように見えるSkypeについて考えることに同意する傾向があります。 Skypeのように、私の意図は、プッシュでアプリを開くだけでなく、次に取るべき行動を選択できる画面を表示することである。うまくいけば、これは邪魔にならないだろうし、Skypeがそれをすることを考えれば可能であるようだ。 –

関連する問題