Appearance
Android接入配置
WARNING
在接入SDK之前, 建议先请仔细阅读:接入流程
添加依赖和参数
1、添加依赖jar包
将 U8SDKDemo/libs下面所有jar/aar包放到游戏接入工程中的libs目录下;如果是用androidstudio,请在build.gradle文件中,增加这里所有jar/aar包的依赖。
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
2、添加配置文件
将U8SDKDemo/src/main/assets目录下的所有文件(包括u8_developer_config.properties和u8_plugin_config.xml等文件),拷贝到游戏工程的assets目录下。
按说明修改u8_developer_config.properties中的参数。 如果你不知道如何获取这些参数,请参考文档: 获取参数。
U8_APPID: U8SDK后台管理-》游戏管理中创建游戏之后,生成的AppID参数
U8_APPKEY:U8SDK后台管理-》游戏管理中创建游戏之后,生成的AppKey参数
U8_Channel:U8SDK管理后台-》渠道管理中创建渠道(母包测试渠道,渠道商选择【U8测试平台】)之后,生成的渠道号参数
配置Application
1、方案一
如果游戏层没有自己的Application,那么游戏需要将AndroidManifest.xml中的application指定为 com.u8.sdk.U8Application。
xml
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:name="com.u8.sdk.U8Application"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
</application>
2、方案二
如果游戏有自己的Application, 则可以直接继承com.u8.sdk.U8Application类, 比如:
java
public class GameApplication extends U8Application{
public void onCreate(){
super.onCreate();
}
public void attachBaseContext(Context base){
super.attachBaseContext(base);
}
public void onConfigurationChanged(Configuration config){
super.onConfigurationChanged(config);
}
public void onTerminate(){
super.onTerminate();
}
}
3、方案三
如果游戏自己已经继承了其他Application, 无法再继承U8Application, 那么可以在游戏的Application中,直接调用U8SDK的application接口:
java
public class GameOtherApplication extends Application {
public void onCreate(){
super.onCreate();
U8SDK.getInstance().onAppCreate(this);
}
public void attachBaseContext(Context base){
super.attachBaseContext(base);
U8SDK.getInstance().onAppAttachBaseContext(this, base);
}
public void onConfigurationChanged(Configuration config){
super.onConfigurationChanged(config);
U8SDK.getInstance().onAppConfigurationChanged(this, config);
}
public void onTerminate(){
super.onTerminate();
U8SDK.getInstance().onTerminate();
}
}
生命周期函数
游戏需要在主Activity的生命周期函数中, 调用U8聚合SDK的生命周期函数:
点击查看代码
java
public void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
U8SDK.getInstance().onActivityResult(requestCode, resultCode, data);
}
public void onStart(){
super.onStart();
U8SDK.getInstance().onStart();
}
public void onPause(){
super.onPause();
U8SDK.getInstance().onPause();
}
public void onResume(){
super.onResume();
U8SDK.getInstance().onResume();
}
public void onNewIntent(Intent newIntent){
super.onNewIntent(newIntent);
U8SDK.getInstance().onNewIntent(newIntent);
}
public void onStop(){
super.onStop();
U8SDK.getInstance().onStop();
}
public void onDestroy(){
super.onDestroy();
U8SDK.getInstance().onDestroy();
}
public void onRestart(){
super.onRestart();
U8SDK.getInstance().onRestart();
}
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
}
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults){
U8SDK.getInstance().onRequestPermissionResult(requestCode, permissions, grantResults);
}
配置混淆
如果游戏工程开启了混淆, 请在混淆规则中增加如下规则:
-keep class com.u8.sdk.** { *; }