Skip to main content

Legacy iOS SDK Installation

Deprecated — do not use for new games

This page documents the legacy Objective-C OEG iOS SDK (OEGFramework.framework), which is in maintenance-only mode and will be removed in a future release.

New games must integrate SDK v2 only. Use this page only as a reference for existing iOS games already shipping with the legacy framework. No new features will be added here.

This page documents the Objective-C OEGFramework.framework integration used by existing iOS games.

What you need from OEG​

  • OEGFramework.framework
  • oeg_config.json or SDKConfig.plist
  • GoogleService-Info.plist if you use Google/Firebase features
  • Social credentials for Facebook / Google as needed

Requirements​

  • iOS 13.0+
  • Xcode 15+
  • Host app written in Objective-C or Swift

Add the framework​

  1. Drag OEGFramework.framework into your Xcode project.
  2. In Target > General > Frameworks, Libraries, and Embedded Content, set it to Embed & Sign.

Add configuration​

The legacy iOS SDK now loads config in this order:

  1. oeg_config.json
  2. SDKConfig.plist fallback

If you are integrating a new build, prefer oeg_config.json.

Preferred: oeg_config.json​

Add the file to your app target so it is copied into the main bundle.

oeg_config.json
{
"coreConfig": {
"gameId": 36,
"apiBaseUrl": "https://dev-api-sdk-game.oeg.vn/",
"debugEnv": true
},
"snsConfig": {
"google_server_client_id": "YOUR_GOOGLE_SERVER_CLIENT_ID",
"tiktok_client_key": "YOUR_TIKTOK_CLIENT_KEY"
}
}

Fallback: SDKConfig.plist​

Keep SDKConfig.plist only if your game still depends on the older plist-based delivery.

Add required plist files​

GoogleService-Info.plist​

Add GoogleService-Info.plist to the app bundle if you use:

  • Google sign-in
  • Firebase messaging / push

Configure URL schemes​

At minimum, add the callback schemes required by the providers your game enables.

Info.plist
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fbYOUR_FACEBOOK_APP_ID</string>
<string>YOUR_REVERSED_GOOGLE_CLIENT_ID</string>
</array>
</dict>
</array>

If your game still uses TikTok on a private build, add the TikTok scheme and query schemes required by that provider as well.

Wire the app lifecycle​

The legacy framework expects the host app to forward app delegate events.

AppDelegate.m
#import <OEGFramework/OEGManager.h>

- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[OEGManager handleDidFinishLaunchingWithOptions:launchOptions];
return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
[OEGManager handleWillResignActive];
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
[OEGManager handleDidEnterBackground];
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
[OEGManager handleWillEnterForeground];
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
[OEGManager handleDidBecomeActive];
}

- (void)applicationWillTerminate:(UIApplication *)application {
[OEGManager handleWillTerminate];
}

- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[OEGManager handleDidRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
}

- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
return [OEGManager handleOpenURL:url options:options];
}

Push notifications​

The SDK can request notification authorization itself through:

[OEGManager registerForRemoteNotifications:[UIApplication sharedApplication]];

In most games this is already triggered by handleDidFinishLaunchingWithOptions:.

Quick smoke test​

Once the framework is embedded and lifecycle forwarding is wired, present the login UI:

[[OEGManager sharedManager] showLoginWithCallback:^(OEGActionType type, id response, BOOL success, NSError *error) {
if (success) {
NSLog(@"Login success");
}
}];