VS2015 Cordova 中的应用洞察 "Failed to send telemetry"

Application Insights in VS2015 Cordova "Failed to send telemetry"

我使用 VS2015 开发带有 Application Insights 的 Cordova App。

我按照this article整合AppInsights,把这个放在onDeviceReady()

     var snippet: any = {
            config: {
                instrumentationKey: "f2c1b11a-e3ec-4d3a-b96b-xxxxxxxx"
            }
        };
        var init = new Microsoft.ApplicationInsights.Initialization(snippet);
        var appInsights = init.loadAppInsights();
        appInsights.trackPageView();

在 init.loadAppInsights() 中一切顺利,但在 运行 appInsights.trackPageView() 之后,我收到以下错误消息:

AI (Internal): NONUSRACT_OnError message:"Failed to send telemetry." props:"{message:{}}"

我检查过 index.html,https://dc.services.visualstudio.com 在 CSP

<meta http-equiv="Content-Security-Policy" content="default-src 'self' https://*.azurewebsites.net https://dc.services.visualstudio.com http://dc.services.visualstudio.com data: gap: https://ssl.gstatic.com 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; media-src *">

并且 config.xml 中的域访问允许 * URI

有人可以帮助我让 Cordova 与 AppInsights 一起工作吗?

非常感谢。

我认为您遇到的问题是由于 Cordova Ripple 模拟器无法执行跨域请求引起的。请将跨域代理设置设为 "disabled":

或者您可以查看 以禁用来自 Ripple 的跨域请求。当我更改时,我可以毫无问题地从 Cordova 应用程序向 AI 发送遥测数据,就像文章中描述的那样 - 我完全按照你的描述做了,这就是我放置文件的方式。