本文档介绍如何在您的游戏 App 中导入和初始化 GNA Android SDK。
您已经下载了 GNA Android SDK。
您需要在 Android 项目的 AndroidManifest.xml
文件中声明以下权限:
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
把下载的 .aar
文件复制到项目中的 src/main/libs
目录,然后在项目的 build.gradle(Module:<project_name>.app)
文件中添加以下依赖。
implementation(files("libs/ttnet-gamesdk-2.1.1.0.china-tob.aar"))
导入 SDK 后,参见以下步骤初始化 SDK。您可以参见 SDK 参考 了解 SDK 的详细信息。
定义一个类,例如 MyGameSdkAdapter
,实现 GameSdkAbsAdapter
接口。在接口中设置 App ID、SDK 鉴权值和 Device ID 等信息。
警告
示例代码了方便功能演示,直接传入了 App ID 和 SDK 鉴权值。在生产环境中,不建议您直接传入明文。例如,您可以预先把明文进行编码或加密处理,在传值的时候再对已编码或加密的明文进行解码或解密。同时,您必须对 App 进行代码混淆处理。否则,您的 App ID 和 SDK 鉴权值可能会被第三方通过反编译的方式获得。
说明
import org.chromium.gsdk.engine.GameSdkAbsAdapter; public class MyGameSdkAdapter extends GameSdkAbsAdapter { public MyGameSdkAdapter(Context context) { super(context); } // 标识某一台设备的唯一 ID。支持 UTF-8 字符,长度不限。您需要自行设置和管理 Device ID @Override public String getDeviceId() { return "1234567689"; } // App ID。标识您的 App 的唯一 ID。您需要从 GNA 控制台获取 App ID @Override public String getAppId() { return "10xxxx94"; } // SDK 鉴权值。您需要从 GNA 控制台获取 SDK 鉴权值 @Override public String getSecret() { return "tzt3xxxxxxxxxxejs7hhx"; } }
调用 tryInitGameSdk
方法初始化 SDK。
说明
tryInitGameSdk
方法是异步的。GNA SDK 暂时没有为该方法提供回调。因此,我们建议您尽早调用该方法。例如,您可以在 App 冷启动时调用该方法初始化 SDK。
import org.chromium.gsdk.engine.GameSdkClient; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化 GNA SDK GameSdkClient.tryInitGameSdk(new MyGameSdkAdapter(getApplicationContext())); } }