FCM не работает на Chrome, но работает на Edge и Firefox - PullRequest
1 голос
/ 23 апреля 2020

Я играю с примером firebase web codelab из здесь

Все работает, когда я запускаю уже "завершенную" лабораторию (из каталога "web"), кроме одной странной проблемы: I невозможно получить уведомления FCM, работающие на Chrome (версия 80.0.3987.163 (официальная сборка) (64-разрядная версия)).

Работает, когда один и тот же сайт работает в Firefox и Edge, но на Chrome это не работает ни локально, ни развернуто на хостинге Firebase (со ссылками https).

Я получаю запрос на разрешение уведомлений с сайта, получаю токен, токен хранится в БД и его можно увидеть в консоли, но когда я вставляю этот токен в почтальон - ничего не происходит (fcm send возвращает успех и завершается ошибкой, если я передаю неверные учетные данные или токен сервера). Точно такой же рабочий процесс с той же командой почтальона работает на Firefox и Edge.

Поскольку это код Google на 100% (напрямую клонируется из здесь ) Я сомневаюсь, что проблема с кодом, и если он работает для Edge и Firefox, очевидно, все учетные данные верны.

Обновление: добавлены соответствующие примеры кода из public / index. html

<!-- Import and configure the Firebase SDK -->
<!-- These scripts are made available when the app is served or deployed on Firebase Hosting -->
<!-- If you do not want to serve/host your project using Firebase Hosting see https://firebase.google.com/docs/web/setup -->
<script src="/__/firebase/7.14.1/firebase-app.js"></script>
<script src="/__/firebase/7.14.1/firebase-auth.js"></script>
<script src="/__/firebase/7.14.1/firebase-storage.js"></script>
<script src="/__/firebase/7.14.1/firebase-messaging.js"></script>
<script src="/__/firebase/7.14.1/firebase-firestore.js"></script>
<script src="/__/firebase/7.14.1/firebase-performance.js"></script>
<script src="/__/firebase/init.js"></script>

<script src="scripts/main.js"></script>

из public / firebase-messaging -sw. js

// Import and configure the Firebase SDK
// These scripts are made available when the app is served or deployed on Firebase Hosting
// If you do not want to serve/host your project using Firebase Hosting see https://firebase.google.com/docs/web/setup
importScripts('/__/firebase/7.14.1/firebase-app.js');
importScripts('/__/firebase/7.14.1/firebase-messaging.js');
importScripts('/__/firebase/init.js');

firebase.messaging();

Запрос почтальона:

{
"notification": {
"title": "New chat message!",
"body": "There is a new message in FriendlyChat",
"icon": "/images/profile_placeholder.png",
"click_action": "http://localhost:5000"
},
"to":"cjXXXXXXXm9l"
}

Ответ на запрос почтальона:

{
"multicast_id": 7762212940520416194,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [
    {
        "message_id": "0:1587665587020317%e609af1cf9fd7ecd"
    }
]
}

Кто-нибудь знает, что это может быть?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...