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

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

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

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

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


第二種 直接在 Unity 中集成

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

舉例

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

JPush

JPush 是極光官方的推送 SDK,集成后可以通過調(diào)用 API 推送消息,并且官方提供了對應(yīng) Unity 平臺使用的插件 jpush-unity3d-plugin。首先參照插件集成方式集成基礎(chǔ)版本的JPush,這里以 JPush v3.1.6 為例,對應(yīng)插件版本 v3.2.7 ,集成成功后能夠成功接受后臺推送,并且 Unity 對應(yīng)結(jié)構(gòu):

廠商通道

極光推送 VIP 服務(wù)提供了切換包括小米,華為,魅族等各個平臺廠商通道服務(wù),切換系統(tǒng)級別的推送通道,提高推送送達率,詳情聯(lián)系商務(wù)。

注意,廠商通道集成成功的前提是基礎(chǔ)版已經(jīng)能成功收到推送。

華為通道為例

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


現(xiàn)在我們要集成廠商通道怎么做:

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

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

  1. 增加華為HMS SDK的推送包及資源文件
    • 將third-push/huawei/res里面的資源復制到工程/res中對應(yīng)的目錄
    • 將third-push/huawei/libs中的包添加到工程/libs目錄下。
      --------------- 對應(yīng)到 Unity 就是 ----------------
    • 將 third-push/huawei/res 里面的資源復制到工程 plugins/android/res 中對應(yīng)的目錄,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
    • 這四步對應(yīng)文檔修改 plugin/android/AndroidManifest.xml 即可。
  7. 在build.gradle中配置在華為后臺添加的指紋證書對應(yīng)的簽名
    • 這步要保證你的應(yīng)用簽名和在華為聯(lián)盟后臺注冊的指紋簽名證書一致,請仔細檢查。

走完這七步集成就結(jié)束了,對應(yīng)的 Unity 結(jié)構(gòu):


然后調(diào)用推送初始化和打開 debug 模式。運行應(yīng)用并查看初始化 log,系統(tǒng)要求 EMUI4.1 或往上,集成成功會在 log 中打印華為 token 信息。

擴展

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

推薦閱讀:
Android 檢測權(quán)限的三種寫法
空行會影響 Java 編譯?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容