更新日期:2026-04-10海外版Android接入文档
注意:Facebook SDK 升级到v13.0.0版本,需要配置facebook_client_token参数
在AndroidManifest文件中添加:
在res/values/strings.xml中添加:
replace your client token
facebook_client_token的值在facebook后台:设置(Settings) --> 高级(Advanced) --> 安全(Security) --> 客户端口令(Client token)中获取:

1.1.开发工具:Android Studio
classpath 'com.android.tools.build:gradle:3.3.3'
因Android 11新特性需要,android gradle插件需要升级至对应版本的最新版本

1.3.gradle.properties配置AndroidX
android.useAndroidX=true android.enableJetifier=true
1.4.minSdkVersion 版本最低为16,targetSdkVersion根据Google Play的要求设置
repositories {
flatDir {
dirs 'libs' // aar文件目录
}
}
dependencies {
//以下为必需依赖的库
implementation(name: 'quickgame_hw_x.x.x', ext: 'aar') //x.x.x为具体版本
implementation 'com.android.billingclient:billing:7.0.0'//google内购
implementation 'androidx.appcompat:appcompat:1.6.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.4.10"
//以下为选接库,x.x.x为具体版本,以SDK资源里的对接文档为准
implementation 'com.google.android.gms:play-services-auth:x.x.x' //谷歌登录
implementation 'com.google.android.gms:play-services-ads-identifier:x.x.x' // adid获取
implementation 'com.facebook.android:facebook-android-sdk:x.x.x' //Facebook
implementation 'com.appsflyer:af-android-sdk:x.x.x' //appsflyer
implementation 'com.adjust.sdk:adjust-android:x.x.x' //adjust
implementation 'com.android.installreferrer:installreferrer:x.x.x' //appsflyer、adjust需要
implementation 'com.twitter.sdk.android:twitter:x.x.x'//Twitter登录
implementation (name: 'line_sdk_x.x.x',ext: 'aar')//Line登录
implementation files('libs/libTapDB-x.x.x.aar') //tapdb
implementation files('libs/TalkingData_GP_GameAnalytics_Vx.x.x.jar') //TalkingData
}
在application节点下配置
谷歌登录配置(按需配置)
<
meta-data
android:name="google-signin-client_id"
android:value="替换为google后台申请的clientid"/>
注:Google后台有android client 和 web client 两种,这里使用的是web client id,需跟运营人员确认清楚
AppsFlyer配置(按需配置)
<
meta-data
android:name="DEV_KEY"
android:value="替换为在AppsFlyer后台申请的Dev_Key" />
Adjust配置(按需配置)
<
meta-data
android:name="adjust.Token"
android:value="替换成adjust_token"/>
<
meta-data
android:name="adjust.Debug"
android:value="1:沙盒;0:正式"/>
<
meta-data
android:name="adj_login_token"
android:value="替换成登录事件的token" />
<
meta-data
android:name="adj_complete_registration_token"
android:value="替换成注册事件的token" />
<
meta-data
android:name="adj_purchase_token"
android:value="替换成google内购事件的token" />
Facebook配置(按需配置)
TalkingData配置(按需配置)
游戏的Application继承com.quickgame.android.sdk.QuickSdkApplication
<
meta-data
android:name="TD_AppID"
android:value="替换成TD_appid"/>
TapDB配置(按需配置)
<
meta-data
android:name="tapdb_appid"
android:value="替换成tapdb_appid"/>
<
meta-data
android:name="tapdb_channel"
android:value="替换成app当前渠道名"/>
Twitter配置(按需配置)
<
meta-data
android:name="TWITTER_KEY"
android:value="替换成Twitter的API key"/>
<
meta-data
android:name="TWITTER_SECRET"
android:value="替换成Twitter的API secret key"/>
Line登录配置(按需配置)

QuickGameManager sdkInstance = QuickGameManager.getInstance();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sdkInstance.onCreate(this);
}
@Override
protected void onStart() {
super.onStart();
sdkInstance.onStart(this);
}
@Override
protected void onResume() {
super.onResume();
sdkInstance.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
sdkInstance.onPause(this);
}
@Override
protected void onStop() {
super.onStop();
sdkInstance.onStop(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
sdkInstance.onDestroy(this);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
sdkInstance.onActivityResult(requestCode,resultCode,data);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
sdkInstance.onRequestPermissionsResult(requestCode,permissions,grantResults);
}
调用方法:
public void init(Activity activity,String productCode,QuickGameManager.SDKCallback sdkCallback)
productCode 是在Quick后台创建的应用的ProductCode
sdkInstance.init(this, "quick后台创建产品的ProdectCode", new QuickGameManager.SDKCallback() {
@Override
public void onInitFinished(boolean isSuccess,String error){
if (isSuccess) {
//初始化成功
} else {
Toast.makeText(GameActivity.this, "初始化失败", Toast.LENGTH_LONG).show();
}
}
@Override
public void onLoginFinished(QGUserData userInfo, QGUserHolder loginState) {
//登录成功
if (loginState.getStateCode() == QGUserHolder.LOGIN_SUCCESS) {
String uid = userInfo.getUid(); //作为唯一标示
String token = userInfo.getToken();
//判断登录方式: 6:Facebook,8:Google,9:Naver,10:Twitter,11:Line,12:迁移码,14:VK
String logintype = userInfo.getOpenType();
boolean isGuest = userInfo.isGuest(); //判断是否为游客
} else if (loginState.getStateCode() == QGUserHolder.LOGIN_CANCEL) {
Toast.makeText(GameActivity.this, "登录取消", Toast.LENGTH_LONG).show();
} else if (loginState.getStateCode() == QGUserHolder.LOGIN_FAILED) {
Toast.makeText(GameActivity.this, "登录失败", Toast.LENGTH_LONG).show();
}
}
@Override
public void onLogout() {
//注销账号成功,注销账号成功后,游戏应从游戏的界面退回到登录界面中
}
@Override
public void onGooglePlaySub(String productId, String sdkOrder, boolean isAutoRenewing, boolean isAcknowledged) {
//游戏内没有Google订阅类商品可忽略该回调
Log.d("", "商品id=" + productId + "&&sdkOrder=" + sdkOrder + "&&是否自动续订=" + isAutoRenewing + "&&是否确认" + isAcknowledged);
}
});
调用方法:
public void login(Activity activity)
示例:
sdkInstance.login(this);
如需要显示悬浮窗可以在登录状态下调用,同时sdk后台要打开截图的配置
//显示悬浮窗 public void showFloatView(Activity activity) //关闭悬浮窗 public void closeFloatView(Activity activity)
调用方法:
public void logout(Activity activity)
示例:
sdkInstance.logout(this);
调用方法:
public void pay(Activity activity,QGOrderInfo orderInfo,QGRoleInfo roleInfo,QGPaymentCallback paymentCallback);
orderInfo 是订单信息
orderInfo.setGoodsId() 传入的商品id是Google Play后台配置商品id
QGOrderInfo 方法说明
方法
必填
说明
setProductOrderId
是
游戏生成的订单唯一标识
setGoodsId