【问题标题】:Firebase, two projects same DB?Firebase,两个项目相同的数据库?
【发布时间】:2018-09-10 00:26:04
【问题描述】:

让我解释一下情况(请原谅我的英语,我会尽力而为):

我的 Firebase 控制台中有两个 Firebase Web 项目:coretechtest-ce207 和 agon-plugin

coretechtest-ce207 是主应用程序,agon-plugin 是辅助应用程序,需要连接到 coretechtest-ce207 的身份验证和数据库。据我所知,我不能在同一个项目上托管两个应用程序,所以这就是我制作单独项目的原因。主要的工作正常,我可以做我想做的一切(注册,数据库等),但我需要在同一个身份验证和数据库上的主要和第二个。 agon-plugin(第二个)基于 FriendlyChat 应用程序制作,并直接连接到托管该应用程序的服务器。 例如:

// Initializes FriendlyChat.
function FriendlyChat() {
    this.initFirebase();

}

// Sets up shortcuts to Firebase features and initiate firebase auth.
FriendlyChat.prototype.initFirebase = async function() {
    // Shortcuts to Firebase SDK features.
    this.auth = firebase.auth();
    this.database = firebase.database();
    this.storage = firebase.storage();
    // Initiates Firebase auth and listen to auth state changes.
    await this.auth.onAuthStateChanged(this.onAuthStateChanged.bind(this));   
};

如你所见,不需要放

apiKey: "AIzaSyAfGm_ILVdfsd--Fw7aascc8tAB73q__Bbko",
authDomain: "coretechtest-ce207.firebaseapp.com",
databaseURL: "https://coretechtest-ce207.firebaseio.com",
projectId: "coretechtest-ce207",
storageBucket: "coretechtest-ce207.appspot.com",
messagingSenderId: "994718782"

我尝试使用这些参数替换它,所以它会是

    FriendlyChat.prototype.initFirebase = async function() {
// Shortcuts to Firebase SDK features.

    this.auth = 'coretechtest-ce207.firebaseapp.com';
    this.database = 'https://coretechtest-ce207.firebaseio.com';
    this.storage = 'coretechtest-ce207.appspot.com';

// Initiates Firebase auth and listen to auth state changes.
   await this.auth.onAuthStateChanged(this.onAuthStateChanged.bind(this));   
};

但是没有运气,你能告诉我我做错了什么吗?我认为替换它会连接到我的主要项目,但它没有...... =/ 我希望你能明白我想说什么!

谢谢!

【问题讨论】:

    标签: javascript firebase


    【解决方案1】:

    不是 100% 确定 Web,但它应该类似于 Android:

    • 转到您的控制台面板
    • 点击左上角“项目概览”旁边的滚轮
    • 在弹出窗口中点击项目设置
    • 在设置页面中向下滚动一点,您应该会看到一个蓝色的“添加应用程序”(或类似的)按钮。

    然后将你在第一个应用上所做的一切都做到你的第二个应用上

    最重要的是,不要在网络上发布您的 api 密钥!

    【讨论】:

    【解决方案2】:

    如果您使用 Web 并希望托管 2 个使用相同数据库的 web 应用程序 - 您有几个选择。 免费:唯一将 Web 应用程序与您的数据库相关联的是 Firebase 配置中用于在 Web 应用程序中初始化 firebase 的 api 键。如果 2 个应用程序使用相同的设置,那么它们可以共享相同的数据库。如果您想免费托管两个带有 firebase 的网络应用程序 - 每个项目只能免费托管 1 个应用程序。但是,您可以轻松地创建第二个新项目并在该新项目中托管您的第二个 Web 应用程序。但不要在您的应用程序中使用来自该新项目的新 Web api 设置。而是使用原始项目中的相同项目。如果 2 个项目中的 2 个应用使用相同的 API 密钥配置,则它们可以使用相同的数据库。 (仅在从 cli 为第二个应用程序执行“firebase init”时选择 firebase 托管)

    付费选项:如果您转到 Firebase 控制台中的“托管”页面,然后向下滚动到底部 - 您将看到一张卡片,提供在 1 个项目中托管多个应用程序。它要求您更新到现收现付的火焰计划。这可能会或可能不会花钱。

    【讨论】:

      猜你喜欢
      • 2011-01-14
      • 2018-08-12
      • 2016-09-13
      • 2021-12-03
      • 2017-01-14
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 2016-09-18
      相关资源
      最近更新 更多