An open API service indexing awesome lists of open source software.

https://github.com/networked-aframe/naf-firebase-adapter

networked-aframe Firebase network adapter
https://github.com/networked-aframe/naf-firebase-adapter

Last synced: 10 months ago
JSON representation

networked-aframe Firebase network adapter

Awesome Lists containing this project

README

          

# Networked-AFrame Firebase Adapter

Network adapter for [networked-aframe](https://github.com/haydenjameslee/networked-aframe) that uses Firebase as a backend.

## Running the Example

```
git clone https://github.com/networked-aframe/naf-firebase-adapter
cd naf-firebase-adapter
npm install # or use yarn
# Set firebase credentials in example/index.html
npm start
```

With the server running, browse the example at http://localhost:8080. Open another browser tab and point it to the same URL to see the other client.

## Setting Up Firebase

Firebase is a "serverless" network solution provided by Google. In NAF's case it can be used to establish connections between clients in a peer-to-peer fashion, without having to host a signalling (connection) server.

Steps to setup Firebase:

1. [Sign up for a Firebase account](https://firebase.google.com/)
2. Create a new Firebase project
3. Go to Database -> Realtime Database -> Rules and change them to the following (warning: not safe for production, just developing)
```javascript
{
"rules": {
".read": true,
".write": true
}
}
```
4. Click publish
5. Go back to the project overview
6. Click "Add Firebase to your web app"
7. Copy the credentials into your HTML page

## Use in an existing project

After setting up firebase include and configure `naf-firebase-adapter`.

```html







/script>



window.firebaseConfig = {
authType: 'none',
apiKey: 'your-api-key',
authDomain: 'xxx.firebaseapp.com',
databaseURL: 'https://xxx.firebaseio.com',
projectId: "your-projectId",
storageBucket: "your-storageBucket",
messagingSenderId: "your-messagingSenderId",
appId: "your-appId",
measurementId: "your-measurementId"
};



```