分享到 :

Universal Links适配FAQ

1. 系统及版本要求

Universal Links方案是基于苹果在iOS13系统上针对隐私政策的调整,相关的验证环境请首先确认:

  • 1. SDK版本: OpenSdk3.3.7或以上
  • 2. 手Q版本: 8.1.3或以上
  • 3. 系统版本: iOS13或以上

2. 确认手机QQ的Universal Links正常

确认手机QQ(8.1.3或以上)版本在苹果设备上Universal Links正常,这是为了保证OpenSdk和手机QQ之间的通信正常。

在系统的Safari浏览器中输入 https://qm.qq.com,下拉查看是否有打开QQ的入口,如图一所示:

图一

若无该打开入口,可能是系统拉取手机QQ的Universal Links失败,请检查当前手机的网络状态是否正常,或者更新/重装手机QQ。

3. 确认APP自身的Universal Links正常

按照接入指引中apple-app-site-association配置文件的编写格式,部署ok。同样按照第2点的方式,确认APP自身的Universal Links是否可以正常打开。

4. 分享交互行为确认

【场景一】

未使用授权登录的情况下,“首次”进行分享,唤起手机QQ-->分享成功后弹窗提醒只有一个选项(即返回APP),并无“留在QQ”的选项。

图二

后续分享成功后,选项卡可选择留在QQ。

图三

【场景二】

场景一中若在无“留在QQ”的状态下,没有点击返回第三方APP,下次再进行分享时,会出现如图四的“安全校验页”。

图四

此时交互为:从APP唤起手Q-->出现安全校验页-->校验成功后返回第三方APP-->再次拉起手Q完成分享。

这种多次跳转的过程,每个用户只会出现一次,若多次出现该类跳转,请按上述检查下Universal Links的有效性。

5. 第三方APP客户端代码确认

5.1 请务必确保第三方APP的客户端已经处理了系统的如下回调函数,具体详情可参见sdkDemo,如下图所示。

- (BOOL)application:(UIApplication *)application continueUserActivity:
(NSUserActivity *)userActivity restorationHandler:(void(^)
(NSArray<id<UIUserActivityRestoring>> * __nullable
restorableObjects))restorationHandler NS_AVAILABLE_IOS(8_0);
图五

5.2 当出现了图4的安全校验页,并紧接着正常打开了第三APP;若此时“停留在第三方APP中,并未出现二次跳装的过程”,则检查如下接口的初始化代码,即 delegate不可为nil

/**
* 初始化TencentOAuth对象
* \param appId 不可为nil,第三方应用在互联开放平台申请的唯一标识
* \param delegate 不可为nil,第三方应用用于接收请求返回结果的委托对象
* \return 初始化后的授权登录对象
*/
- (id)initWithAppId:(NSString *)appId
andDelegate:(id<TencentSessionDelegate>)delegate;

返回顶部