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

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

时间:2022-10-29 15:49:38浏览次数:72  
标签: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/16838839.html

相关文章

  • 解决AxiosError: options must be an object ERR_BAD_OPTION_VALUE
    VUE中HTTP请求,AxiosError:optionsmustbeanobjectERR_BAD_OPTION_VALUE错误解决。 此错误完整为:{message:'optionsmustbeanobject',name:'AxiosError',......
  • Fiddler抓包iOS手机配置全流程
    前情平时做移动移动端开必的时候经常需要抓包手机,用于接口请求跟踪,但iOS的抓包经常性的配不成功,经过踩过不少坑后终于知道了整个配置流程,此文记录Fiddler抓包iOS手机的配......
  • JavaScript--JSONP和Axios
    JSONP概述:JSONP(JSONwithpadding)是一种跨域解决方案,它主要是利用了script标签不受跨域影响的特性来完成对应的请求操作。实际上是一个get请求。JSONP格式包含两个部分:......
  • 【AGC023F】01 on Tree(树上一类全序问题)
    显然如果没有树的限制,我们优先选\(0\),然后选\(1\)。如果有了树的限制,我们考虑下面这么一种贪心方法:假设当前能够选的点的集合为\(S\)(初始时\(S\)只包含根),然后选出\(......
  • 【AGC013D】Piling Up(神奇的dp)
    考场上用了一种奇怪的做法,不知道为什么就对了,考完后仔细想才想明白。很巧妙的一种dp方式。首先发现每次操作是拿一个球、放两个球、再拿一个球,总球数不变,所以有\(\tex......
  • 【AGC010E】Rearranging(博弈,图论,拓扑排序)
    考场上想了很久才想到做法,然后考完后又想了很久,加上看了一下一些大佬的博客和Atcoder的官方题解,才完整地证明了整个做法的正确性。综合了一下,在这里详细阐述:首先发现如......
  • 【AGC005D】_K Perm Counting(容斥,二分图,计数dp)
    首先正面做不太好做,考虑容斥。设\(f(m)\)表示排列中至少有\(m\)处\(|P_i-i|=k\)的方案数。那么答案就是\(\sum\limits_{i=0}^n(-1)^if(i)\)。原题可以看成一个二......
  • 【AGC003F】Fraction of Fractal(dp,矩阵快速幂)
    先说一下下文会用到的定义或称呼的意思:称单位分形为题目给出的\(1\)级分形。称一种分形左右联通,则说明将两个这种分形左右放在一起时,至少有一个连通块是跨越这两个......
  • iOS开发应用上传AppStore的步骤
    原文:http://blog.csdn.net/ayangcool/article/details/46647693前言:作为一名IOS开发者,把开发出来的App上传到AppStore是必须的。下面就来详细介绍下具体流程。1.打开苹果开......
  • [苹果APP上架]ios App Store上架详细教程-一条龙顺滑上架-适合小白 如何在 2022 年将
    您正在启动您的第一个应用程序,或者距离上次已经有一段时间了。作者纸飞机@cheng716051来给你讲讲将应用程序提交到AppStore并不像按下启动按钮那么简单,但也没有看起来那......