在我们的应用程序中,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
}
我们使用这些引用参数来表示用户单击了链接,因为没有其他信息可以表明其他情况。
是否有办法阻止侦听器运行或知道这是过时的信息?
答案 0 :(得分:1)
Branch SDK通常会从非Branch Link或以有机方式启动应用程序时返回您所看到的引用参数。 “ + clicked_branch_link”可用于确定用户是否单击了您的“分支”链接以打开应用程序。如果这是错误的,则可以假定分支链接不是打开应用程序的催化剂。
但是,即使在自然打开中,您也总是会得到这些引用参数。