Useful or not, from you.
react-native-firebase auth/missing-client-identifier

<!---

<!-- PLEASE DO NOT REMOVE ANY SECTIONS FROM THIS ISSUE TEMPLATE --> <!-- Leave them as they are even if they're irrelevant to your issue -->

Issue

<!-- Please describe your issue here --^ and provide as much detail as you can. --> <!-- Include code snippets that show your usages of the library in the context of your project. --> <!-- Snippets that also show how and where the library is imported in JS are useful to debug issues relating to importing or methods not found issues -->

I follow the docs download google-service.json and also add SH1 key in firebase console and then copy the example code and try to run it but i saw the below issue.Help Needed. Thanks.

This request is missing a valid app identifier, meaning that neither SafetyNet checks nor reCAPTCHA checks succeeded. Please try again, or check the logcat for more details.

Javascript

import React, { useState } from 'react';
import { Button, TextInput, View } from 'react-native';
import auth from '@react-native-firebase/auth';
 

const PhoneSignIn = ()=>{
  // If null, no SMS has been sent
  const [confirm, setConfirm] = useState(null);
  const [number, setNumber] = useState(false)
  const [code, setCode] = useState('');

  // Handle the button press
  const _signInWithPhoneNumber = async()=>{
    if(!number) return
    alert(number)
    const confirmation = await auth().signInWithPhoneNumber(number)
    console.log(confirmation)
    setConfirm(confirmation);
  }

  const confirmCode= async()=>{
    try {
      await confirm.confirm(code).then(res => {
        alert(`Verified! ${res.user.uid}`)
      })
    } catch (error) {
      console.log('Invalid code.');
    }
  }

  if (!confirm) {
    return (
      <View style= {{flex: 1}}>
        <TextInput style={{ width: '100%'}} placeholder= "enter number +923075018584" onChangeText={text => setNumber(text)}/>
        <Button
          title="Phone Number Sign In"
          onPress={() => _signInWithPhoneNumber()}
        />
      </View>
    );
  }

  return (
    <>
      <TextInput value={code} placeholder="Code" onChangeText={text => setCode(text)} />
      <Button title="Confirm Code" onPress={() => confirmCode()} />
    </>
  );
}

export default PhoneSignIn

package.json:

"@react-native-firebase/app": "^8.4.7",
"@react-native-firebase/auth": "^9.3.2",
"react-native": "^0.63.2",

Have you converted to AndroidX?

<!--- Mark any options that apply below -->

  • [x] my application is an AndroidX application?
  • [x] I am using android/gradle.settings jetifier=true for Android compatibility?
  • [x] I am using the NPM package jetifier for react-native compatibility?
That's a useful answer
Without any help

@adamrosey It's related to SHA1 and SHA256 keys, in console.cloud.google.com for your project enable "Android Device Verification", keep sha1 and sha256 keys 256 keys updated in firebase console for your app. That solved my error.

Read this: https://firebase.google.com/docs/auth/android/phone-auth#enable-app-verification