【问题标题】:Deep linking scheme cannot be processed correctly?无法正确处理深度链接方案?
【发布时间】:2018-01-20 14:19:53
【问题描述】:

我们使用深度链接按客户打开我们的应用程序。我们的方案是自定义的mozatfoo,我们的url是mozatfoo://video/335477/1502489665013698。 此网址可用于使用adb 命令正确打开我们的应用程序,例如:

adb shell am start -a android.intent.action.VIEW -d mozatfoo://video/335477/1502489665013698

但是当我们使用 Appsflyer 集成我们的深度链接功能时,我们发现 scheme 和 url 发生了变化:

intent://video/1449937/1502363982400417?media_source=Test#Intent;scheme=mozatloops;package=mozat.rings.loops;S.browser_fallback_url=market://details?id=mozat.rings.loops&referrer=af_tranid%253DFg_WOxRqK7cNq7j7YR1AUg%2526pid%253DTest%2526c%253Dshare_code%2526af_dp%253Dmozatfoo%253A%252F%252Fvideo%252F1449937%252F1502363982400417%252Fst01;S.market_referrer=af_tranid%3DFg_WOxRqK7cNq7j7YR1AUg%26pid%3DTest%26c%3Dshare_code%26af_dp%3Dmozatloops%3A%2F%2Fvideo%2F1449937%2F1502363982400417%2Fst01;end

这个 url 不能调用我们的应用程序。我的问题是:

  1. Android系统能识别intent://方案吗?
  2. 如果问题1的答案是肯定的,android如何处理带有intent://方案的url?

【问题讨论】:

    标签: android deep-linking


    【解决方案1】:
    1. Android系统能识别intent://方案吗?

    是的。

    1. 如果问题1的答案是肯定的,android如何处理带有intent://方案的url?

    它将其作为常规 uri 处理,并将该方案替换为包含在 intent:// uri 中的方案。
    这些 uri 通常被称为 Chrome Intent,因为它们是在此处首次介绍的。

    在此处查看文档:https://developer.chrome.com/multidevice/android/intents

    而对应的uri解析源码在这里:https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/content/Intent.java#5068

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-08
      • 2023-02-14
      • 2017-04-06
      • 2012-03-17
      • 1970-01-01
      • 2015-07-14
      • 2013-07-28
      • 1970-01-01
      相关资源
      最近更新 更多