Branch.io-当App从任务切换器返回到前台时调用AttributionListener onResult

时间:2018-12-05 19:31:37

标签: android deep-linking branch.io

在我们的应用程序中,AttributionListener的onResult方法被调用不是响应于用户单击链接,而是在另一个应用程序出现在前台之后,只要该应用程序出现在前台,就会被调用。

如果不单击链接,我们不想执行深层链接行为。

在我们的案例中,该应用先前是通过分支链接启动的,或者是使用分支链接来执行应用启动或其他应用内导航的。下次应用程序出现在前台时,此侦听器似乎认为是非分支链接所引起。

示例:

1)启动应用,清除所有数据

2)使用“分支”链接执行导航。侦听器被调用:

Branch referring params: {
      "$publicly_indexable": "true",
      "~creation_source": 2,
      "+click_timestamp": 154402....,
      "source": "android",
      "$identity_id": 59863755063006....,
      "~feature": "Share",
      "+match_guaranteed": true,
      "+clicked_branch_link": true,
      "$one_time_use": false,
      "~id": 5988882528627....,
      "$canonical_url": "androi",
      "+is_first_session": false,
      "~referring_link": "https://xxx.xxxx.com/dnNGtHR4oS"
    }

3)打开另一个应用

4)锁定设备

5)打开设备

6)从任务切换器中打开原始应用

7)分支侦听器表明已单击非分支链接:

Branch referring params: {
      "+non_branch_link": "https:xxx.xxxxx.com/path and params",
      "+clicked_branch_link": false,
      "+is_first_session": false
    }

我们使用这些引用参数来表示用户单击了链接,因为没有其他信息可以表明其他情况。

是否有办法阻止侦听器运行或知道这是过时的信息?

1 个答案:

答案 0 :(得分:1)

Branch SDK通常会从非Branch Link或以有机方式启动应用程序时返回您所看到的引用参数。 “ + clicked_branch_link”可用于确定用户是否单击了您的“分支”链接以打开应用程序。如果这是错误的,则可以假定分支链接不是打开应用程序的催化剂。

但是,即使在自然打开中,您也总是会得到这些引用参数。