titanium-firebase
titanium-firebase copied to clipboard
Use the Firebase SDK 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.
Requirements
- [x] iOS: Titanium SDK 9.2.0+
- [x] Android: Titanium SDK 9.0.0+ and Ti.PlayServices
Demo
⏩ hansemannn/titanium-firebase-demo
Installation
-
Download the core-module titanium-firebase-core - only needed for iOS
-
Download the desired feature-module(s) from the below list
-
Unpack them to your project directory
-
Configure your Firebase project
- iOS:
- Download the
GoogleService-Info.plistfrom your project and copy it to[application_name]/Resources/iphone/(classic) or[application_name]/app/assets/iphone(Alloy)
- Download the
- Android:
- Download the
google-services.jsonand copy it to[application_name]/platform/android/(classic) or[application_name]/app/platform/android/(Alloy)
- Download the
- iOS:
-
Require the your modules and call the
configuremethod to configure your Firebase application:
var FirebaseCore = require('firebase.core');
FirebaseCore.configure();
- 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 |
| 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
- Please see https://github.com/hansemannn/titanium-firebase/graphs/contributors
- Interested in contributing? Read the contributors/committer's guide.
License
Apache 2.0