本文档介绍如何在您的游戏 App 中导入和初始化 GNA Unity SDK。
您已经下载了 GNA Unity SDK。
警告
在 Unity 自动生成的 Xcode 项目中,GameSdkNetworkManager.framework 的 Embed 属性默认是 Do Not Embed。您需要把 GameSdkNetworkManager.framework 的 Embed 属性修改为 Embed & Sign。否则,打包后的 iOS App 会因为找不到动态库而 crash。
本文档以 Unity 2011 为例。
.tgz
文件,点击 Open。导入完成后,GNASDK 会显示在 Packages-Other 下方。此时,您也可以在 Unity 主界面下方的 Project 标签页看到已经导入的 GNA SDK。
导入 SDK 后,参见以下步骤初始化 SDK。您可以参见 SDK 参考 了解 SDK 的详细信息。
在您的 Unity Script 中,导入 GNA SDK 的命名空间。
using GNASDK;
实现 GnaMonitorCallback
委托和 GnaInitEndCallback
委托。
/// 实现日志监控委托。您可以通过该委托查看事件类型和日志 void OnMonitorLog(string eventType, string log) { Debug.Log($"MonitorLog type:{eventType}, log{log}"); } /// 实现初始化结果委托。您可以通过该委托查看初始化结果 void OnInitEnd(bool success, string errorMsg) { Debug.Log($"Initialization ends. Success: {success}, errorMsg:{errorMsg}"); }
设置 GNA SDK 的初始化参数,然后调用 Init
方法初始化 SDK。
警告
示例代码了方便功能演示,直接传入了 App ID 和 SDK 鉴权值。在生产环境中,不建议您直接传入明文。例如,您可以预先把明文进行编码或加密处理,在传值的时候再对已编码或加密的明文进行解码或解密。同时,您必须对 App 进行代码混淆处理。否则,您的 App ID 和 SDK 鉴权值可能会被第三方通过反编译的方式获得。
说明
void InitGna() { /// App ID。标识您的 App 的唯一 ID。您需要从 GNA 控制台获取 App ID GnaClient.Client.SetAppId("10xxxx94"); /// Device ID。支持 UTF-8 字符,长度不限。标识某一台设备的唯一 ID。您需要自行设置和管理 Device ID GnaClient.Client.SetDeviceId("1234567689"); /// SDK 鉴权值。您需要从 GNA 控制台获取 SDK 鉴权值 GnaClient.Client.SetSecret("tzt3xxxxxxxxxxejs7hhx"); /// 初始化 SDK。您需要传入上个步骤中实现的 GnaMonitorCallback 委托和 GnaInitEndCallback 委托 GnaClient.Client.Init(OnMonitorLog, OnInitEnd); }