有沒有想過我們從安裝的應用程式收到的通知?或者 Swiggy 或 Zomato 如何透過其創意通知激發我們在凌晨 3 點點餐? ?
讓我們深入了解通知的概念!
通知是應用程式發送的訊息或警報,用於通知使用者有關更新、事件或操作的信息,通常在應用程式介面之外傳遞。
現在可以有兩種類型的通知,如下所示 -
推播通知是當應用程式未在前台主動運行時從伺服器發送到應用程式的訊息或警報。它們主要用於透過發送更新、提醒或個人化內容來保持用戶的參與度。推播通知是透過作業系統服務傳遞的,例如適用於 iOS 的 Apple 推播通知服務 (APN) 或適用於 Android 的 Firebase 雲端訊息傳遞 (FCM)。
應用程式內通知是在使用者主動使用應用程式時向使用者顯示的訊息或警報。與推播通知不同,這些通知不需要伺服器幹預,而是在應用程式本身內觸發,通常是用戶操作或應用程式事件的結果。
現在我們了解了通知及其類型,是時候在您自己的 React Native 應用程式中實現該功能了。本指南僅用於在 React 原生 Android 應用程式中實現推播通知,如果您想要 iOS 或應用程式內通知,請寫下評論,我肯定會發布!
首先,我們將使用名為 OneSignal 的第三方服務。我最近發現了這個平台,並對他們提供的服務感到震驚。
OneSignal 是一種推播通知服務,使應用程式開發人員能夠跨各種平台(包括行動應用程式、網站和電子郵件)向用戶發送有針對性的通知。它支援推播、應用程式內和 Web 通知,提供分段、自動化、A/B 測試和即時分析等功能。 OneSignal 廣泛用於透過提供易於整合的發送個人化訊息的解決方案來提高用戶參與度和保留率。他們的免費套餐包括每月 10,000 次免費電子郵件發送、無限行動推播發送、旅程工作流程、GDPR 合規性、A/B 測試
回到指南,因為我們已經知道推播通知需要透過 FCM(Firebase 雲端訊息傳遞)進行伺服器端處理,因此需要遵循以下步驟:
設定 Firebase 項目(如果您已有 Firebase 項目,請忽略前兩個步驟):
設定 OneSignal
我們已經完成了 firebase 和 OneSignal 中的設置,現在剩下的唯一任務是一些代碼咖啡
npm i react-native-onesignal
import { OneSignal } from 'react-native-onesignal';
並且您已新增此程式碼片段來初始化 OneSignal
OneSignal.initialize('YOUR_APP_ID');
您可以將其包裝在 useEffect 掛鉤中,以便與 OneSignal 無縫整合和連接。
這將使用 OneSignal 的唯一 ID 來初始化設備,您可以在側邊欄的訂閱中進行檢查。每個初始化的設備都將使用這個唯一的 OneSignal ID 進行標識,如果您已經有用戶擁有自己的唯一 ID,您也可以使用以下程式碼片段手動設定它:
OneSignal.login(userId)
用戶成功訂閱後,會在儀表板中顯示如下
現在您可能會遇到一些 OneSignal 未正確使用的問題或一些嚴重錯誤,因此您可以按照以下部分來幫助我解決這些問題。
dependencies{ ... implementation('com.onesignal:OneSignal:[3.15.4, 3.99.99]') ... }
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
就在應用程式標籤之前。網路權限是可選的,但因為它可能預設為啟用。
繁榮?涵蓋了實現推播通知的所有步驟,您可以從 OneSignal 儀表板本身發送測試通知。
自己嘗試一下,如果有任何疑問,可以在下面評論。關注獲取更多詳細攻略!
參考文獻:
https://documentation.onesignal.com/docs/react-native-sdk-setup
https://documentation.onesignal.com/reference/push-notification
https://medium.com/tribalscale/mobile-push-notifications-implementation-in-react-native-with-one-signal-4e810dddd350
編碼愉快! ??
以上是如何在 React Native (Android) 中實現推播通知的詳細內容。更多資訊請關注PHP中文網其他相關文章!