0

Web-app (Polymer 및 서비스 직원이 있고 SDK의 custom-sw 사용)에서 Firebase Cloud Messaging을 구현하려고합니다.).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()'할 수 없습니까? 서비스 직원은 매번 새로운 탭을 열어야합니까? webapp이 독립 모드에 있다면 어떨까요? (FCM SDK가 동일한 원점의 탭을 검색하려고 시도하는 것 같아서 놀랍습니다. –

+0

동일한 문제가 있으며 https://github.com/firebase/quickstart-js에서 예제를 시도하면 모든 작업이 가능합니다. 예상대로 푸시 알림을 클릭하면 사용자가 이미 열린 탭으로 리디렉션됩니다. 내 응용 프로그램에서 작동하지 않을 수 있습니다. – demsey

+0

나는 그것이 작동하지만 URL이 정확하게 같아야한다. – demsey