Skip to content

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.** { *; }

版权所有© 2021-2030 上海丞诺网络科技有限公司