Skip to content

πŸ”₯ Use the Firebase SDK in Titanium

Notifications You must be signed in to change notification settings

hansemannn/titanium-firebase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

73 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Firebase in Axway Titanium

Firebase in Appcelerator Titanium

This project will contain all Firebase-related modules for Analytics, Cloud-Messaging, Authentication, Firestore etc.

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!

Premium supporter

Centreville Tech

Centreville Tech are strategic design+development advisors based in central Alabama.

Centreville Tech

Requirements

  • iOS: Titanium SDK 9.2.0+
  • Android: Titanium SDK 9.0.0+ and Ti.PlayServices

Demo

⏩ hansemannn/titanium-firebase-demo

Installation

  1. Download the core-module titanium-firebase-core - only needed for iOS

  2. Download the desired feature-module(s) from the below list

  3. Unpack them to your project directory

  4. Configure your Firebase project

    • iOS:
      • Download the GoogleService-Info.plist from your project and copy it to [application_name]/Resources/iphone/ (classic) or [application_name]/app/assets/iphone (Alloy)
    • Android:
      • Download the google-services.json and copy it to [application_name]/platform/android/ (classic) or [application_name]/app/platform/android/ (Alloy)
  5. Require the your modules and call the configure method to configure your Firebase application:

var FirebaseCore = require('firebase.core');
FirebaseCore.configure();
  1. You are good to go!

Features

The list of supported features will be updated once a new feature is added to the list. Feel free to take over a new feature by creating the module and making a pull-request to update this readme.

Feature Repository iOS Android Releases
Core (required) titanium-firebase-core βœ… βœ… Download
Analytics titanium-firebase-analytics βœ… βœ… Download
Performance titanium-firebase-performance βœ… βœ… Download
Authentication titanium-firebase-auth βœ… βœ… Download
Cloud Messaging titanium-firebase-cloud-messaging βœ… βœ… Download
In-App Messaging titanium-firebase-in-app-messaging βœ… βœ… Download
Crashlytics titanium-crashlytics βœ… βœ… Download
Remote Config titanium-firebase-config βœ… βœ… Download
Firestore titanium-firebase-firestore βœ… βœ… Download
Storage titanium-firebase-storage βœ… ❌ Download
Database titanium-firebase-database βœ… ❌ Download

⚠️ Android Notes

The titanium-firebase-core module is not required for Android anymore. If you use it it will add AdMob as a dependency which is found by the Play-Store even if you don't use it. So if you don't need it you don't include titanium-firebase-core into your project. The config from google-services.json is automatically included by gradle.

Disable Analytics

By default Firebase trys to use Analytics and you might see the erros in your log:

[ERROR] FA: AppMeasurementReceiver not registered/enabled
[ERROR] FA: AppMeasurementService not registered/enabled
[ERROR] FA: Uploading is not possible. App measurement disabled

To disable them you can add the follwing elements to the <application> part of your tiapp.xml:

<application>
	<meta-data android:name="firebase_analytics_collection_enabled" android:value="false"/>
	<meta-data android:name="google_analytics_adid_collection_enabled" android:value="false"/>
</application>

Contributors

License

Apache 2.0