0

WebベースのアプリケーションでFirebase Cloud Messagingを実装しようとしています(Polymerとサービスワーカー、SDKのcustom-swを使用しています) )。FCM通知のクリックは常に新しいタブで開きます(web-app Polymer)

これは素晴らしいです(デスクトップとアンドロイドの両方で)が、ユーザーが通知をクリックすると、同じ原点のタブが開いていても(フォーカスされていなくても)常に新しいタブでclick_actionが開きます。

click_action = "https://example.firebaseapp.com/demo/command"
アクティブでないタブのURLが= "https://example.firebaseapp.com/demo"

FCM SDKのgetWindowClient_方法が正確にアクティブなクライアントのURLを解析していないので、非アクティブなタブにfocus()を呼び出すことができないようです。

これを解決する方法はありますか?

答えて

0

これはどのように設計されているのですか?最初は私を守ってくれましたが、それについて考えた後、新しいタブ/ウィンドウが意味を成しました。

1)サービスワーカーは、ブラウザとは別のプロセスです。 2)通知が表示されたときに、ブラウザのタブ/ウィンドウに関連付けられていません。 3)既存のウィンドウ内のURLを変更すると、ユーザーを混乱させる恐れがあります。

ユーザーがボタンをクリックすると、通知では元のタブがアクティブでないとみなされます。それで、新しいウィンドウが開きます。

+0

したがって、 'click_action'と同じ原点を持つタブを' focus() 'することはできません。サービスワーカーは毎回新しいタブを開く必要がありますか? Webアプリケーションがスタンドアロンモードの場合はどうなりますか? (FCM SDKが同じ原点のタブを取得しようとしているようだから驚くべきことです) –

+0

私は同じ問題があり、https://github.com/firebase/quickstart-jsの例を試してみるとすべての動作予期したとおり、プッシュ通知をクリックすると、ユーザーはすでに開いているタブにリダイレクトされます。私は私のアプリでこれを動作させることはできません。 – demsey

+0

私はそれが働いているが、URLが完全に同じでなければならない – demsey

関連する問題