【问题标题】:Use Google Analytics in Chrome packaged app?在 Chrome 打包应用中使用 Google Analytics?
【发布时间】:2015-11-18 05:13:48
【问题描述】:

我有一个现有的 web 应用程序,我想将其打包为 chrome 打包应用程序,但在尝试访问 google 分析时出现以下错误:

拒绝加载图片 'http://www.google-analytics.com/__utm.gif...' 因为它违反了 以下内容安全策略指令:“img-src 'self' blob: 文件系统:数据:chrome-extension-resource:"。

按照here 的描述将content_security_policy 添加到我的manifest.son 似乎已经过时,并且给了我错误。

尝试安装此扩展程序时出现警告: 'content_security_policy' 仅允许用于扩展和旧版 打包的应用,但这是一个打包的应用。

注册谷歌分析页面视图的包应用方式是什么?

【问题讨论】:

    标签: google-chrome-extension google-analytics


    【解决方案1】:

    apps documentation 说:

    您的 Chrome 应用只能引用应用内的脚本和对象,媒体文件除外(应用可以引用包外的视频和音频)。 Chrome 扩展将让您放宽默认的内容安全策略; Chrome 应用程序不会。

    • 使用支持应用的chrome-platform-analytics GA 脚本版本
    • 在您的应用程序包中包含 GA 脚本,将其作为本地脚本加载:

      <script src="google-analytics-bundle.js"></script>
      <script src="mainwindow.js"></script>
      
    • 在 manifest.json 中添加必要的权限:

      "permissions": ["https://www.google-analytics.com/*"]
      
    • 初始化它:

      service = analytics.getService('my_app');
      service.getConfig().addCallback(function(config) {
          console.log(config.isTrackingPermitted());
          config.setTrackingPermitted(true);
      });
      
      // Get a Tracker using your Google Analytics app Tracking ID.
      tracker = service.getTracker('UA-XXXXX-X');
      
      // Record an "appView" each time the user launches your app or goes to a new
      // screen within the app.
      tracker.sendAppView('MainView');
      

    代码引用自官方应用示例repository on github中的Google analytics app

    【讨论】:

    • 谢谢。我是否需要设置一个新的谷歌分析属性,或者我可以使用与网络相同的属性吗?应用程序视图与页面视图相同吗? getService 调用中的“my_app”指的是什么?
    • 请使用 chrome-platform-analytics 的文档/wiki。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    • 2013-10-13
    • 2015-06-01
    • 2012-07-07
    • 2016-06-25
    • 1970-01-01
    相关资源
    最近更新 更多