Firebase尝试加载由App Transport Security阻止的http

时间:2016-07-22 16:16:09

标签: google-analytics firebase ios8 ios9 firebase-analytics

在我的ios swift应用中使用Google Firebase,我在控制台输出中找到了臭名昭着的消息:

  

App Transport Security已阻止明文HTTP(http://)资源   负载,因为它是不安全的。可以通过配置临时例外   您应用的Info.plist文件。

使用方法here,我发现这是由加载http://www.google-analytics.com/ga.js的请求触发的,该请求可能来自Firebase Analytics。

我是否需要为此添加例外?

3 个答案:

答案 0 :(得分:1)

Firebase不使用

http://www.google-analytics.com/ga.js。也许您正在使用的其他SDK之一访问此脚本。

答案 1 :(得分:0)

如果您希望使用Firebase Analytics,请执行此操作。或者,您可以在Firebase plist文件中禁用分析。

答案 2 :(得分:0)

我正在使用Firebase托管的React应用程序中使用firebase/analytics模块(firebase 7.1.0),但在尝试加载googletagmanager时遇到错误(我没有明确做,即将到来来自模块)。

Mixed Content: The page at 'https://example.com/' was loaded over HTTPS, but requested an insecure script 'http://www.googletagmanager.com/gtag/js?id=someGTM-id'. This request has been blocked; the content must be served over HTTPS.

我不是从index.html文件中导入Google Analytics(分析),而是从基本上是从javascript文件中加载firebase / analytics:

 import firebase from 'firebase/app';
 import 'firebase/analytics';
 const firebaseConfig = {
    apiKey: "api-key",
    authDomain: "project-id.firebaseapp.com",
    databaseUrl: "https://project-id.firebaseio.com",
    projectId: "project-id",
    storageBucket: "project-id.appspot.com",
    messagingSenderId: "sender-id",
    appId: "app-id",
    measurementId: "G-measurement-id",
};

firebase.initializeApp(firebaseConfig);
firebase.analytics();

我发现:https://developers.google.com/web/fundamentals/security/prevent-mixed-content/fixing-mixed-content

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests

并通过将以下行放在我的index.html文件中进行修复:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">