hansemannn / titanium-firebase-core

Use the Firebase Core SDK in the Titanium SDK 🚀
Other
31 stars 23 forks source link
axway firebase firebase-core javascript native titanium titanium-firebase

Firebase Core - Titanium Module

Use the native Firebase SDK in Axway Titanium. This repository is part of the Titanium Firebase project. This module is required for iOS but not needed anymore for Android. Since Ti 9.0.0 gradle will automatically read the configuration (see Firebase-Core)

Supporting this effort

The whole Firebase support in Titanium is developed and maintained by the community (@hansemannn and @m1ga). To keep this project maintained and be able to use the latest Firebase SDK's, please see the "Sponsor" button of this repository, thank you!

Requirements

Download

Installation

Read the Firebase-Core install part if you set up a new project.

API's

FirebaseCore

Methods

configure() -> Boolean

Configure Firebase without additional parameters.

Returns false if it was already configured or if there was an error.

configure(parameters)

Configure Firebase with configuration parameters:

Name Type Component Platform
file String *

By passing the file property, you can give a location to the Firebase plist file (usually named "GoogleService-Info.plist"), which contains all necessary properties for your Firebase project. This makes all other properties unnecessary. For Android: place the file in /app/assets/android/ and pass just the filename.

Or you can configure Firebase without a file by passing these parameters:

Name Type Component Platform
googleAppID String *
GCMSenderID String Cloud Messaging *
APIKey String Auth *
projectID String *
databaseURL String Real Time Database *
storageBucket String Storage Bucket *
bundleID String iOS
clientID String iOS
trackingID String iOS
androidClientID String iOS
deepLinkURLScheme String iOS
logLevel LOG_LEVEL_* [ERROR\|WARNING\|NOTICE\|INFO\|DEBUG] iOS
applicationID String Analytics Android

Examples

// Require the Firebase Core module
var FirebaseCore = require('firebase.core');

// Configure your Firebase API's (only required once for all)

FirebaseCore.configure();   // default google-services.json/GoogleService-Info.plist will be used

// alternative way:

FirebaseCore.configure({
  APIKey: "AIYasZBtfJh..........",
  projectID: "test-12345",
  storageBucket: "test-12345.appspot.com",
  applicationID: "1:12345678890:android:abc123efg456"
});

// alternative way:
FirebaseCore.configure({
  file: "filename.json"
});

Build

cd [ios|android]
appc run -p [ios|android] --build-only

iOS notes

If you are also using Ti.GoogleSignIn you will probably have a duplicate symbols error. Both Ti.GoogleSignIn and this module share some common dependencies. In order to solve this conflict, remove the GTMSessionFetcher.framework and GoogleToolboxForMac.framework files from <YOUR_PROJECT_DIR>/modules/iphone/firebase.core/<VERSION>/platform and rebuild your app.

Android notes

check firebase-core for more information.

Legal

This module is Copyright (c) 2017-Present by Hans Knöchel. All Rights Reserved.