我們應用需要使用跨平台的分享鏈接,剛好華為AppGallery Connect的AppLinking服務滿足我們的使用場景。
關於集成步驟,官網的資料寫的有點多,我總結一下步驟
i. 創建應用,開通AppLinking服務
ii. 創建一個鏈接前綴
iii. 在Android項目里集成AppLinking SDK
iv. 創建AppLinking
v. 接收AppLinking鏈接並且測試。
1、創建應用,開通AppLinking服務
在AGC控制台,創建應用, 或者使用已有的應用,在界面上找到 我的項目 -> 增長–>AppLinking,點擊立即開通 。
開通好以后,記得去 我的項目 -> 項目設置–> 常規 下面,下載agconnect-services.plist文件到你的XCode項目的項目路徑下。
開通好以后,記得去 我的項目 -> 項目設置–> 常規 下面,下載agconnect-services.plist文件到你的XCode項目的項目路徑下。
2、創建一個鏈接前綴
在剛剛開通的AppLinking下面,點擊鏈接前綴頁簽,點擊添加鏈接前綴,根據需要創建一個現網唯一的前綴。
系統會自動幫你檢測,保證你域名的全網唯一。
3、在iOS項目里面集成AppLinking SDK
1、打開命令行窗口,導航至Xcode項目所在的位置。
2、在命令行窗口執行pod init命令創建Podfile文件。
3、打開podfile文件,在podfile中添加AGC基礎SDK依賴的pod。
pod 'AGConnectCore'
pod 'AGConnectAppLinking'
4、在命令行窗口執行pod install安裝pod,
5、初始化AGC SDK : 在項目的AppDelegate.m文件中導入頭文件<AGConnectCore/AGConnectCore.h> ,
並且在在application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 的方法中添加如下代碼:
#import "AppDelegate.h"
#import <AGConnectCore/AGConnectCore.h>
@implementation AppDelegate
- (BOOL)Application:(UIApplication *)Application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions {
// Override point for customization after Application launch.
[AGCInstance startup]; //初始化
return YES;
}
4、創建AppLinking
有兩種方式創建AppLinking一種是直接在AGC界面上創建,另外一個是在Android項目里面用代碼的API接口創建:
4.1創建AppLinking:
1、界面入口如下:點擊創建AppLinking,然后根據步驟一步一步創建即可。
2、默認的深度鏈接配置,我就直接隨意找了一個華為官網的。注意Android的深度鏈接的配置。
3、安卓鏈接行為,配置為:在Android應用中打開。
創建好以后,就可以復制下來使用了
4.2端側代碼創建AppLinking
1、iOS的界面布局如下,添加三個button控件用於創建和拷貝AppLinking;四個label控件,用於展示創建的鏈接;
2、先聲明對應的參數:
3、創建鏈接:
我這里iOS的深度鏈接設置為:agckit://android/detail
Android的深度鏈接設置為:agckit://android/detail
4、拷貝對應的長鏈接和短連接
5、拷貝鏈接的方法如下
5、接收相關AppLinking
1、生成域名的資產校驗文件:需要現在AGC的項目設置界面,配置對應的團隊ID(此團隊ID為蘋果 開發者網站-Membership – Team ID)
2、配置完成后,AGC會為默認域名自動生成資產校驗文件,資產校驗文件生成后,您可前往“https://your_applinking_url_prefix/apple-app-site-association”查看。
3、配置自定義Schema:
4、接收鏈接的代碼設置:打開AppDelegate.m文件,在系統啟動方法中添加handleAppLinking方法來處理接收到鏈接事件。
5、 判斷接收到的鏈接是否是App Linking鏈接,並返回App是否可以處理此鏈接。
對於自定義Scheme鏈接
在application: openURL: options:方法中先調用AGCAppLinking的sharedInstance方法獲取單例對象,再調用此對象的openDeepLinkURL方法處理
6、打包測試,查看現象
1、驗證創建鏈接:
點擊CreatLink按鈕:可以正確生成長鏈接和短連接
2、驗證通過鏈接拉起應用
點擊CopyShortLink,將鏈接拷貝到瀏覽器:通過瀏覽器中輸入生成的AppLinking,可以拉起應用
7、總結
集成簡單,SDK依賴體積小,可以實現跨平台的分享,Android和iOS都可以支持,不需要在不同的平台做不同的適配了,節約工作量。
運營做推廣可以再AGC界面上創建,開發做分享功能可以在端側用代碼創建,簡直完美。
欲了解更多詳情,請參見:
華為AGC AppLinking服務開發文檔:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-applinking-introduction
原文鏈接:https://developer.huawei.com/consumer/cn/forum/topic/0201406757244400287?fid=0101271690375130218
原作者:Jessyyyyy