适用于iOS的URI scheme备用方案

概要:本文说明了iOS用户点击OneLink自定义链接后,Universal Link未能调起应用时的用户链路。

适用于iOS的URI备用方案简介

  • Universal Link是在iOS设备上调起应用的最佳方案。自2016年iOS系统升级后,作为Universal Link备用方案的URI scheme开始受到诸多限制。这些限制是操作系统内置的,与AppsFlyer无关。如果您在其他链接中使用URI scheme调起应用,这些链接也会受到影响。
  • 默认情况下,URI scheme(通过af_dp参数的值来表达)仅用作调起应用的备用方案,适用于iOS中的少数特定浏览器/平台。
  • 对于Safari,您可以尝试在OneLink链接中配置下列参数,使用URI scheme作为iOS中调起应用的备用方案:
    • af_dp(参数值为URI scheme)。
    • af_force_deeplink=true(通过af_dp参数中的URI scheme强制调起应用)。该参数缺失时,系统不会通过URI scheme调起相关应用。
  • 由于URI scheme的稳定性不强,因此其他浏览器默认不支持这种应用调起方式。这时,用户点击相关链接后很可能会跳转到App Store(如果您在链接中设置了af_ios_url参数,则跳转到该参数指定的网址)。
  • 详情请见下文的用户链路图和使用场景说明。

用户链路图

Copy_of_Ios_fall_back_-_scenarios_flowchart__2_.png

使用场景

默认支持URI scheme的浏览器

某些情况下,Universal Link会因为相关应用不存在或链接中未配置Universal Link而无法调起应用。这时,下列浏览器/平台可默认使用URI scheme作为备用方案调起应用:

  • Chrome
  • X(前身为Twitter)
    请注意:如果用户未安装相关应用,界面会弹出报错消息。用户关闭该消息后,会跳转到App Store(或af_ios_url参数中的网址)。
  • Kakaotalk
  • Naver
  • Naver-Blog
  • 微博

链路图

Copy_of_Ios_fall_back_-_browsers_that_can_use_URI_schemes_by_default__2_.png

Safari浏览器

如果Universal Link未能调起应用,而相关链接中配置了af_dp参数(参数值为URI scheme),这时的用户链路如下文所述。

用户未安装相关应用:

  1. Safari界面会弹出报错消息。

  2. 用户点击OK关闭该对话框后,会短暂地看到在背景中加载的落地页,并会在1秒内自动跳转到App Store或af_ios_ur参数中指定的网址。

若用户已安装相关应用

  • 如果链接中没有af_force_deeplink=true,则用户会跳转到App Store,或af_ios_url参数中指定的网址。
  • 如果链接中包含af_force_deeplink=true
    1. Safari界面会弹出下图对话框。

    2. 如果用户点击Open(打开),就会打开相关应用。
    3. 如果用户点击Cancel(取消):
      • 如果链接中设置了af_ios_url参数,则用户会跳转到相应的网址。
      • 如果链接中未设置af_ios_url参数,则Safari界面会弹出报错消息, 同时会在背景中加载落地页。

    4. 用户点击OK后会看到带有CTA按钮的落地页。
    5. 用户点击CTA按钮后,界面会显示下图对话框。

    6. 如果用户点击Open(打开),就会打开相关应用。 
    7. 如果用户点击Cancel(取消),界面会显示下图对话框。

    8. 如果用户点击OK,就会跳转到App Store。 
    9. 如果用户点击Cancel(取消),就会留在落地页中。 

链路图

Copy_of_Ios_fall_back_-_safari.png

Facebook帖子自有媒体

如果Universal Link未能调起应用,而相关链接中配置了af_dp参数(参数值为URI scheme),这时的用户链路如下文所述。

若用户已安装相关应用

  • 用户点击链接后,相关应用随即打开。

若用户未安装相关应用

  1. 若您未配置社交媒体应用的落地页,或用户点击了社媒应用落地页(SALP)中的CTA按钮,界面会显示下图对话框,并在背景中加载落地页。

  2. 用户点击“Open App”(打开应用)后,会根据链接配置触发以下任一链路:
    • 如果链接中设置了af_ios_url参数,则用户会跳转到该参数指定的网址。
    • 如果链接中既未设置af_ios_url参数,也不包含af_force_deeplink=true,则用户会跳转到App Store。
    • 如果链接中未设置af_ios_url参数,但包含af_force_deeplink=true,则界面会再次弹出下图对话框,并在背景中加载落地页。

  3. 如果用户点击Open(打开),就会跳转到App Store。
  4. 如果用户点击Close(关闭),则界面会显示背景中的落地页。

  5. 用户点击App Store徽章后跳转到App Store。

链路图

diagram-X.png