如何輕鬆集成推送通知到Unity遊戲中?

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

本文您將可學到用幾個簡單的步驟,就可以快速整合推送功能到Unity的iOS和Android手機遊戲中。

raw-image

我想您應該聽過手機的推送通知功能,推送通知是可定時傳送遊戲活動比賽或即時好康訊息給玩家,進而可以增強Unity遊戲的用戶體驗和增加遊戲的黏著度,但是整合到遊戲裡,通常不是一件簡單的工作,你將會需要足夠的經驗才能解決手機代碼庫相衝性的問題。

本文將提供了一個全面的指南,教你如何輕鬆集成推送通知的功能在Unity的手機遊戲中,重點是可避免代碼庫相依性的衝突問題,讓您的工作產能爆增。

目錄:

  • 什麼是Android的外部依賴管理器 ( External Dependency Manager)?
  • 為什麼外部依賴管理器會引起程式庫衝突?
  • 如何避免Unity的Android代碼庫衝突問題?
  • 什麼是Unity推送通知服務?
  • 4個步驟集成iOS和Android的推送通知


讓您先了解一下,什麼是外部依賴管理器 ( External Dependency Manager)。

什麼是Android的外部依賴管理器 ( External Dependency Manager)?

如果你有整合社群登入功能的臉書或谷歌SDK到Unity的Android遊戲的經驗,你一定會遇到外部依賴管理器 ( Eternal Dependency Manager),這個管理器的設計目的是幫助你輕鬆管理和更新Android程式庫的相依性問題。

但是通常問題都發生在外部依賴管理器 ( Eternal Dependency Manager)本身。


為什麼外部依賴管理器(External Dependency Manager)會引起代碼庫相衝突的問題?

通常谷歌或臉書登入SDK會和推送功能的SDK,代碼庫產生衝突。因爲他們的外部依賴管理器版本需要用一個固定的版本號,如果他們版本不統一的話,你將會遇到相依的程式庫不存在的問題。

另外,每次啟動Unity編輯器時,外部依賴管理器都會檢查您的代碼和第三方庫,然後嘗試下載和更新所有依賴的庫。 雖然這聽起來很棒,但它可能會導致您的依賴庫不穩定。 相依的代碼庫版本將不斷更新以滿足當時的某些條件,這可能會導致遊戲不定時崩潰,甚至可能發佈一些無效的功能,而不自覺。


如何避免Unity的Android代碼庫衝突問題

由於外部依賴管理器是這個問題的根源,解決方案是盡可能的避免使用它。

但是,如果您又必須使用它,您可以自己開發手機的原生插件直接與SDK集成,或是避免遊戲專案中同時使用兩個不同的SDK。 這兩個方式都非常具有挑戰性且需要相當的經驗,才能解決問題。

幸運的是,我發現Unity Push Notifiction 推送通知服務可以幫你輕鬆解決這個問題。整合推送通知SDK時,不再需要安裝外部依賴管理器來管理Android的Firebase Unity SDK。


什麼是(Unity Push Notifiction)推送通知服務?

Unity Push Notification推送通知是Unity在2022年發布的後端服務,讓您輕鬆集成iOS和Android的推送通知,無需安裝Firebase Unity SDK和外部依賴管理器。 您可以使用此服務發送帶有文本和圖像URL的豐富消息來吸引玩家。

注意:

  • 關於定價,您需要一個Unity開發者帳戶,例如Plus、Pro或Enterprise。



接下來讓我們開始集成推送通知。

4個步驟集成iOS和Android的推送通知:

  1. 安裝推送通知SDK

打開Unity編輯器 → 項目設置 → 項目設置 → 包管理器 → 包管理器 → 啟用預發布包

raw-image

2. 上傳您的服務密鑰

登入 Unity Dashboard → 點選 LiveOps

raw-image

在 Push Notifications → 點選 Settings

raw-image

選擇 環境 → 例如選sandbox

找到編輯器圖標並點擊它以設置iOS或Android

設定IOS:

raw-image
  • Key ID: <填寫您的密鑰>

登錄到您的Apple Developer控制台 → 點擊證書、標識符和配置文件頁面並選擇密鑰。 → 創建一個密鑰

Team ID: <填寫您的團隊ID>

團隊ID顯示在Apple Developer控制台的帳戶名稱下。

Topic ID: <您遊戲的包ID>

您在Apple Developer網站的iOS遊戲的包ID。

Sandbox: < True / False >

False: 這意味著將消息發送到上限版中的APNS

True: 這意味著在沙箱中發送消息到APNS

Note:

  • 請記住,只有在TestFlight構建的遊戲中,您只能設定Sandbox = False接收推送消息。
  • 對於在本地透過XCode編譯的遊戲,您可以設定Sandbox = True接收消息。

設置Android:

  • 您需要使用Gmail帳戶創建一個Firebase項目。
  • 在創建Firebase項目時,您首先需要設置身份驗證。然後您將能夠看到Web API密鑰。
  • 然後使用您的Gmail帳戶登錄Google Play商店以創建您的Android遊戲。
  • 返回Firebase項目,項目設置 → 整合 → 選擇Google Play → 您可以將Firebase項目鏈接到Google Play商店中的遊戲
  • 然後導航項目設置 → 通用 → 您將能夠找到以下信息。

Firebase Web API密鑰、項目號、Facebook應用ID和Firebase項目ID

  • 然後在Unity編輯器中項目設置 → 服務 → 推送通知,填寫如下
raw-image
  • 接著到您的Firebase控制台並選擇您的項目。
  • 轉到項目設置並在頂部選擇服務帳戶。
  • 選擇創建服務帳戶。
  • 選擇生成新的私鑰。

然後在這裡上傳它

raw-image

3. 註冊設備令牌

啟動遊戲時執行以下操作。

await AnalyticsService.Instance.CheckForRequiredConsents();
try{
string pushToken = await PushNotificationsService.Instance.RegisterForPushNotificationsAsync();
PushNotificationsService.Instance.OnNotificationReceived += notificationData => { Debug.Log("Received a notification!"); };
}
catch (Exception e)
{
Debug.Log("Failed to retrieve a push notification token.");
}

注意:

實際上,如果您想發送特定用途案例的推送消息,則可以將推送令牌保存到您的後端。

可以使用Firebase Admin SDK,通過Android的推送令牌或任何Http庫在服務器端為iOS發送推送消息。


4. 測試發送和接收消息

最後,點擊發送測試按鈕,使用從控制台日誌中的設備接收的設備令牌發送推送消息。

raw-image

例如,您可以在XCode的日誌中找到iOS的設備令牌,而Android則可以在Unity編輯器的Android logcat中看到。

總結

在本文中,您學到了如何

  • 用幾個簡單的設置推送通知服務就可避免代碼庫衝突,以確保遊戲的高穩定性。
  • 設置Firebase項目並將其鏈接到Google Play商店控制台中的遊戲。
  • 實做代碼以從手機裝置中獲取推送令牌。
  • 在Unity推送通知中測試推送通知。

如果您認為本文有益,請通過👏這篇文章來表示支持或訂閱我們以獲取未來的最新教程。

感謝您的閱讀!


原文發佈於 Game Tech Tutorial

分享技術文章解決問題及生活點滴。技術包括雲端技術(AWS, GCP, Azure)的實戰經驗、雲端證照考試指南、Unity遊戲開發、DevOps、SDK,手機遊戲和應用程式及網站開發。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
這個教程可以幫助您為Unity遊戲設置崩潰日誌服務,讓您在短短幾分鐘內獲取崩潰日誌。
在撰寫這篇文章之前,我曾認為Unity的遊戲比使用JavaScript編寫的網頁遊戲更安全。因為編譯出的遊戲apk檔案是以二進制形式儲存,相較於使用純文字JavaScript程式碼建立的遊戲,要逆向工程遊戲應該非常困難。 然而,在進行了一些實驗後,我發現我的理論是錯誤的,因此決定寫下這篇教學文章。
這個教程可以幫助您為Unity遊戲設置崩潰日誌服務,讓您在短短幾分鐘內獲取崩潰日誌。
在撰寫這篇文章之前,我曾認為Unity的遊戲比使用JavaScript編寫的網頁遊戲更安全。因為編譯出的遊戲apk檔案是以二進制形式儲存,相較於使用純文字JavaScript程式碼建立的遊戲,要逆向工程遊戲應該非常困難。 然而,在進行了一些實驗後,我發現我的理論是錯誤的,因此決定寫下這篇教學文章。
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文檔介紹了在Swift中使用套件的詳細方法,包括如何引用第三方套件和自定義模組,如何創建自定義套件,以及一些常見的Swift套件。這些套件可以幫助開發者快速添加功能到項目中,提高開發效率和程式碼品質。
Thumbnail
緒論 隨著手機遊戲的普及,越來越多的玩家開始尋找各種方式提升遊戲中的競爭力。其中,代儲服務作為一個快速、有效的方式,吸引了眾多玩家的關注。然而,很多玩家對代儲的工作原理仍然知之甚少。本文將揭開帝國手遊代儲網的神秘面紗,深入了解代儲的原理及其在遊戲世界中的重要性。 什麼是代儲? 代儲(Boost
Thumbnail
帝國手遊代儲網作為專業的代儲服務平台,一直致力於為使用者提供便利、高效的代儲解決方案。 在現今快節奏的生活中,許多人希望在交友軟件上快速提升等級和獲得更多資源。 本文將深入探討交友軟件代儲的優勢與便利,並介紹帝國手遊代儲網如何為使用者提供最佳服務體驗。 什麼是交友軟件代儲? 交友軟件代儲是指透過
遊戲代儲的重要性與需求 遊戲代儲作為一種專業的服務模式,在當今遊戲產業中扮演著重要的角色。 隨著遊戲的不斷發展和進步,越來越多的玩家希望在遊戲中快速達到目標,享受遊戲帶來的樂趣。 然而,有時候玩家本身的能力有限,難以完成某些任務或取得特定道具,這就需要遊戲代儲服務的幫助。 帝國手遊代儲網作為專業的
在現代數位遊戲的激烈競爭中,代儲服務正變得越來越普遍。 作為帝國手遊代儲網站的一部分,我們深入探索了代儲背後的科學技術,以解釋這一現象的原理和機制。 什麼是代儲? 代儲,簡單來說,就是玩家委託專業玩家或服務提供者來代為完成遊戲中的任務、挑戰或達成目標。 在帝國手遊代儲網,我們提供這樣的服務,確保
Thumbnail
在帝國手遊的冒險中,追求更高遊戲實力的玩家往往會尋求代儲服務的幫助。本文將為您提供一份簡明易懂的帝國手遊代儲網代儲原理指南,助您更深入理解代儲的工作原理。 代儲原理的基本概念 1. 智能化模擬操作 帝國手遊代儲網的代儲原理核心之一是智能化模擬操作。這意味著代儲系統能夠模擬玩家在遊戲中的各種操作
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文檔介紹了在Swift中使用套件的詳細方法,包括如何引用第三方套件和自定義模組,如何創建自定義套件,以及一些常見的Swift套件。這些套件可以幫助開發者快速添加功能到項目中,提高開發效率和程式碼品質。
Thumbnail
緒論 隨著手機遊戲的普及,越來越多的玩家開始尋找各種方式提升遊戲中的競爭力。其中,代儲服務作為一個快速、有效的方式,吸引了眾多玩家的關注。然而,很多玩家對代儲的工作原理仍然知之甚少。本文將揭開帝國手遊代儲網的神秘面紗,深入了解代儲的原理及其在遊戲世界中的重要性。 什麼是代儲? 代儲(Boost
Thumbnail
帝國手遊代儲網作為專業的代儲服務平台,一直致力於為使用者提供便利、高效的代儲解決方案。 在現今快節奏的生活中,許多人希望在交友軟件上快速提升等級和獲得更多資源。 本文將深入探討交友軟件代儲的優勢與便利,並介紹帝國手遊代儲網如何為使用者提供最佳服務體驗。 什麼是交友軟件代儲? 交友軟件代儲是指透過
遊戲代儲的重要性與需求 遊戲代儲作為一種專業的服務模式,在當今遊戲產業中扮演著重要的角色。 隨著遊戲的不斷發展和進步,越來越多的玩家希望在遊戲中快速達到目標,享受遊戲帶來的樂趣。 然而,有時候玩家本身的能力有限,難以完成某些任務或取得特定道具,這就需要遊戲代儲服務的幫助。 帝國手遊代儲網作為專業的
在現代數位遊戲的激烈競爭中,代儲服務正變得越來越普遍。 作為帝國手遊代儲網站的一部分,我們深入探索了代儲背後的科學技術,以解釋這一現象的原理和機制。 什麼是代儲? 代儲,簡單來說,就是玩家委託專業玩家或服務提供者來代為完成遊戲中的任務、挑戰或達成目標。 在帝國手遊代儲網,我們提供這樣的服務,確保
Thumbnail
在帝國手遊的冒險中,追求更高遊戲實力的玩家往往會尋求代儲服務的幫助。本文將為您提供一份簡明易懂的帝國手遊代儲網代儲原理指南,助您更深入理解代儲的工作原理。 代儲原理的基本概念 1. 智能化模擬操作 帝國手遊代儲網的代儲原理核心之一是智能化模擬操作。這意味著代儲系統能夠模擬玩家在遊戲中的各種操作