Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase,两个项目同一数据库?_Javascript_Firebase - Fatal编程技术网

Javascript Firebase,两个项目同一数据库?

Javascript Firebase,两个项目同一数据库?,javascript,firebase,Javascript,Firebase,让我解释一下情况(请原谅我的英语,我会尽力): 我的Firebase控制台中有两个Firebase Web项目:coretechtest-ce207和agon插件 coretechtest-ce207是主要应用程序,agon插件是次要应用程序,需要连接coretechtest-ce207的认证和数据库。据我所知,我不能在同一个项目上托管两个应用程序,所以我选择了分开的项目。主要的一个很好,我可以做我想做的一切(注册,数据库等),但我需要的主要和第二个都在同一个身份验证和数据库。agon插件(第二

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

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

coretechtest-ce207是主要应用程序,agon插件是次要应用程序,需要连接coretechtest-ce207的认证和数据库。据我所知,我不能在同一个项目上托管两个应用程序,所以我选择了分开的项目。主要的一个很好,我可以做我想做的一切(注册,数据库等),但我需要的主要和第二个都在同一个身份验证和数据库。agon插件(第二个)基于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));   
};
但是运气不好,你能告诉我我做错了什么吗?我以为替换它会连接到我的主要项目,但它没有=/ 我希望你能理解我想说的话


谢谢

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

  • 转到控制台面板
  • 在左上角,单击“项目概述”旁边的控制盘
  • 在弹出窗口中,单击“项目设置”
  • 在设置页面向下滚动一点,你会看到一个蓝色的“添加应用”(或者类似的)按钮
然后将你在第一个应用程序上所做的一切都添加到第二个应用程序


最重要的是,不要在网上发布你的api密钥

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


付费选项:如果你转到firebase控制台中的主机页面,向下滚动到底部,你会看到一张卡,提供在一个项目中托管多个应用程序。它要求您更新“随用随付”火焰计划。这可能会也可能不会花你钱。

嗨!首先谢谢!别担心,那不是我的api密钥;)我要试试你说的!因为我们已经在使用API键::-)