我正试图在Android上获得延迟的深度链接。我在仪表板中添加了一个测试设备&重置设备数据,并确保应用程序已卸载。当我点击一个branch.io链接时,它会像预期的那样带我去游戏商店。然后我将这个应用程序从Android启动到手机上,日志上说分支SDK向https://api2.branch.io/v1/install发送了一个请求,但问题是响应不包含我在仪表板中设置的原始链接、查询参数或键值对。这是我在onInitFinished上收到的onInitFinished
{"+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"]如果我旋转手机重新创建活动或重新打开应用程序一次,然后它发送一个请求到https://api2.branch.io/v1/open,并返回所有我最初期望的信息。如何在安装应用程序后获取信息?
我目前正在使用myapp.test-app.link进行测试,并在我的自定义应用程序类的Branch.enableTestMode()中在Branch.getAutoInstance(this)之前调用onCreate()。我也尝试了一个现场链接,并得到了同样的结果。
这些是我在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对象。我正准备以这种速度寻找另一种选择。
发布于 2021-10-19 19:13:48
我修正了这个问题,在初始化意图时就在intent.putExtra("branch_force_new_session", true);之后添加了this.activity.setIntent(intent);。就像这样:
...
this.activity.setIntent(intent);
intent.putExtra("branch_force_new_session", true);
Branch
.sessionBuilder(this.activity)
.withCallback(branchReferralInitListener)
.reInit();
...查看这里以获得branch_force_new_session引用。
丢失数据的另一个原因是不存在链接别名,但在iOS中尝试使用相同的链接时,情况似乎并非如此。
https://stackoverflow.com/questions/69555163
复制相似问题