New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More

react-native-quick-firebase

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-quick-firebase

Quick firebase integration with phone auth and analytics

0.1.3
Version published
Weekly downloads
231
81.89%
Maintainers
2
Weekly downloads
 
Created

react-native-quick-firebase

Firebase simple integration with phone auth and analytics only.

Implementation in React Native project

Please add this entries as follow -

  • iOS ( In Podfile)
pod 'RNQuickFirebase', :path => PROJECT_PATH + 'react-native-quick-firebase/ios'
pod 'Firebase/Auth'
pod 'FirebaseAnalytics'
  • Android

android/settings.gradle

include ':react-native-quick-firebase'
project(':react-native-quick-firebase').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-quick-firebase/android')

android/app/build.gradle

dependencies {
    ...
    implementation project(':react-native-quick-firebase')
}

MainApplication.java

public class MainApplication extends Application implements ReactApplication {

    private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
        @Override
        protected List<ReactPackage> getPackages() {
            return Arrays.<ReactPackage>asList(
                    ...
                    new QuickFirebasePackage()
            );
        }
    };
}

Sample code

//
// Copyright © 2017-Present, Gaurav D. Sharma
// All rights reserved.
//
'use strict';

import React, { Component } from 'react';
import { AppRegistry, Text, TouchableOpacity, View } from 'react-native';
import RNQuickFirebase from 'react-native-quick-firebase';

class App extends Component {
	componentDidMount() {
		RNQuickFirebase.setAnalyticsEnabled(true);
		RNQuickFirebase.setScreenName('Base OTP Scene');
	}

	onSendOTP = async () => {
		RNQuickFirebase.logEvent('otp_button_click', null);
		let params = null;
		try {
			const phoneNumber = '+919876543210';
			await RNQuickFirebase.sendOTP(phoneNumber);
			console.warn('otp sent to: ' + phoneNumber);
			const sessionToken = await RNQuickFirebase.validateOTP('123456');
			console.warn('OTP validated successfully with sessionToken: ' + sessionToken);
			params = { otp_validate_event: 'otp_success' };
			RNQuickFirebase.logEvent('otp_send_validate', params);
			/// send this token to server to cross validate
			RNQuickFirebase.signOut();
			console.warn('User Logout from the Firebase');
		} catch (e) {
			console.warn(e);
			params = { ['otp_send_event']: 'otp_failed' };
			RNQuickFirebase.logEvent('otp_send_validate', null);
		}
	};

	render() {
		return (
			<View style={{ flex: 1, backgroundColor: 'white', justifyContent: 'center', alignItems: 'center' }}>
				<TouchableOpacity onPress={this.onSendOTP}>
					<Text>Check RNQuickFirebase App</Text>
				</TouchableOpacity>
			</View>
		);
	}
}

AppRegistry.registerComponent('firebaseDemo', () => App);

Voila! Happy Coding! 😍

FAQs

Package last updated on 26 Dec 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts