0
点赞
收藏
分享

微信扫一扫

如何实现在AGC控制台创建App Linking并在iOS端打开

代码敲到深夜 2022-07-13 阅读 52

简介

App Linking是一种支持Android、iOS、HarmonyOS、Web等多种平台的跳转链接,链接的目标内容可以是您想要推广的产品优惠活动,也可以是用户之间可以互相分享的应用原生内容。您可以在创建App Linking后将链接地址直接发送给用户,或者由用户在应用中动态生成App Linking并分享给其他用户,接收到App Linking的用户点击链接后即可跳转到指定页面。

开通服务和集成SDK

1、在​​AppGallery Connect​​,点击“我的项目”,在项目的应用列表中选择需要开通App Linking的应用。

2、在导航选择“增长 > App Linking”。如果是首次使用App Linking服务,请点击“立即使用”开通服务。

如何实现在AGC控制台创建App Linking并在iOS端打开_App Linking

3、填写您所使用证书对应的App Store ID和团队ID,完成后点击后面的“☑”。

如何实现在AGC控制台创建App Linking并在iOS端打开_App Linking_02

4、选择常规页签下的“应用”区域,下载agconnect-services.plist配置文件。

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_03

5、打开命令行窗口,导航至Xcode项目所在的位置,创建Podfile文件。如果已经存在,可跳过本步骤。

cd project-directory

pod init

6、编辑Podfile文件,增加pod依赖pod 'AGConnectAppLinking'。

target 'AGC-AppLinking-1' do 
pod 'AGConnectAppLinking'

如何实现在AGC控制台创建App Linking并在iOS端打开_App Linking_04

7、执行 pod install,然后打开xcworkspace文件查看该项目。

安装成功效果如下图。

如何实现在AGC控制台创建App Linking并在iOS端打开_App Linking_05

界面设计

您可以在您的iOS工程中创建一个布局页面,参照下图进行UI设计,能够接收App Linking并且展示接收结果即可。

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_06

申请链接前缀

1、在导航选择"增长 > App Linking",选择"链接前缀"页签,点击"添加链接前缀"。

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_07

2、在“设置域名”中输入您所使用的网址前缀。

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_08

3、完成输入后点击“下一步”,系统将自动验证该链接前缀是否可用。

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_09

在AGC控制台创建App Linking

1、在创建App Linking之前,需将您要用到的深度链接,添加进网址允许清单。在App Linking页面,选择“网址允许清单”页签,点击“添加允许清单规则”。

如何实现在AGC控制台创建App Linking并在iOS端打开_App Linking_10

2、您可以依次加入您所用到的重定向链接规则,完成后如下图所示。

如何实现在AGC控制台创建App Linking并在iOS端打开_App Linking_11

3、App Linking页面下,选择“App Linking”页签,点击“创建App Linking”。

如何实现在AGC控制台创建App Linking并在iOS端打开_App Linking_12

4、在“设置短链接”步骤,直接使用系统推荐的参数即可,点击“下一步”。

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_13

5、在“设置深度链接”步骤,设置深度链接相关参数,其中:

−链接名称:按需配置即可,一般配置为该链接的使用场景,此处配置为:AppLinking-easy

−深度链接地址(默认):一般配置为PC打开场景下可访问的H5地址。此处配置为:https://developer.huawei.com/consumer/cn。

−iOS深度链接地址:iOS设备点击该链接,重定向获取到的地址。此处配置为:AppLinking://iOS/testid=123。其他参数暂时不填,直接点击“下一步”。

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_14

6、在“设置链接行为”步骤中,“设置iOS链接行为”选择“在iOS应用中打开”和您的软件包 ID。“未安装应用时,则重定向到”选择“App Store详情页”。

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_15

7、其他可选参数您不填,点击右上角的“发布”,发布该App Linking链接。

在应用中接收App Linking

1、通过自定义Scheme的方式打开App Linking,需要您在Xcode上打开“TAGRGETS > Info > URL Types”,添加URL Schemes配置。您中,URL Shchemes设置为AppLinking。

如何实现在AGC控制台创建App Linking并在iOS端打开_App Linking_16

2、在应用的AppDelegate类中引入AGConnectCore和AGConnectAppLinking库,并在didFinishLaunchingWithOptions方法里调用AGCInstance.startUp进行初始化。

import AGConnectCore 
import AGConnectAppLinking

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
AGCInstance.startUp()
}

如何实现在AGC控制台创建App Linking并在iOS端打开_App Linking_17

3、调用AGCAppLinking.instance().handle方法,在回调中处理接收到的App Linking链接事件。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 
let vc = ViewController()
let nav = UINavigationController(rootViewController: vc)
self.window?.rootViewController = nav

AGCInstance.startUp()
AGCAppLinking.instance().handle { (link, error) in
let deepLink = link?.deepLink
vc.getDeepLink(deeplink: deepLink)
}
self.window?.makeKeyAndVisible()
return true

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_18

4、实现application: openURL: options:方法,并返回AGCAppLinking.instance().openDeepLinkURL(url)的值。

AGCAppLinking.instance().openDeepLinkURL(url)的值。
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
let isAppLinking = AGCAppLinking.instance().openDeepLinkURL(url)
return

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_19

打包测试

1、在Xcode上点击运行按钮,在手机或模拟器上运行,以安装应用。

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_20

2、在AppGallery Connect平台上,通过复制或扫码的方式,获得App Linking的链接URL。

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_21

3、在浏览器访问该链接,弹出是否打开应用的提示,点击“Open”。

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_22

4、从浏览器跳转到您的应用后,应用获取到深度链接地址,即您在AGC云侧设置的iOS深度链接地址。

如何实现在AGC控制台创建App Linking并在iOS端打开_iOS_23

参考文档

​​App Linking官方文档​​


欲了解更多更全技术文章,欢迎访问​​https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh​​


举报

相关推荐

0 条评论