簡體   English   中英

Firebase 在 iPad 上為 Safari; 找不到變量:通知

[英]Firebase on iPad's Safari; Can't find variable: Notification

我使用 Firebase 的雲消息傳遞,但它不適用於 iPad 和 iPhone。 這是我能用它做的最簡單的用法。 我剛剛完成了所有關於異地通知的教程,但我直接在 Firebase 的腳本中遇到了這個錯誤在此處輸入圖像描述 .

您使用的 firebase JavaScript 庫與 iOS 上的 Safari 不兼容。 在 iOS 設備上運行的 Safari 瀏覽器與應用程序的桌面版本不同,並且沒有相同的功能集。

在這種特定情況下,iOS Safari 會在您的 firebase.js 庫上拋出錯誤,嘗試使用 Web 通知 API 的 requestPermission() 方法以允許 firebase 向用戶顯示通知。 但是,通知 API 不存在。

您可以在此處查看對 Notification API 的支持: http : //caniuse.com/#search=Notification

當您的 Web 應用程序在不支持它的移動設備上查看時,您可能需要查看替代方案或禁用 Firebase 庫。 如果它應該在 iOS Safari 上工作,那么你應該向 Firebase 提交錯誤,看看是否有可用的補丁或更新來解決 firebase.js 庫中的問題。

iOS 不支持通知 API https://caniuse.com/#search=Notification

我創建了一個函數,讓您知道用戶的瀏覽器是否支持它。

const isSupported = () =>
'Notification' in window &&
'serviceWorker' in navigator &&
'PushManager' in window

並在使用 Notification API 之前使用它

例如:

if (isSupported()) {
const hasPermission = Notification.permission === 'granted'}

我使用Firebase的雲消息傳遞,但不適用於iPad和iPhone。 這是我可以使用的最簡單的用法。 我剛剛完成了有關異地通知的所有教程,但直接在Firebase的腳本中遇到了此錯誤在此處輸入圖片說明

Firebase JavaScript Safari(包括iOS Safari)仍然不支持SDK的雲消息。

為了通過那些不受支持的瀏覽器的初始化,我剛剛創建了類似的檢查 function, 實際 firebase SDK 使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM