Unity 下集成第三方原生 SDK,以極光廠商通道爲例 原

Unity中集成三方SDK有兩種方式:

Unity 項目開發中時常有集成 Android 第三方 SDK 的需求,比如接入第三方推送,分享等功能。而第三方 SDK 的集成文檔提到的往往是基於原生 Android 項目集成。

第一種 導出 gradle 項目進行集成

導出 gradle 項目的方式可以直接將項目導入 AndroidStudio 中進行集成,而此時可以直接按照第三方集成文檔完成集成。

第二種 直接在 Unity 中集成

有些公司是基於 Unity 項目結構進行自動打包的,這樣導出 gradle 項目的集成方式就不適用於自動打包流程,只能直接在 Unity 項目中直接集成 SDK 才能滿足需求。這時候基於原生 Android 項目的 SDK 的集成步驟對應 Unity 中就要稍作修改。

舉例

本文以集成極光推送廠商通道爲例介紹如何在 Unity 集成 第三方SDK。

JPush

JPush 是極光官方的推送 SDK,集成後可以通過調用 API 推送消息,並且官方提供了對應 Unity 平臺使用的插件 jpush-unity3d-plugin。首先參照插件集成方式集成基礎版本的JPush,這裏以 JPush v3.1.6 爲例,對應插件版本 v3.2.7 ,集成成功後能夠成功接受後臺推送,並且 Unity 對應結構:

廠商通道

極光推送 VIP 服務提供了切換包括小米,華爲,魅族等各個平臺廠商通道服務,切換系統級別的推送通道,提高推送送達率,詳情聯繫商務。

注意,廠商通道集成成功的前提是基礎版已經能成功收到推送。

華爲通道爲例

獲取到對應 v3.1.6 的廠商通道文檔,打開華爲集成指南可以看到大致步驟:

現在我們要集成廠商通道怎麼做:

  • 第一種:導出 gradle 項目的集成方式,直接對應上面步驟配置即可。
  • 第二種:直接在 Unity 中集成。

第一種方式就不說了,下面對應步驟介紹第二種集成方式:

1.增加華爲HMS SDK的推送包及資源文件

  • 將third-push/huawei/res裏面的資源複製到工程/res中對應的目錄
  • 將third-push/huawei/libs中的包添加到工程/libs目錄下。 --------------- 對應到 Unity 就是 ----------------
  • 將 third-push/huawei/res 裏面的資源複製到工程 plugins/android/res 中對應的目錄,res 不存在就新建一個。
  • 將third-push/huawei/libs中的包添加到工程plugins/android目錄下,與 jpush.aar 同級。

2.增加support v4包

  • JPush 3.0.9 版本後不需要添加,略過 3.修改 minSdkVersion 的值

4.配置HMS SDK Push必須的組件

5.配置接收 HMS 消息的廣播接收器

6.替換 HMS 的 appid

  • 這四步對應文檔修改 plugin/android/AndroidManifest.xml 即可。 7.在build.gradle中配置在華爲後臺添加的指紋證書對應的簽名
  • 這步要保證你的應用簽名和在華爲聯盟後臺註冊的指紋簽名證書一致,請仔細檢查。

走完這七步集成就結束了,對應的 Unity 結構:

然後調用推送初始化和打開 debug 模式。運行應用並查看初始化 log,系統要求 EMUI4.1 或往上,集成成功會在 log 中打印華爲 token 信息。

擴展

除了上述集成方式,也可以在 AS 中新建 module 集成上述 jar 包,並打包成 aar 給 Unity 使用。極光的推送插件就是這樣做的,所以可以直接下載極光插件源碼,集成完直接統一打包成 aar 使用。 需要注意的是,已經是 aar 的文件無法打包,比如上述的華爲通道中的 HMSSdk-agent.aar 無法打包進插件,還是得單獨放在 plugin/android 下編譯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章