快速集成華爲AGC-AppLinking服務-unity平臺 html
咱們應用須要使用跨平臺的分享連接,恰好華爲AppGallery Connect的AppLinking服務知足咱們的使用場景。java
關於集成步驟,官網的資料寫的有點多,我總結一下步驟:json
建立應用,開通AppLinking服務而且建立連接簽註。瀏覽器
在Unity項目裏集成AppLinking SDK。app
在Unity裏導入HuaweiService的package。maven
建立AppLinking。ide
一、在AGC控制檯,建立應用, 或者使用已有的應用),在界面上找到 個人項目 -> 增加–>AppLinking,點擊當即開通 。測試
二、在剛剛開通的AppLinking下面,點擊連接前綴頁籤,點擊添加連接前綴,根據須要建立一個現網惟一的前綴。
系統會自動幫你檢測,保證你域名的全網惟一。gradle
首先須要在unity項目裏開通配置好安卓環境:
一、 在Edit-Project Setting-Player-Publish Setting中啓用Android的自定義清單和gradleui
注意:進行此步操做前須要先在Unity Hub中安裝Android編譯依賴。以下圖:
二、在AGC個人項目 -> 項目設置–> 常規 下面,下載agconnect-services.json文件到你的unity項目的Assets / Plugins / Android路徑下。
三、在Other Setting中配置包名:注意須要和AGC官網的包名保持一致:
四、配置項目級gradle,此處對應Assets\Plugins\Android路徑下的baseProjectTmeplate.gradle文件,添加以下內容
allprojects { buildscript { repositories { maven { url 'https://developer.huawei.com/repo/' } } } repositories { maven { url 'https://developer.huawei.com/repo/' } } }
五、配置應用級gradle,此處對應Assets\Plugins\Android路徑下的LauncherTmeplate.gradle文件,添加以下內容:
dependencies { implementation 'com.huawei.agconnect:agconnect-applinking:1.4.1.300' }
一、先將對應的package導入到工程裏:能夠直接在unity的window-asset-store中,直接搜索huawei,下載獲取。或者能夠直接使用此連接下載:
二、下載完成後,在Unity中點擊assets – Import package,而後,而後選擇須要的包,點擊Import便可
有兩種方式建立AppLinking一種是直接在AGC界面上建立,另一個是在unity項目裏面用代碼的API接口建立:下面就只介紹在Unity 項目中建立了。
點擊GameObject- UI –Button建立兩個按鈕:按鈕Text分別爲create和share,點擊按鈕,而後在右側選擇 Add Component, 建立而且添加一個Script文件。
在testapp的Script文件中,而且添加以下方法:
using System.Collections; using System.Collections.Generic; using UnityEngine; using HuaweiService.AppLinking; using HuaweiService; public class testApp : MonoBehaviour { private const string URI_PREFIX = "https://testcocos1203.drcn.agconnect.link"; private const string DEEP_LINK = "https://developer.huawei.com/consumer/cn/service/josp/agc/index.html"; void Start() { } void Update() { } public void createLongLink() { AGConnectAppLinking.getInstance(); AppLinking.Builder builder = createBuilder(); Uri applinkingUri = builder.buildAppLinking().getUri(); var link = applinkingUri.toString(); Debug.Log ("AppLinking create" + link); GUIUtility.systemCopyBuffer = link; } public AppLinking.Builder createBuilder(){ return AppLinking.newBuilder() .setUriPrefix(URI_PREFIX) .setDeepLink(Uri.parse(DEEP_LINK)) .setAndroidLinkInfo( AppLinking.AndroidLinkInfo.newBuilder() .build()); } public void OpenLink() { var activity = new Activity(); var intent = new Intent(); intent.setData(Uri.parse(GUIUtility.systemCopyBuffer)); activity.startActivity(intent); } }
回到Unity界面,點擊按鈕,而後在按鈕右側找到click,添加對應的控件:
一樣的方法,爲share按鈕也添加按鈕方法。
注意:能夠將create按鈕建立的.cs文件拖動到share按鈕右側面板的「add component」區域進行復用,添加click事件。
兩個步驟,一個是配置過濾器,一個是配置getAppLinking方法。
一、 配置manifest文件:注意這裏是將DeepLink的域名的Scheme配置進去:
例如個人DeepLink是 DEEP_LINK = 'https://developer.huawei.com/cn/';
那麼manifest文件就須要這樣配置
一、應用運行之後,點擊Create按鈕,建立一個AppLinking連接, 而後點擊share按鈕,將按鈕分享到瀏覽器。
二、 此時瀏覽器能夠直接拉起應用,表示連接使用正常。
集成簡單,SDK依賴體積小,能夠實現跨平臺的分享,Android和iOS均可以支持,不須要在不一樣的平臺作不一樣的適配了,節約工做量。
運營作推廣能夠再AGC界面上建立,開發作分享功能能夠在端側用代碼建立,簡直完美。
參考文檔:
華爲AGC AppLinking服務開發文檔:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-applinking-introduction
Unity的AppLinking服務開發文檔: https://docs.unity.cn/cn/Packages-cn/com.unity.hms@1.3/manual/applinking.html#integrating-huawei-analytics-kit
Unity Editor安裝和Apk打包:https://developer.huawei.com/consumer/cn/forum/topic/0204405811539110247?fid=18
原文連接:https://developer.huawei.com/consumer/cn/forum/topic/0201428957991340017?fid=0101271690375130218
原做者:Mayism