本文您將可學到用幾個簡單的步驟,就可以快速整合推送功能到Unity的iOS和Android手機遊戲中。
嗨
我想您應該聽過手機的推送通知功能,推送通知是可定時傳送遊戲活動比賽或即時好康訊息給玩家,進而可以增強Unity遊戲的用戶體驗和增加遊戲的黏著度,但是整合到遊戲裡,通常不是一件簡單的工作,你將會需要足夠的經驗才能解決手機代碼庫相衝性的問題。
本文將提供了一個全面的指南,教你如何輕鬆集成推送通知的功能在Unity的手機遊戲中,重點是可避免代碼庫相依性的衝突問題,讓您的工作產能爆增。
目錄:
讓您先了解一下,什麼是外部依賴管理器 ( External Dependency Manager)。
如果你有整合社群登入功能的臉書或谷歌SDK到Unity的Android遊戲的經驗,你一定會遇到外部依賴管理器 ( Eternal Dependency Manager),這個管理器的設計目的是幫助你輕鬆管理和更新Android程式庫的相依性問題。
但是通常問題都發生在外部依賴管理器 ( Eternal Dependency Manager)本身。
通常谷歌或臉書登入SDK會和推送功能的SDK,代碼庫產生衝突。因爲他們的外部依賴管理器版本需要用一個固定的版本號,如果他們版本不統一的話,你將會遇到相依的程式庫不存在的問題。
另外,每次啟動Unity編輯器時,外部依賴管理器都會檢查您的代碼和第三方庫,然後嘗試下載和更新所有依賴的庫。 雖然這聽起來很棒,但它可能會導致您的依賴庫不穩定。 相依的代碼庫版本將不斷更新以滿足當時的某些條件,這可能會導致遊戲不定時崩潰,甚至可能發佈一些無效的功能,而不自覺。
由於外部依賴管理器是這個問題的根源,解決方案是盡可能的避免使用它。
但是,如果您又必須使用它,您可以自己開發手機的原生插件直接與SDK集成,或是避免遊戲專案中同時使用兩個不同的SDK。 這兩個方式都非常具有挑戰性且需要相當的經驗,才能解決問題。
幸運的是,我發現Unity Push Notifiction 推送通知服務可以幫你輕鬆解決這個問題。整合推送通知SDK時,不再需要安裝外部依賴管理器來管理Android的Firebase Unity SDK。
Unity Push Notification推送通知是Unity在2022年發布的後端服務,讓您輕鬆集成iOS和Android的推送通知,無需安裝Firebase Unity SDK和外部依賴管理器。 您可以使用此服務發送帶有文本和圖像URL的豐富消息來吸引玩家。
注意:
接下來讓我們開始集成推送通知。
打開Unity編輯器 → 項目設置 → 項目設置 → 包管理器 → 包管理器 → 啟用預發布包
2. 上傳您的服務密鑰
登入 Unity Dashboard → 點選 LiveOps
在 Push Notifications → 點選 Settings
選擇 環境 → 例如選sandbox
找到編輯器圖標並點擊它以設置iOS或Android
設定IOS:
登錄到您的Apple Developer控制台 → 點擊證書、標識符和配置文件頁面並選擇密鑰。 → 創建一個密鑰
Team ID: <填寫您的團隊ID>
團隊ID顯示在Apple Developer控制台的帳戶名稱下。
Topic ID: <您遊戲的包ID>
您在Apple Developer網站的iOS遊戲的包ID。
Sandbox: < True / False >
False: 這意味著將消息發送到上限版中的APNS
True: 這意味著在沙箱中發送消息到APNS
Note:
設置Android:
Firebase Web API密鑰、項目號、Facebook應用ID和Firebase項目ID
然後在這裡上傳它
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. 測試發送和接收消息
最後,點擊發送測試按鈕,使用從控制台日誌中的設備接收的設備令牌發送推送消息。
例如,您可以在XCode的日誌中找到iOS的設備令牌,而Android則可以在Unity編輯器的Android logcat中看到。
在本文中,您學到了如何
如果您認為本文有益,請通過👏這篇文章來表示支持或訂閱我們以獲取未來的最新教程。
感謝您的閱讀!
原文發佈於 Game Tech Tutorial