C++ extension Firebase for 3D and 2D games.
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for igeFirebase-0.0.21-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 470d253c03f9b2d602f06a295dad3c159da9d5d9db28b60bd5cb007d1f1b76df |
|
MD5 | dbd4dad2fa50edb07aa52607ae3052ec |
|
BLAKE2b-256 | 0e656c26377c1414c89564fd459accdaa55c10b47e1155db0d62b130f4fcbe06 |
Hashes for igeFirebase-0.0.21-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87d5be649c55e7cea099e1c0c042b5d2d92ba4bc9c77552d373483b7b1065b5e |
|
MD5 | 2e8a4a612f97b665006674847ac02bd6 |
|
BLAKE2b-256 | 2b29f301267a42f29add3b921e158beb913974f5f0253f11b7c27f2a114fec36 |