当我从应用程序登录然后从应用程序移动到网络时,访问者ID mid在各个域中不一致

问题描述 投票:0回答:1

使用体验云vistor id。 App,web正在使用相同的adobe启动库。当我登录到应用程序URL更改和中间更改然后如果我从应用程序导航到Web响应页面mid更改,我没有看到从应用程序到Web的任何跨域路径报告?

我需要做什么与a.cookie域名期间或任何使这项工作?

tags adobe adobe-analytics adobe-dtm
1个回答
0
投票

Experience Cloud访客ID不会自动从原生移动应用程序转移到(移动)网页。长话短说,本机应用程序并不真正以与Web浏览器相同的方式在本地存储数据,因此没有自动能够在两者之间使用相同的本地存储机制/源。

为此,您必须向移动应用添加一些代码,以便将mid值附加到目标网址,例如:

Android

String urlString = "http://www.example.com/index.php";
String urlStringWithVisitorData = Visitor.appendToURL(urlString);
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlStringWithVisitorData));
startActivity(browserIntent);

iOS

NSURL *url = [NSURL URLWithString:@”http://www.example.com/index.php"];
NSURL *urlWithVisitorData = [ADBMobile visitorAppendToURL:url];
[[UIApplication sharedApplication] openURL:urlWithVisitorData];

如果实现正确,您现在应该看到附加到目标URL的adobe_mc=参数。然后在目标页面的页面视图上,如果您实现了Adobe Analytics javascript和Experience Cloud Visitor ID库,它们将自动查找并使用该值而不是生成新值(此时不应要求任何配置/编码) )。

更新:

@Ramaiyavraghvendra你发表评论:

嗨@Crayon,谢谢你的深刻回答。对不起,我错过了通知这个应用程序不是本机的,但这是一个SPA应用程序。所以整个应用程序的实现也是通过启动完成的。那么在这种情况下你能帮助吗?

我不完全确定我理解你的问题。如果您不是从原生移动应用程序移动到网页,并且您的移动应用程序实际上是基于Web的SPA,在整个应用程序中将Launch作为常规JavaScript代码输出,那么您不应该做任何事情;体验云ID服务应该从页面到页面继承id。

所以听起来好像您的Experience Cloud访客ID和/或Adobe Analytics收集服务器设置未正确配置。如果登录涉及从www.mysite.com转到www.mysite.co.uk或类似地址,那么cookie域期间变量可能是一个问题,但如果TLD具有相同的期数,则不应该成为问题。

或者,可能无法正确配置trackingServertrackingServerSecure变量。在实践中,我通常根本不设置trackingServerSecure。这些变量在不同情况下与你使用的东西相比变得混乱和IMO错误,所以我倾向于使用trackingServer字段中的“安全”值并将trackingServerSecure留空,然后体验云访问者ID和Adobe Analytics将只是100%使用安全版本。

或者..可能是许多其他未正确设置的配置变量。如果没有访问应用程序和启动容器,很难说是否有任何关闭。

您还可以检查已登录页面的响应标头。可能是它们被配置为拒绝某些现有的非https cookie或其他有效导致现有cookie不可读的内容,并使Experience Cloud ID服务生成新的ID和cookie。

或者..也许您的应用程序类型是本机移动应用程序,但使用http包装器来拉入网页,所以它基本上是一个Web浏览器,但它实际上就像从一个Web浏览器移动到另一个(例如从www.site开始) Chrome上的.com / pageA,然后将该网址复制/粘贴到Internet Explorer上以查看)。如此有效,不同的饼干罐。

Launch (or DTM) + Experience Cloud ID(Javascript方法)

在最后两段的情况下,您必须使用与原始答案相同的方式装饰目标链接,但使用Launch + Experience Cloud ID Service javascript语法:

_satellite.getVisitorId().appendVisitorIDsTo('[your url here]');

您编写了一些代码来获取链接的目标URL。然后通过此代码运行它以返回添加了参数的url,然后使用新URL更新链接。

仅更新页面上所有链接的超级通用示例。实际上,您只应对访问者重定向到的相关链接执行此操作。

var urls = document.querySelectorAll('a');
for (var i = 0, l = urls.length; i < l; i++) {
    if (urls[i].href) {
        urls[i].href = _satellite.getVisitorId().appendVisitorIDsTo(urls[i].href);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.