Firebase错误:您必须在控制台中启用此服务

时间:2019-05-01 07:27:58

标签: ios firebase react-native react-native-firebase

尝试创建用户时出现以下错误

注意:这篇文章可能看起来很长,但总的来说,我认为它主要是在控制台中安装firebase的说明。

  

不允许该操作。您必须在   控制台。

我正在可能正在模拟器中运行最新ios的iPhone X设备上尝试此操作。

我正在使用react-native-firebase模块

这是我的注册操作的样子

import firebase from "react-native-firebase";

export const signup = (fullName, username, email, password) => {
  console.log(`Full name: ${fullName} UserName: ${username} email: ${email} password: ${password}`)
  return function(dispatch) {
    dispatch({ type: PROFILE_LOADING });
    firebase
      .auth()
      .createUserWithEmailAndPassword(email, password)
      .then(user => {
        console.log("This is user from signup", signup);
        return dispatch({
          type: PROFILE_SUCCESS,
          payload: user
        });
      })
      .catch(error => {
        console.error(error)
        return dispatch({
          type: PROFILE_ERROR,
          payload: error.data
        });
      });
  };
};

在我的Firebase身份验证中,我已启用使用电子邮件和密码进行注册

enter image description here

我已经进行了文档中所述的更改,即在我的AppDelegate.m

#import "AppDelegate.h"

#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
#import <Firebase.h>

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  [FIRApp configure];
   // more code

我的pod文件看起来像这样

# Pods for entreClientwithoutExpo
  pod 'Firebase/Core'
  pod 'Firebase/Auth'

  target 'entreClientwithoutExpo-tvOSTests' do
    inherit! :search_paths
    # Pods for testing
    pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'

    pod 'RNReanimated', :path => '../node_modules/react-native-reanimated'

  end

我的包含GoogleService-Info.plist的文件夹结构如下所示

enter image description here

我根据指示执行的一件事是创建rn-cli.config.js

const blacklist = require('metro-config/src/defaults/blacklist');

module.exports = {
  resolver:{
    blacklistRE: blacklist([
      /nodejs-assets\/.*/,
      /android\/.*/,
      /ios\/.*/
    ])
  },
};

问题:知道我在做什么错吗?

更新:通过基于Web的登录,它可以正常运行,但我打算使用Firebase Firestore,为此,我需要它与App一起使用

更新:捆绑包标识符也可能出错?

查看-tvOS捆绑包标识符时,恰好是这个     org.reactjs.native.example.entreClientwithoutExpo-tvOS

但通常是

app.entre

还有其他内容(可能是释放的屏幕截图

enter image description here enter image description here enter image description here

更新2:我的应用也未通过验证

enter image description here

此外,我们是否需要为该应用添加任何URL?

4 个答案:

答案 0 :(得分:1)

您可以跳过上面的验证步骤,但是您需要在下面进行以下配置:

enter image description here

您需要正确配置app idbundle id

enter image description here

As explained in my post on github firebase在您的Google云控制台中创建了三个api键。

ios应用程序有一个api密钥,android应用程序有一个api密钥(您没有此密钥),web则有一个api密钥。

enter image description here

enter image description here

以后我会继续更新此帖子,这是我一直在检查您的问题的一些链接

https://invertase.io/oss/react-native-firebase/guides

https://duckduckgo.com/?q=medium+react+native+firebase+configuring+ios&t=canonical&ia=web

https://duckduckgo.com/?q=medium+react+native+firebase+configuring+ios&t=canonical&ia=web

https://firebase.googleblog.com/2016/01/the-beginners-guide-to-react-native-and_84.html

Firebase Authentication error in android

答案 1 :(得分:0)

您的问题是您的项目中没有包含google-services.json文件。转到firebase上的设置并下载,然后将其添加到项目中。

To download a config file for an Android app:

  • 登录Firebase,然后打开您的项目。

  • 单击,然后选择项目设置。

  • 在“您的应用”卡中,选择需要为其配置文件的应用的程序包名称。

  • 点击google-services.json,然后将其添加到您的应用中。

答案 2 :(得分:0)

我知道这与文档中所描述的不一样……但这对我有用! 我看到您在项目文件夹中添加了GoogleService-Info.plist,但是我将其导入了ios文件夹下。只需将其添加到“ ios”文件夹,即可连接到控制台。 :-) 当然,您需要清理并重新运行项目。

答案 3 :(得分:-1)

您只需要从控制台启用google sighin方法即可在屏幕截图下方获取更多参考信息。

enter image description here

enter image description here