【Expo Android 推播整合 02】 專案建置:設定 Firebase、Azure

更新於 發佈於 閱讀時間約 6 分鐘

以下流程是針對 Android 推播通知設定,請在 windows 電腦上執行!

這次的主題是 Expo 串接 Firebase 和 Azure,Azure 運行流程、編譯 App 和除錯會放在之後的文章。

前置準備

在這篇文章中,你需要事先準備

  • Google 帳號
  • Firebase 帳號
  • Azure 帳號
  • 一個 React Native / Expo 專案(安裝方法參考
    • 安裝指令 npx create-expo-app@latest
    • 使用 npx expo prebuild 生成 android 資料夾
    • 修改專案 app.json 檔案中的 android package 名稱
  • 安裝 Android Studio

Firebase 設定

1. 建立 Firebase Android 應用程式

在 Firebase 建立一個新專案後,新增 Android 應用程式

raw-image

2. 註冊 Android 應用程式

如果在上一篇文章中有設定專案 app.json 的 android package 辨識名稱,請在這裡填入,Firebase 會以這個名稱為辨識

raw-image

3. 加入 google-services 設定檔

下載畫面中提供的 google-services.json 檔案,放入 android/app 資料夾中

raw-image

4. 設定 Firebase SDK

這是我覺得整個設定中最難的步驟…沒有原生知識真的搞不清楚狀況,完全按照 Firebase 貼也可能在 Sync 報錯,翻了好多網友留言才試出來… 🥲。

將畫面提供的程式碼貼入專案內,請注意你是 gradle 或 gradle.tks,本範例使用 gradle,所以切換至 Groovy 版本程式碼。總共有兩個 build.gradle 檔案,請特別留意檔案路徑!以下程式碼可以在 VS code 或是 Android Studio 貼上都可以,推薦使用 Android Studio,雖然設定繁雜,但好處是會有格式報錯,之後我們打包除錯還是會用到。

  • 方法 1:使用 VS code 設定

android 專案資料夾的 build.gradle

// android/build.gradle
classpath 'com.google.gms:google-services:4.4.2'
raw-image

android 專案資料夾 / App module 的 build.gradle

// android/app/build.gradle
apply plugin: 'com.google.gms.google-services'
// android/app/build.gradle
implementation platform('com.google.firebase:firebase-bom:33.11.0') // Firebase BoM
implementation 'com.google.firebase:firebase-messaging' // 接收推播
raw-image
raw-image
  • 方法 2:使用 Android Studio 設定

如果你想使用 Android Studio 設定,建議先做 JDK 17 配置。JDK 17 是 Java Development Kit(Java 開發工具包)的其中一個版本,是 Oracle 和 Java 社群釋出的 LTS(長期支援)版本。我們之後把程式碼編譯成可安裝的 APK 也會用到!

1.jdk-17.0.12-windows 下載並安裝

2.重新啟動電腦

3.設定 JDK
手動設定 JDK 17
透過 Android Studio 設定 (但我沒設成功… 🫠)

4.在 Android Studio 開啟終端機輸入./gradlew --version 確認設定成果

raw-image

5.Android Studio 開啟專案中的 android 資料夾。當檔案有變更時,會出現 Sync Now 按鈕,點選後可藉由下方 Build 觀看是否報錯。

raw-image

5. 完成 Firebase Android 設定

以上設定完成後,回到 Firebase 的 Android 應用程式選擇確定建立。

6. 確認 Firebase Cloud Messaging API(V1) 啟用

在 Firebase Android 專案進入「雲端通訊」頁籤,確認 FCM API(V1) 是啟用狀態。查看一下服務帳戶,應該是自動連接 Google console 帳戶的。

raw-image

我們已經完成最難的部分啦! 🙌

歡呼一下,接下來就是設定 Azure 了。


Azure 連接

1. 建立 Azure 通知中樞

建立通知中樞方法

2. 串接 Firebase 和 Azure

  1. 開啟 Firebase Android 應用程式中的「服務帳戶」頁籤,下載金鑰檔案
  2. 開啟剛才建立的 Azure 通知中樞,切到 FCM v1(舊版 FCM 已經在 2024 停用)
  3. 在 Azure 貼上 Firebase 金鑰,按下儲存
raw-image

🎉 完工啦~!

文末附上 iOS 設定文件,因為 iOS 需要先付費申請 Apple 開發者帳號,我也沒有 Apple 筆電,就讓我引用教學文件代替吧。

iOS 設定文件




留言
avatar-img
留言分享你的想法!
avatar-img
Ann Chou的沙龍
17會員
29內容數
從藝術領域轉職到前端工程師,喜歡書寫學習歷程和技術文件,掌握經驗與隨時提取的感覺很好。
Ann Chou的沙龍的其他內容
2025/04/20
介紹在 React Native / Expo 中實作推播通知的方式,並比較使用 Expo Notifications 與整合 Firebase Cloud Messaging(FCM)或 Azure Notification Hubs 的差異。
2025/04/20
介紹在 React Native / Expo 中實作推播通知的方式,並比較使用 Expo Notifications 與整合 Firebase Cloud Messaging(FCM)或 Azure Notification Hubs 的差異。
2025/04/19
本篇主題是 React Native 小介紹。 因為先前在測試 Ionic + PWA 開發,對相機功能實在太失望,結果現在我開始用 React Native / Expo 了。 如果還不清楚 Ionic 和 Reac Native 能做不同種類的 App,可以先閱讀 App 種類概述 。
2025/04/19
本篇主題是 React Native 小介紹。 因為先前在測試 Ionic + PWA 開發,對相機功能實在太失望,結果現在我開始用 React Native / Expo 了。 如果還不清楚 Ionic 和 Reac Native 能做不同種類的 App,可以先閱讀 App 種類概述 。
2025/04/19
開發 App 的軟體有很多種,例如 Ionic、React Native、Flutter…。 不過我們在決定要使用哪一套工具前,可以先了解 App 要使用多少手機原生功能、人力技術、效能等資訊。
2025/04/19
開發 App 的軟體有很多種,例如 Ionic、React Native、Flutter…。 不過我們在決定要使用哪一套工具前,可以先了解 App 要使用多少手機原生功能、人力技術、效能等資訊。
看更多
你可能也想看
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
當你邊吃粽子邊看龍舟競賽直播的時候,可能會順道悼念一下2300多年前投江的屈原。但你知道端午節及其活動原先都與屈原毫無關係嗎?這是怎麼回事呢? 本文深入探討端午節設立初衷、粽子、龍舟競渡與屈原自沉四者。看完這篇文章,你就會對端午、粽子、龍舟和屈原的四角關係有新的認識喔。那就讓我們一起解開謎團吧!
Thumbnail
當你邊吃粽子邊看龍舟競賽直播的時候,可能會順道悼念一下2300多年前投江的屈原。但你知道端午節及其活動原先都與屈原毫無關係嗎?這是怎麼回事呢? 本文深入探討端午節設立初衷、粽子、龍舟競渡與屈原自沉四者。看完這篇文章,你就會對端午、粽子、龍舟和屈原的四角關係有新的認識喔。那就讓我們一起解開謎團吧!
Thumbnail
最近碰到個神奇的需求,App啟動時,才要用firebase remoteConfig去決定初始畫面。該文章詳細介紹了在App啟動時如何利用firebase remoteConfig去決定初始畫面,以及解決在推播的情況下造成跳轉無效的問題。
Thumbnail
最近碰到個神奇的需求,App啟動時,才要用firebase remoteConfig去決定初始畫面。該文章詳細介紹了在App啟動時如何利用firebase remoteConfig去決定初始畫面,以及解決在推播的情況下造成跳轉無效的問題。
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
Thumbnail
本文提供完成訂閱後的相關事項及安裝指引,包括填寫問卷、遠端開通Trading View帳號、指標安裝步驟等。另外也提供影片教學和紙本教學,以及解決安裝問題的方法。
Thumbnail
本文提供完成訂閱後的相關事項及安裝指引,包括填寫問卷、遠端開通Trading View帳號、指標安裝步驟等。另外也提供影片教學和紙本教學,以及解決安裝問題的方法。
Thumbnail
在這篇教學中,我們將學習如何使用 Google Apps Script 來連結 LINE Notify,以便於你的應用程式或自動化工作流程中發送通知。LINE Notify 是 LINE 提供的服務,可以讓你透過 LINE 帳號來發送自訂的通知訊息。
Thumbnail
在這篇教學中,我們將學習如何使用 Google Apps Script 來連結 LINE Notify,以便於你的應用程式或自動化工作流程中發送通知。LINE Notify 是 LINE 提供的服務,可以讓你透過 LINE 帳號來發送自訂的通知訊息。
Thumbnail
本課程學習如何使用 Intent 簡單跳頁,切換兩個 Activity。
Thumbnail
本課程學習如何使用 Intent 簡單跳頁,切換兩個 Activity。
Thumbnail
本課程學習如何在 Kotlin 程式碼檔案中,設定 ImageView 圖片元件,顯示本地端圖片。
Thumbnail
本課程學習如何在 Kotlin 程式碼檔案中,設定 ImageView 圖片元件,顯示本地端圖片。
Thumbnail
本課程學習如何使用 Android Studio 常用快速鍵。
Thumbnail
本課程學習如何使用 Android Studio 常用快速鍵。
Thumbnail
本課程學習如何使用 Android Studio 建立的第一個應用程式專案:Hello World。
Thumbnail
本課程學習如何使用 Android Studio 建立的第一個應用程式專案:Hello World。
Thumbnail
本篇文章將介紹開發 Android 手機應用程式所需的開發軟體,Google 官方的開發工具 Android Studio。這款軟體不僅免費,還提供完整的支援,適合所有 Android 開發者使用。
Thumbnail
本篇文章將介紹開發 Android 手機應用程式所需的開發軟體,Google 官方的開發工具 Android Studio。這款軟體不僅免費,還提供完整的支援,適合所有 Android 開發者使用。
Thumbnail
根據初學者設計了 Kotlin 程式語言的基礎課程,從 Android Studio 到 Android App 開發,提供完整指引。由基礎開始,傳授開發技巧。課程分為三部分:環境安裝、常用元件與界面設計,以及高階技巧如 DataStore、Room 資料儲存與網路處理。
Thumbnail
根據初學者設計了 Kotlin 程式語言的基礎課程,從 Android Studio 到 Android App 開發,提供完整指引。由基礎開始,傳授開發技巧。課程分為三部分:環境安裝、常用元件與界面設計,以及高階技巧如 DataStore、Room 資料儲存與網路處理。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News