Comment on page
Native iOS Game Integration Guide
This doc introduces the integration steps for native iOS games.
-- Debug
sh downloadLibs.sh
-- Release
sh downloadReleaseLibs.sh
It will download all the required dependencies for CelerGameSDK
- Embed everything from the dependencies folder

embedLibs
- Change
Celersdk.framework
toDo not embed

linkCelerSdk
- Disable bitcode(Due to one of the embeded library, might change in the future)

disableBitCode
- Add Your Resource Bundle(Optional, but will speed up your launch process)
- Add Your GoogleService-Info.plist(Push Notification)

resourceBundle
- Register your BundleId with our portal

bundleId
- Add necessary permissions
--
- Push Certificates
#import <CelerGameSdk/CelerGameSdk.h>
[CelerGame initializeSdk];
-- Try not to call this function at app's start or start of your first view, do this when you have passed your initial loading screen, and preferably being trigger by user action, delay one runloop if you'll have to present sdk UI at launch
[CelerGame setSdkDelegate:self];
- (void)matchSeedGenerated:(double)seed
- (void)onMatchJoin:(nonnull id)gameObject
- (void)onReady
- (void)onResult
This callback provides a double type seed in order to generate a random level fair to the players, seed will range from 0 ~ 1
This callback provides necessary infomation about the match in a json package, display info as fit
For Objective C, gameObject will be a dictionary formatted as below:
{
"matchId":"01b085ed-b928-4476-a6ff-924c18fbf0d8",
"players":[
{
"id":"sand.siesta",
"index":1,
"name":""
},
{
"id":"pear.penury",
"index":2,
"name":""
}
],
"sharedRandomSeed":0.99951094382847394,
"shouldLaunchTutorial":true,
"difficultyLevel":1,
"currentPlayer":{
"id":"pear.penury",
"index":0,
"name":""
}
}
Start your game here
Do some clean up work
[[CelerGame shared] sendWithCallback:CelerGameStateOnLoaded];
[[CelerGame shared] sendWithCommand:CelerGameCommandHideInterface];
[[CelerGame shared] sendWithCommand:CelerGameCommandShowInterface];
[[CelerGame shared] submitWithScore:_score];
call this function when game level has finished loading
hide CelerGameSDK UI
show CelerGameSDK UI
submit Score
- To run this demo, run download script in the root directory
- An universal framework that supports simulator and devices will be provided, it will run on a debug environment
- A release framework only supports devices will be provided for appstore, it will run on release configuration
- For a pure OC project target before ios 12.2, please enable
Always Embed Swift Standard Libraries
settings [https://stackoverflow.com/questions/55364816/with-swift-5-and-ios-12-2-should-i-change-always-embed-swift-standard-librarie] - Minimuim sdk requirement is iOS 11