我已使用Firebase Dynamics链接,它可以打开我的应用,转到商店或转到网址。但是当我通过链接传递一些参数时,我只能得到第一个参数。 这是我的动态链接:
https://xx.app.goo.gl/?link=http://xx.com/?usn=abc&pass=def&apn=com.xx&afl=http://google.com
我使用此代码获取链接:
// Build GoogleApiClient with AppInvite API for receiving deep links
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this, this)
.addApi(AppInvite.API)
.build();
// Check if this app was launched from a deep link. Setting autoLaunchDeepLink to true
// would automatically launch the deep link if one is found.
boolean autoLaunchDeepLink = false;
AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, autoLaunchDeepLink)
.setResultCallback(
result -> {
if (result.getStatus().isSuccess()) {
// Extract deep link from Intent
Intent intent = result.getInvitationIntent();
String deepLink = AppInviteReferral.getDeepLink(intent);
Logger.e(deepLink);
}
}
);
日志打印:http://xx.com/?usn=abc(传递= def丢失) 有人解决了这个问题吗?
答案 0 :(得分:8)
您需要URL encode link
参数的值,否则系统无法判断动态链接的参数是什么以及{{1}的子参数是什么动态链接的参数。
这意味着最终的网址应该像link
重要说明:如果您(我怀疑)尝试通过纯文本链接参数传递用户名和密码,这是一个非常糟糕的想法。严重的,< em> 不要这样做 。请阅读this answer以了解此类要求的正确方法。
答案 1 :(得分:0)
就像你传入网址一样:
https://link.example.com?param="value1"¶m2="value2" ...>