首页 > 其他分享 >【AGC】iOS的applink的回调没反应问题分析

【AGC】iOS的applink的回调没反应问题分析

时间:2022-10-31 20:14:49浏览次数:63  
标签:AGCAppLinking url AGC app iOS applink link applinking

问题背景

在 iOS平台集成AGCAppLinking是遇到了问题和疑惑。提问如下:

使用universallink 或者 url schema的app link都能拉起app,但是判断是否app link返回false,applink的回调没反应?

1 创建了相关的iOS 项目,并创建了应用,设置了相关信息包括bundle id, appid, team id等等

2 创建了app link, universal link的applink 扫码后拉起app 无法回调,

url schema的app link扫码后能拉起app,可以收到回调获取deeplink(但这种,如果我自己用草料生成一个二维码 比如bdwapp://betterwood.com/bdxx)扫码后拉起app 回调没反应。 这两种情况都没找到原因,求解?

紧接着:

schema的 applinking 已经通了,但是universal link的 app linking 不行,调let isAppLinking = AGCAppLinking.instance().openDeepLinkURL(url)一直返回false,

1 Appstore id, 团队id 等都已经配置,agconnect-services.plist也更新到了项目中

2 App linking中的网址允许清单也设置了,然后生成了一个 link,扫二维码能拉起app,就是

AGCAppLinking.instance().openDeepLinkURL(url) 一直返回false,下面回调没有触发

AGCAppLinking.instance().handle { link, error in
      if let l = link {
        let deepLink = l.deepLink
       //todo ...        
      }
    }

解决该问题

首先,关于其他平台的生成的二维码能拉起应用,却没有回掉的原因如下:

在AGC平台生成的AppLinking(或者SDK生成的ShortLink或者LongLink),才可以收到SDK的回调获取deeplink。

草料生成的二维码,不是AGC AppLinking,无法和 AGC AppLinking协作的。它是通过您项目里配置的url schema唤起应用,但不能通过AGC AppLinking获取deeplink。

其次,以Universal Link方式接收,需满足以下配置:

1、生成App Linking域名的资产校验文件。

在https://your_applinking_url_prefix/apple-app-site-association,是否能访问到资产校验文件

2、声明iOS应用关联的域名。

在应用的Xcode项目的Signing&Capabilities标签页中,添加Associated Domain功能,并在Domains中添加要支持的域名,格式为“applinks:your_applinking_url_prefix”

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-applinking-receivelinks-ios-0000001054025701

3、Universal Link方式,Appdelegate调用的是以下的方法

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
let isAppLinking = AGCAppLinking.instance().continueUserActivity(userActivity)
return isAppLinking
}

问题根因

AGCAppLinking是基于url schema或Universal Link两种方式来拉起App的,这两种方式都有各自的配置。所以集成时,如果忽略掉了一些细节,对顺利集成AGCAppLinking会造成影响的。

相关参考链接:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-applinking-receivelinks-ios-0000001054025701

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

标签:AGCAppLinking,url,AGC,app,iOS,applink,link,applinking
From: https://www.cnblogs.com/developer-huawei/p/16845576.html

相关文章

  • charles抓不到ios微信小程序的包的原因!!
    如果其他配置全部都弄好了,能抓到网页和的app的包但是微信小程序抓不到,主要原因:  第二个问题,可能是没有允许应用:更改配置->允许其他应用->找到charles的路径 ......
  • 苹果iOS App上架流程,非iOS开发人员上架教程
     iOS应用上线发布流程一般包含相关证书文件的配置、Xcode的设置、AppStoreConnect填写App的相关信息、ipa包上传、审核结果以及相关邮件回复。相关证书文件的配置与Xco......
  • iOS上架流程
    1准备2申请AppID2.1打开[苹果开发者官网](https://developer.apple.com),点击Account登陆账号。2.2进入ID申请3创建证书请求文件(*.cerSigningRequest文件......
  • Linux下磁盘管理工具:hdparm/iostat/parted/fdiisk/badblocks/smartctl/losetup/sg3_ut
    一、hdparm:    hdparm可以检测,显示与设定IDE,SCSI,SATA,SAS硬盘的硬件参数,    如:hdparm-I/dev/sdc可以获取sdc的硬件信息    hdparm-W0/de......
  • iOS上架流程
    1准备2申请AppID2.1打开[苹果开发者官网](https://developer.apple.com),点击Account登陆账号。2.2进入ID申请3创建证书请求文件(*.cerSigningRequest文件)4添加软件开......
  • vue-axios增加操作
    <template><divclass="Insert"><labelfor="name">名称:</label><inputv-model="name"type="text"/><labelfor="location">部门:</label><inputv-mode......
  • iOS数据持久化 - CoreData
    前言1-CoreData是苹果公司封装的进行数据持久化的框架,首次在iOS3.0版本系统中出现,它允许按照实体-属性-值模型组织数据,并以XML、二进制文件或者SQLite数据文件的......
  • Axios的相关应用
    Axios的案例应用要求利用axios实现之前利用AJAX实现的验证用户是否登录的案例鉴于这两种语法的相似性,只需要在AJAX里面的注册界面里面的script标签里面包含的代码修改为......
  • Vue 尚硅谷 axios
     安装npmiaxios跨域:1.cors2.jsonpscriptsrc解决get请求。post,delete,put无法请求3.代理vue-clivue.config.js vue-cli代理缺点:1.不能配置多个代理2.......
  • bios模拟器
    bios模拟器模拟器1基于英特尔®至强®处理器E5-2600v3产品家族的服务器BIOS模拟器此英特尔®BIOS模拟器模拟用户在按duringPOST时通常会看到的BIOS接口。......