You need to enable JavaScript to run this app.
导航

导入和初始化 SDK(iOS)

最近更新时间2024.02.20 10:53:40

首次发布时间2023.04.28 09:58:12

本文档介绍如何在您的游戏 App 中导入和初始化 GNA iOS SDK。

前提条件

您已经下载并解压了 GNA iOS SDK

在 iOS 项目中导入 SDK

以 Xcode 14.0 为例,您可以参考以下步骤在 iOS 项目中导入 SDK。

  1. 在 Xcode 中,选择 TARGETS > 您的项目名称 > General > Frameworks, Libraries, and Embedded Content,点击 + 按钮。
    图片
  2. 在弹出的对话框中,点击 Add Other... > Add Files...
    图片
  3. 在弹出的对话框中,选择您解压的 .framework 文件,点击 Open

导入完成后,GameSdkNetworkManager.framework 会显示在 Frameworks, Libraries, and Embedded Content 下方的列表中。因为 GameSdkNetworkManager.framework 是动态库,您需要确保 GameSdkNetworkManager.frameworkEmbed 属性是 Embed & Sign
图片

初始化 SDK

导入 SDK 后,参见以下步骤初始化 SDK。您可以参见 SDK 参考 了解 SDK 的详细信息。

  1. 导入 GameSdkNetworkManager.h 头文件。

    #import <GameSdkNetworkManager/GameSdkNetworkManager.h>
    
  2. 调用 setCommonParamsblock 方法设置 App ID、SDK 鉴权值、平台类型、Device ID 等信息。

    警告

    示例代码了方便功能演示,直接传入了 App ID 和 SDK 鉴权值。在生产环境中,不建议您直接传入明文。例如,您可以预先把明文进行编码或加密处理,在传值的时候再对已编码或加密的明文进行解码或解密。同时,您必须对 App 进行代码混淆处理。否则,您的 App ID 和 SDK 鉴权值可能会被第三方通过反编译的方式获得。

    说明

    • 您需要自行管理和分配设备的 Device ID。建议您复用 App 中已有的用于标识用户设备的 ID。
    • 关于 App ID 和 SDK 鉴权值的获取方法,参见 获取 App ID 和 SDK 鉴权值
    [[GameSdkNetworkManager shareInstance] setCommonParamsblock:^NSDictionary *{
            NSMutableDictionary *commonParams = [NSMutableDictionary dictionary];
            // App ID。标识您的 App 的唯一 ID。您需要从 GNA 控制台获取 App ID
            [commonParams setValue:@"10xxxx94" forKey:@"aid"];
            // iOS 设备的平台类型,例如 iPhone 或 iPad
            [commonParams setValue:@"iPhone" forKey:@"device_platform"];
             // 标识某一台设备的唯一 ID。支持 UTF-8 字符,长度不限。您需要自行设置和管理 Device ID
            [commonParams setValue:@"1234567689" forKey:@"device_id"];
            // SDK 鉴权值。您需要从 GNA 控制台获取 SDK 鉴权值
            [commonParams setValue:@"tzt3xxxxxxxxxxejs7hhx" forKey:@"secret"];
            return [commonParams copy];
        }];
    
  3. 调用 start 方法初始化 SDK。

    说明

    start 方法是异步的。GNA SDK 暂时没有为该方法提供回调。因此,我们建议您尽早调用该方法。例如,您可以在 App 冷启动时调用该方法初始化 SDK。

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        
        // 初始化 SDK
        [[GameSdkNetworkManager shareInstance] start];
        
        // Override point for customization after application launch.
        return YES;
    }
    

接下来您可以

实现网络分析或网络加速