【发布时间】:2021-12-01 21:55:39
【问题描述】:
我正在尝试让延迟的深层链接在 Android 上运行。我在仪表板中添加了一个测试设备并重置设备数据并确保该应用程序已卸载。当我单击一个 branch.io 链接时,它会按预期将我带到 Play 商店。然后我从 Android Studio 将应用程序启动到手机上,然后日志显示 Branch SDK 向https://api2.branch.io/v1/install 发送了请求,但问题是响应不包含我设置的原始链接、查询参数或键值对在仪表板中。这是我在onInitFinished 收到的 JSONObject:
{"+match_guaranteed":true,"link_click_id":"976953359423305632","+clicked_branch_link":true,"+click_timestamp":1634196720,"+is_first_session":true,"utm_source":"test-referrer"}
所有其他信息在哪里?这不包括原始链接、键值对、标签等。
作为比较,这是我在 iOS 应用中收到的:
["$ios_passive_deepview": "branch_passive_default", "source": "test-referrer", "+is_first_session": 1, "~channel": test-referrer, "$matching_ttl_s": 7200, "~id": 976763609660742721, "~creation_source": 1, "$one_time_use": 0, "~marketing": 1, "~referring_link": "https://myapp.test-app.link/test-referrer", "~feature": "test", "+click_timestamp": 1634249299, "+match_guaranteed": 0, "$og_description": "My app description", "$og_title": "MyApp", "+clicked_branch_link": 1, "$marketing_title": "Test Referral Link", "~tags": ["test-referrer"], "~campaign": "test"]
如果我旋转手机以重新创建 Activity 或单次重新打开应用程序,它会向 https://api2.branch.io/v1/open 发送请求并返回我最初预期的所有信息。 安装应用后如何获取信息?
我目前正在使用 myapp.test-app.link 进行测试,并且在我的自定义应用程序类的 onCreate() 中,我在 Branch.getAutoInstance(this) 之前调用了 Branch.enableTestMode()。我也尝试使用实时链接并得到相同的结果。
这些是我在 build.grade 中使用的库:
implementation 'io.branch.sdk.android:library:5.0.13'
implementation 'com.google.firebase:firebase-appindexing:20.0.0'
implementation 'com.google.android.gms:play-services-ads-identifier:17.1.0'
implementation 'androidx.browser:browser:1.3.0'
我还在仪表板和应用程序中设置了应用程序链接和 uri 方案。在安装后的第一个会话中使用getFirstReferringParams() 和getLatestReferringParams() 也无济于事。
更新:
重复我上面描述的完全相同的测试过程,现在传递到onInitFinished 的 JSONObject 的信息更少,并且声称我没有点击分支链接:
{"+clicked_branch_link":false,"+is_first_session":true}
而getFirstReferringParams() 返回一个空的 json 对象。
我即将开始以这种速度寻找替代方案。
【问题讨论】:
标签: android deep-linking branch.io