整合Unity 訊息推播SDK 打群架 ChatGPT 還教錯?放心,這篇一篇教你全搞定

更新 發佈閱讀 7 分鐘
raw-image

在為 Unity 遊戲整合推播通知時,你可以問ChatGPT要教學 ,但說實話——它有時提供的程式碼不是過時,就是不正確。

問ChatGPT只是給個方向,細節仍然需要自行檢查、除錯並修復問題,才能讓整個流程順利運作。

在本教學中,我會教你一步步帶你完成如何使用 Firebase 無痛整合推播通知——更重要的是,如何在整合推播 SDK 與其他第三方 SDK 時,避免因為 SDK 衝突而浪費大量時間。

讓我們開始吧。 

步驟 1:建立 Firebase 專案並註冊 iOS + Android 應用程式。

 步驟 2:設定 Firebase 專案

 設定 iOS

  •  登入 Apple Developer 網站 → Certificate, Identifiers & Profiles → Keys → 建立新的 Key 並記錄 KEY ID
  •  返回 Firebase 控制台 → 填入你的 KEY ID
  •  你會看到如下畫面
raw-image


  •  BundleID:<填入你的 Bundle ID>
  •  App Store ID:<你可以在 App Store 下載連結中找到 Store ID>
  •  TeamID:<填入開發者帳戶的 Team ID>
  •  下載 GoogleService-Info.plist 並將其複製到 Unity 專案:Assets/ 目錄下

 

設定 Android

 建立 SHA 憑證指紋

 假設你已經建立 keystore

 否則,可執行以下指令來建立 keystore:

// Format
keytool -genkey -v -keystore <keystore 路徑> -alias <別名> -keyalg RSA -keysize 2048 -validity 10000 

示例:

 keytool -genkey -v -keystore test-debug-key.keystore -alias test-debug -keyalg RSA -keysize 2048 -validity 10000


接著執行以下指令生成 SHA 指紋:

keytool -list -v -alias test-debug -keystore test-debug-key.keystore

 

  • 進入 Firebase 控制台
  •  SHA certificate fingerprints:<填入你的 SHA 指紋>
  •  App nickname:<任意自訂名稱>
  •  Package Name:<你的 Android 套件名稱>
  •  下載 google-service.json 並複製到 Unity 專案:Assets/ 目錄下
raw-image


 步驟 3:匯入 Firebase 套件到 Unity 專案

  •  下載 Unity Firebase SDK v13.4.0
  •  解壓並安裝 FirebaseAnalytics.unitypackage 與 FirebaseMessaging.unitypackage
raw-image

你會在專案中看到:Assets/ExternalDependencyManager 資料夾

raw-image

 步驟 4:設定 Unity 的 ExternalDependencyManager

 讓我們開始設定它,以確保 iOS 與 Android 都能順利安裝所有必要依賴庫。

iOS

前往 ./Assets/ExternalDependencyManager → Editor → iOS Resolver

點擊 Settings

raw-image

Cocoapods Integration:<可依專案選擇 Add Cocoapods to Xcode project 或 Xcode workspace>

raw-image

點擊 Reset to Defaults,然後按 OK

raw-image


 Android

 前往 ./Assets/ExternalDependencyManager → Android Resolver → Settings

raw-image

 點擊 Reset to Defaults → OK

raw-image

Android Resolver → 點擊 Delete Resolved Libraries 與 Force Resolve

raw-image
為什麼需要重置 ExternalDependencyManager?

如果你有兩套不同的 SDK 都使用 ExternalDependencyManager,重置為預設值能協助順利解決依賴庫衝突。

這個簡單步驟能替你省下無數排錯時間。

另外,重置後建議執行 Delete Resolved Libraries 與 Force Resolve,可確保取得最新版本的依賴庫,而非舊快取。

 

步驟 5:整合推播通知

 4.1 App 啟動時初始化 Firebase

raw-image

InitializeFirebaseMessaging

raw-image

定義從 FCM 接收 Device Token 的 callback

raw-image

定義 OnMessageReceived 與 OnTokenReceived callback

raw-image


步驟 6:測試

  •  Build iOS 與 Android 開始測試 App
  •  確認你能在裝置日誌中看到 Registration Token
  •  登入 Firebase 控制台 → Cloud Messaging → Send test message →
raw-image
  • 填入裝置日誌取得的 device token --> 按下 Test
raw-image

你將在裝置上收到測試推播通知

總結

 恭喜你已經學會如何在 Unity 中使用 Firebase 為 Android 與 iOS 設定推播通知。特別是你知道如何解決SDK相衝突的問題。

如果你覺得這篇文章對你有幫助,請按 👏 支持,或訂閱我們的電子郵件以取得最新教學。

 感謝閱讀!

原文發佈於 Game Tech Tutorial

留言
avatar-img
留言分享你的想法!
avatar-img
遊戲技術部落格與生活筆記
4會員
8內容數
分享技術文章解決問題及生活點滴。技術包括雲端技術(AWS, GCP, Azure)的實戰經驗、雲端證照考試指南、Unity遊戲開發、DevOps、SDK,手機遊戲和應用程式及網站開發。
2025/09/01
你是不是碰過這樣的痛: - 玩家明明付了錢,卻因為 token 無效或流程錯誤,伺服器根本收不到?這種「掉單」情況最崩潰,也最容易被投訴。 - 想靠客戶端驗證節省成本,結果被假收據、重放攻擊/跨帳號刷單打臉?安全風險太高,搞到頭髮都要掉光! 現在,讓我們看看究竟哪幾條坑最讓人頭疼
Thumbnail
2025/09/01
你是不是碰過這樣的痛: - 玩家明明付了錢,卻因為 token 無效或流程錯誤,伺服器根本收不到?這種「掉單」情況最崩潰,也最容易被投訴。 - 想靠客戶端驗證節省成本,結果被假收據、重放攻擊/跨帳號刷單打臉?安全風險太高,搞到頭髮都要掉光! 現在,讓我們看看究竟哪幾條坑最讓人頭疼
Thumbnail
2023/10/30
本文您將可學到用幾個簡單的步驟,就可以快速整合推送功能到Unity的iOS和Android手機遊戲中。 幫你解決常見的代碼庫相衝問題,讓您的工作產能爆增。
Thumbnail
2023/10/30
本文您將可學到用幾個簡單的步驟,就可以快速整合推送功能到Unity的iOS和Android手機遊戲中。 幫你解決常見的代碼庫相衝問題,讓您的工作產能爆增。
Thumbnail
2023/09/14
這個教程可以幫助您為Unity遊戲設置崩潰日誌服務,讓您在短短幾分鐘內獲取崩潰日誌。
Thumbnail
2023/09/14
這個教程可以幫助您為Unity遊戲設置崩潰日誌服務,讓您在短短幾分鐘內獲取崩潰日誌。
Thumbnail
看更多
你可能也想看
Thumbnail
在其他語言會時常使用正規表達式來幫字串進行 Filter,在遊戲製作裡面比較遇不到處理使用者的字串輸入、資料庫查詢結果的情況,但在編輯程式碼,有搜尋(Ctrl+F)、取代(Ctrl+H)需求時使用 Regex 也能提升工作效率。
Thumbnail
在其他語言會時常使用正規表達式來幫字串進行 Filter,在遊戲製作裡面比較遇不到處理使用者的字串輸入、資料庫查詢結果的情況,但在編輯程式碼,有搜尋(Ctrl+F)、取代(Ctrl+H)需求時使用 Regex 也能提升工作效率。
Thumbnail
微軟想把 VS 的一些編輯功能在 VS Code 上實作, Unity 也在幾天前推出了基於 C# Dev Kit 的插件,因為新舊版本並不相容,這邊說明兩種(OmniSharp、Roslyn Analyzers)開發環境設置。
Thumbnail
微軟想把 VS 的一些編輯功能在 VS Code 上實作, Unity 也在幾天前推出了基於 C# Dev Kit 的插件,因為新舊版本並不相容,這邊說明兩種(OmniSharp、Roslyn Analyzers)開發環境設置。
Thumbnail
深入探討一些程式碼撰寫的習慣
Thumbnail
深入探討一些程式碼撰寫的習慣
Thumbnail
紀錄如何讓簡單的 Property 在 Inspector 內顯示。
Thumbnail
紀錄如何讓簡單的 Property 在 Inspector 內顯示。
Thumbnail
每個專案開發,都是由多個工程師來完成,就算只有一個人,隨著專案增量,你便會與過去的你面對面,這時候程式碼的可讀性高低就會成為左右你開發效率的一塊石頭,這篇就來說說幾個程式碼管理的小撇步
Thumbnail
每個專案開發,都是由多個工程師來完成,就算只有一個人,隨著專案增量,你便會與過去的你面對面,這時候程式碼的可讀性高低就會成為左右你開發效率的一塊石頭,這篇就來說說幾個程式碼管理的小撇步
Thumbnail
如何使用Game CI 提供的Github Action 將建置專案自動化
Thumbnail
如何使用Game CI 提供的Github Action 將建置專案自動化
Thumbnail
UnityEvent 簡單介紹。
Thumbnail
UnityEvent 簡單介紹。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News