【AGC】使用AGC的SDK创建AppLinking并在手机端打开

【简介】

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

【开通服务和集成SDK】

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

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

cke_5747.png

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

cke_9772.png

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

cke_13959.png

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

cd project-directory

pod init

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

target 'AGC-AppLinking-2' do

pod 'AGConnectAppLinking'

end

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

pod install

安装成功效果如下图

cke_33505.png

【界面设计】

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

cke_41975.png

 

【申请链接前缀】

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

cke_47508.png

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

cke_52293.png

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

cke_57143.png

【在端侧创建App Linking】

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

import AGConnectCore

import AGConnectAppLinking

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

AGCInstance.startUp()

return true

}

2、创建AGCAppLinkingComponents对象,通过urlPrefix属性设置链接前缀,即您在AppGallery Connect控制台申请的链接前缀。通过deepLink属性设置深度链接地址。本次CodeLab在iOS设备上打开App Linking,还需设置iOS应用参数信息,iosBundleId属性是应用的包名、iosDeepLink是在iOS设备上重定向链接地址。

let components = AGCAppLinkingComponents()

components.uriPrefix = "https://codelab.drcn.agconnect.link"

components.deepLink = "https://developer.huawei.com/consumer/cn"

components.iosBundleId = Bundle.main.bundleIdentifier

components.iosDeepLink = "AppLinking://ios/test2=456"

components.socialTitle = "AppLinking"

3、设置链接参数后,通过components.buildLongLink方法生成并获取长链接地址。

longLinkLabel.text = components.buildLongLink().absoluteString

4、设置链接参数后,通过components.buildShortLink方法生成并获取短链接地址。

components.buildShortLink { [self] (shortLink, error) in 
   if let e = error { 
      let alert = UIAlertController.init(title: "Error", message: e.localizedDescription, preferredStyle: .alert) 
      alert.addAction(UIAlertAction.init(title: "OK", style: .cancel, handler: nil)) 
      self.present(alert, animated: true, completion: nil) 
      return 
   } 
   shortAppLinking = shortLink?.url.absoluteString 
   shortLinkLabel.text = shortAppLinking 
}

5、在分享链接的方法里,将App Linking SDK生成的短链接地址传给系统粘贴板。

@objc func shareLink() { 
   UIPasteboard.general.string = shortAppLinking 
}

【在应用中接收App Linking】

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

cke_80923.png

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

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

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 
}

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 isAppLinking 
}

【打包测试】

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

cke_126821.png

2、点击“Create App Linking”,页面显示出App Linking SDK生成的长链接地址和短链接地址。

cke_130889.png

3、点击“Share short App Linking”,将短链接地址传给粘贴板。

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

cke_135228.png

恭喜您

祝贺您,您已经成功地构建了您的第一个集成App Linking的应用程序,并学到了:

如何使用App Linking SDK构建应用专属分享链接。

如何使用App Linking链接拉起App,并且通过SDK接收对应的深度链接地址。

参考文档

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-References/classes-overview-0000001055013624

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

{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/4478396/blog/5553321