【发布时间】:2018-03-16 14:36:36
【问题描述】:
我有一段代码,其中我将 utm 参数与 url 一起传递给 Device.OpenUri,但是当我在浏览器中打开链接时它隐藏了 utm 参数。我希望 utm 参数与 URL 一起显示。我不知道我该怎么做?请帮忙 Post.NewsItem.Url 包含 URL,我正在向它添加 utm 参数。
void MoreInfoButton_Clicked(object sender, EventArgs e)
{
Device.OpenUri(new Uri(viewModel.MoreInfoUrl));
Logger.Instance.log("More Info button clicked", LogLevel.DEBUG);
}
if (post.NewsItem.Url.Contains('?')){
MoreInfoUrl = post.NewsItem.Url + "&utm_source=dorffunk&utm_medium=app";
}else
{
MoreInfoUrl = post.NewsItem.Url + "?utm_source=dorffunk&utm_medium=app";}
【问题讨论】:
-
如果您在“Device.OpenUri”行之前放置一个日志行,并将 viewModel.MoreInfoUrl 的内容发送到日志方法,您会在日志中看到什么?您在日志中看到您期望的完整网址吗?
-
它什么也没显示,因为记录的只是记录有关单击按钮的信息,而不是我猜的 URL
-
这是有效的 Device.OpenUri(new Uri(viewModel.MoreInfoUrl + "?utm_source=dorffunk&utm_medium=app"));但这不是 ---- MoreInfoUrl = post.NewsItem.Url + "&utm_source=dorffunk&utm_medium=app";
-
我的意思是添加:Logger.Instance.log("The url " + viewModel.MoreInfoUrl, LogLevel.DEBUG);在调用 OpenUri 之前。这样您就可以确定 MoreInfoUrl 是否实际上是从其他代码更新的。说到其他代码,是什么触发了您实际更新 viewModel 的其他行?你确定他们被击中了吗?您是否尝试添加断点以查看调试器是否命中这些行?
-
代码中存在另一个错误,因此无法正常工作。我解决了它,现在它工作正常。非常感谢所有的帮助和支持。
标签: c# xamarin uri utm-tracking