在Safari MAC和iOS上的所有浏览器上使用Firebase消息打开有角度的Web应用程序时黑屏

时间:2018-12-12 10:29:35

标签: angular firebase firebase-cloud-messaging

我正在使用FCM来接收Web上的推送通知。我搜索到Safari桌面和iOS浏览器不支持此功能,因此这就是我在其上出现空白屏幕的原因。

app.module.ts:

import { AngularFireModule } from '@angular/fire';
import { AsyncPipe } from '../../node_modules/@angular/common';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';

 export const firebaseConfig = {
    apiKey: "---",
  authDomain: "---",
  databaseURL: "---",
  projectId: "---",
  storageBucket: "----",
  messagingSenderId: "-----"  
}  

  @NgModule({
  declarations: [
    AppComponent,
  ],
  imports: [
    BrowserModule,
    BrowserAnimationsModule, 
    AppRoutingModule,
   ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }),
   AngularFireModule.initializeApp(firebaseConfig),    
  AngularFireDatabaseModule,
    BrowserAnimationsModule,    
  ],

  providers: [MessagingService,AsyncPipe],
  bootstrap: [AppComponent],

firebase-messaging-sw.js

importScripts('https://www.gstatic.com/firebasejs/5.5.0/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/5.5.0/firebase-messaging.js');


if(firebase.messaging.isSupported())
{
  var config = {

   messagingSenderId: "----"

};

  firebase.initializeApp(config);
 const messaging = firebase.messaging();
}

问题似乎是导入中Firebase的初始化,因为在控制台上出现Firebase SDK不支持的错误。

如果我从导入中删除了Firebase初始化并将其留在Service Worker中,则会出现控制台错误。

如果我在导入中添加了firebase的初始化,则应用程序和推送通知可以正常工作,但是在Safari桌面和所有iOS浏览器上却出现空白页。

是否有任何方法可以在初始化之前将条件放入导入中,或采取其他任何方法来避免此空白页错误?

网址:https://pushnotif-cca10.firebaseapp.com/

0 个答案:

没有答案