javascript Firebase,两个项目相同的DB?

6tdlim6h  于 2023-04-28  发布在  Java
关注(0)|答案(2)|浏览(80)

让我解释一下情况(请原谅我的英语,我会尽我所能):
我的Firebase控制台中有两个Firebase Web项目:coretechtest-ce 207和agon-plugin
coretechtest-ce 207是主要的应用程序和agon-plugin是一个次要的应用程序,需要连接到coretechtest-ce 207的auth和数据库。据我所知,我不能在同一个项目上托管两个应用程序,所以这就是为什么我做了分开的项目。主要的一个工作正常,我可以做我想做的一切(注册,数据库等))但我需要主和第二个都在同一个auth和DB上。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));   
};

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

du7egjpx

du7egjpx1#

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

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

然后把你在第一个应用程序上做的一切都做给第二个应用程序
最重要的是,不要在网上发布你的API密钥!

qv7cva1a

qv7cva1a2#

如果您使用Web并希望托管2个使用相同数据库的Web应用程序-您有几个选择。Free:唯一能将Web应用与数据库关联的是Firebase配置中的API键,用于初始化Web应用中的firebase。如果两个应用程序使用相同的设置,那么它们可以共享相同的数据库。如果你想用firebase免费托管两个web应用程序-每个项目只能免费托管1个应用程序。但是,您可以轻松创建第二个新项目,并在该新项目中托管第二个Web应用程序。但是不要在你的应用程序中使用新项目中的新web API设置。相反,使用与原始项目相同的内容。2个项目中的2个应用程序可以使用相同的数据库,如果它们使用相同的API密钥配置。(仅在第二个应用的CLI中执行'firebase init'时选择firebase hosting)
付费选项:是如果你去到你的firebase控制台的托管页面,你向下滚动到底部-你会看到一个卡片提供托管一个以上的应用程序在一个项目。它要求你更新到按需付费的火焰计划。这可能会或可能不会花费你的钱。

相关问题