分享到 :

手Q OpenSDK适配IOS16粘贴板

  1. 背景介绍
    1. 手Q OpenSDK使用粘贴板说明:

由于系统限制等历史原因,为了优化体验,集成了手Q OpenSDK的应用在与手Q通信过程中,数据传输会使用到独立粘贴板(与用户手动复制粘贴板隔离),在用户同意且与普通粘贴板隔离的情况下,授权登录和分享等功能会使用到独立粘贴板。

具体流程如下:

  1. iOS16使用粘贴板弹窗提示:

从iOS16系统开始,App读取其他App设置粘贴板数据,会弹出提示框,用户同意后才能继续读取,用户未同意则无法继续读取数据,且每次读取都会弹出提示框。

以下分别是在流程的第3、7步的提示框,如果用户点击【允许粘贴】则继续后续流程,如果点击【不允许粘贴】则流程会被中断。

  1. 改造情况
    1. 改造原则

粘贴板使用弹窗提示,会影响到正常流程,为了不影响用户的正常体验,手Q App和OpenSDK的数据传输方式都进行优化,尽量不使用粘贴板传递数据,主要有以下原则:

  1. 分享文件、图片、音频、视频相关接口,由于数据量比较大,保留使用粘贴板传递数据。
  2. 授权登录、分享文本、分享url相关接口,数据量较小,都确保支持使用scheme或者Universal Link传递数据。
  3. 版本要求

从手Q 8.4.17版本+OpenSDK 3.5.1版本开始,授权登录接口已经支持使用scheme或者Universal Link传递数据。

此次改造手Q 8.9.5版本+OpenSDK 3.5.12版本开始,分享相关接口也支持使用scheme或者Universal Link传递数据。

以上都需要应用在info.plist中配置LSApplicationQueriesSchemes,后续会讲解如何配置。

相关功能支持非粘贴板传值版本要求:

功能手Q版本要求OpenSDK版本要求LSApplicationQueriesSchemes
授权登录8.4.17+3.5.1+mqqopensdknopasteboard
分享相关功能8.9.5+3.5.12+mqqopensdknopasteboardios16
  1. 升级指引
    1. 配置LSApplicationQueriesSchemes:

如需支持scheme或者Universal Link传递数据,请先按照版本要求升级OpenSDK版本。

版本达到要求后,还需要配置LSApplicationQueriesSchemes,配置方法:

更新OpenSDK后,在XCode工程中,选择工程设置项 -> 找到对应 "TARGETS" -> 选择"info" -> 选择"Queried URL Schemes" -> 添加对应的配置。参考如下图:

  1. 补充说明

充分验证,升级完成后,建议测试考虑全面,除了把使用到OpenSDK功能全部测试外,还需要考虑版本交差测试,新版OpenSDK和旧版OpenSDK,对应新版手Q和旧版手Q。

遗留问题,由于部分接口(分享文件、图片、音频、视频相关接口)需要传递文件,且由于系统限制,只能使用粘贴板传递,我们也会尽量研究新的方案,避免使用粘贴板。

返回顶部