我们应用需要使用跨平台的分享链接,刚好华为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