igeFirebase
C++ extension Firebase for 3D and 2D games.
Before running this tutorial, you have to install igeFirebase
[pip install igeFirebase]
Available libraries
- Admob [ Android / iOS ]
- Analytics [ Android / iOS ]
- Authentication [ Android / iOS / Desktop ]
- RemoteConfig [ Android / iOS / Desktop ]
- MLKit [ Android ]
Functions
Firebase
- First, you need to import and init the firebase system
import igeFirebase igeFirebase.init() - Release it when everything is done
igeFirebase.release()
Firebase Admob
-
First, init the firebase admob system
- Following the structure : "adMobApp","bannerSize", "gender", "childDirectedTreatment","keywords","birthday", "testDevicesIds"
- Tuple is supported
fb_admob = igeFirebase.admob() fb_admob.init(("ca-app-pub-1009273426450955~3020262852", "ca-app-pub-3940256099942544/6300978111", "ca-app-pub-3940256099942544/1033173712", "ca-app-pub-3940256099942544/2888167318"), (320, 50), 1, 1, ("game", "games", "gamess", "gamesss"), (12, 11, 1988), ("112F1C63CDDE8BAAEE287FDE3BA4C662",)) -
Showing the ads
- Banner
Position MoveTo Enum Top of the screen, horizontally centered. kPositionTop = 0, Bottom of the screen, horizontally centered. kPositionBottom, Top-left corner of the screen. kPositionTopLeft, Top-right corner of the screen. kPositionTopRight, Bottom-left corner of the screen. kPositionBottomLeft, Bottom-right corner of the screen. kPositionBottomRight, fb_admob.showBanner() fb_admob.bannerMoveTo(0) fb_admob.bannerMoveTo(1) fb_admob.bannerMoveTo(2) fb_admob.bannerMoveTo(3) fb_admob.bannerMoveTo(4) fb_admob.bannerMoveTo(5) fb_admob.hideBanner()- Interstitial
fb_admob.showInterstitial()- RewardedVideo
fb_admob.showRewardedVideo() fb_admob.pauseRewardedVideo() fb_admob.resumeRewardedVideo() -
Release it when everything is done
fb_admob.release()
Firebase Analytics
- First, init the firebase admob system
fb_analytics = igeFirebase.analytics() fb_analytics.init() - Sending the events
fb_analytics.setUserProperty("sign_up_method", "google") fb_analytics.setUserId("uber_user_510") fb_analytics.setCurrentScreen("Firebase Analytics C++ testapp", "testapp") fb_analytics.logEvent("login") fb_analytics.logEvent("progress", "percent", 0.4) fb_analytics.logEvent("post_score", "score", 42) fb_analytics.logEvent("join_group", "group_id", "spoon_welders") levelUpParameters = (("level", 5), ("character", "mrspoon"), ("hit_accuracy", 3.14)) fb_analytics.logEvent("level_up", levelUpParameters) - Release it when everything is done
fb_analytics.release()
Firebase Authentication
- First, init the firebase admob system
fb_auth = igeFirebase.auth() fb_auth.init() - Authenticate
print('signInWithEmailAndPassword : ' + str(fb_auth.signInWithEmailAndPassword("doan.do@indigames.net", "doan.do"))) print('isPlayerAuthenticated : ' + str(fb_auth.isPlayerAuthenticated())) print('signOut : ' + str(fb_auth.signOut())) print('isPlayerAuthenticated : ' + str(fb_auth.isPlayerAuthenticated())) print('registerWithEmailAndPassword : ' + str(fb_auth.registerWithEmailAndPassword("dodoan.it@gmail.com", "indigames"))) print('isPlayerAuthenticated : ' + str(fb_auth.isPlayerAuthenticated())) - Release it when everything is done
fb_auth.release()
Firebase MLKit
- First, init the firebase mlkit system
fb_mlkit = igeFirebase.mlKit() fb_mlkit.init(mode) // 1 = FAST ; 2 = ACCURATE - API
fb_mlkit.getCameraSize() // result : tuple(w, h) fb_mlkit.getCameraData() // result : list(unsigned char) fb_mlkit.getContours // result : list(float) fb_mlkit.getLeftEyeOpenProbability // Returns a value between 0.0 and 1.0 giving a probability that the face's left eye is open fb_mlkit.getRightEyeOpenProbability // Returns a value between 0.0 and 1.0 giving a probability that the face's right eye is open - Release it when everything is done
fb_mlkit.release()
Firebase Firestore
-
callback
def FirestoreGetCB(self, collection, field, value): print(self, 'get --- collection=' + collection + ' field=' + str(field) + ' value=' + str(value)) def FirestoreSetCB(self, collection, field, value): print(self, 'set --- collection=' + collection + ' field=' + str(field) + ' value=' + str(value)) def FirestoreDeleteCB(self, collection, field=None, value=None): print(self, 'del --- collection=' + collection + ' field=' + str(field) + ' value=' + str(value)) -
get
get data with Cloud Firestore
firestore().get(collection, field, callback)
collection : string
field : string or None
callback : function(collection, field, value)
value : (string, int, double, dictionary)
Example
igeFirebase.firestore().get("users", "str_s", self.FirestoreGetCB) igeFirebase.firestore().get("users", "int_s", self.FirestoreGetCB) igeFirebase.firestore().get("users", "double_s", self.FirestoreGetCB) igeFirebase.firestore().get("users", "bool_s", self.FirestoreGetCB) igeFirebase.firestore().get("users", "map_s", self.FirestoreGetCB) igeFirebase.firestore().get("users", None, self.FirestoreGetCB) -
set
add data to Cloud Firestore
firestore().set(collection, field, value, callback, timestamp)
collection : string
field : string
value : (string, int, double, dictionary)
callback : optional function(collection, field, result)
timestamp : bool(optinal)
Example
igeFirebase.firestore().set("users", "str_s", "str_s", self.FirestoreSetCB) igeFirebase.firestore().set("users", "int_s", 1212, self.FirestoreSetCB) igeFirebase.firestore().set("users", "double_s", 12.1, self.FirestoreSetCB) igeFirebase.firestore().set("users", "bool_s", True, self.FirestoreSetCB) igeFirebase.firestore().set("users", "map_s", {"map_bool_s": True, "map_double_s": 12.1, "map_int_s": 1212, "map_str_s": "map_str_s"}, self.FirestoreSetCB) igeFirebase.firestore().set("users", "timestampValue", 10, self.FirestoreSetCB, timestamp=True) igeFirebase.firestore().set("users", "timestamp", None, self.FirestoreSetCB, timestamp=True) -
delete
delete data from Cloud Firestore
firestore().delete(collection, field, callback)
collection : string
field : string or None
callback : optional function(collection, field, result)
Example
igeFirebase.firestore().delete("users", "bool_s", self.FirestoreDeleteCB) igeFirebase.firestore().delete("users", None, self.FirestoreDeleteCB)
Notes
- Firebase C++ SDK desktop support is a beta feature so only a subset of features supported for now.
- Authentication
- Cloud Functions
- Cloud Storage
- Realtime Database
- Remote Config
- Firestore [TODO]
Reference
Metadata
Release files for igeFirebase 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| igeFirebase-0.2.0.tar.gz | 14.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| igeFirebase-0.2.0-cp39-cp39-win_amd64.whl | CPython 3.9 | CPython 3.9 | Windows x86-64 | Details |
Total release size: 3.2 MB
Release files / igeFirebase-0.2.0.tar.gz
| Download URL | igeFirebase-0.2.0.tar.gz |
|---|---|
| Size | 14.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5d7e17d2afd7d4658e56791fe06b944876f73dc54fd19fb70f1826b5aa323c05
|
|
BLAKE2b-256 checksum How to use checksums |
83428e9e294cdc7f0d1af40ea7f646657001e0a64e84738584918fdfcbb7eead
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6
|
Release files / igeFirebase-0.2.0-cp39-cp39-win_amd64.whl
| Download URL | igeFirebase-0.2.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d3c5be9d2fcef8d86291e5d4672662295ddcc5020c3043618c02b5aebfbe638e
|
|
BLAKE2b-256 checksum How to use checksums |
fcaa7884bbf403688b491b9d338eca3b9fd68321d8cdb62b043410747d8b3143
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6
|
Security for igeFirebase 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.