SdkProject/channel/qkbt3game/java/com/secondworld/sdk/BtGamePlatform.java
@@ -6,4 +6,14 @@ public String platformName() { return "quick"; } @Override public String platformProductCode() { return "40450025922275820036898902533267"; } @Override public String platformProductKey() { return "31232581"; } } SdkProject/channel/qkbt4game/AndroidManifest.xml
New file @@ -0,0 +1,45 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.secondworld.sdk"> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <application android:name=".BtGameApp" android:allowBackup="true" android:usesCleartextTraffic="true" tools:replace="android:name"> <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" /> <meta-data android:name="channelID" android:value="quicksdk_channel"/> <activity android:name="com.secondworld.sdk.SplashActivity" android:screenOrientation="sensorLandscape"> </activity> <provider android:name="android.support.v4.content.FileProvider" android:authorities="quicksdk_packName.Provider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/filepaths" /> </provider> </application> </manifest> SdkProject/channel/qkbt4game/build.gradle
New file @@ -0,0 +1,4 @@ //当前脚本为渠道的差异化配置 dependencies { // implementation project(path: ':quick') } SdkProject/channel/qkbt4game/config.properties
New file @@ -0,0 +1 @@ PLUGINS=quick SdkProject/channel/qkbt4game/deps.gradle
New file @@ -0,0 +1 @@ //此脚本为渠道的第三方远程依赖库配置,会复制到unity中用于构建 SdkProject/channel/qkbt4game/java/com/secondworld/sdk/BtGameApp.java
New file @@ -0,0 +1,21 @@ package com.secondworld.sdk; public class BtGameApp extends QuickApp { @Override public void onCreate() { super.onCreate(); //QuickSdkMgr.I.register("40450025922275820036898902533267","31232581"); } @Override protected PlatformDiff getPlatform() { return new BtGamePlatform(); } @Override protected Class<? extends GameActivityProxy> getMainProxy() { return BtGameMain.class; } } SdkProject/channel/qkbt4game/java/com/secondworld/sdk/BtGameMain.java
New file @@ -0,0 +1,90 @@ package com.secondworld.sdk; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.support.annotation.NonNull; import android.view.KeyEvent; import com.quicksdk.QuickSDK; import com.quicksdk.Sdk; public class BtGameMain extends GameActivityProxy { @Override public void onCreate(Activity activity) { super.onCreate(activity); QuickSdkMgr.I.requestPermissions(activity); //QuickSdkMgr.I.init(activity); com.quicksdk.Sdk.getInstance().onCreate(activity); } @Override public void onStart() { super.onStart(); com.quicksdk.Sdk.getInstance().onStart(activity); } @Override public void onRestart() { super.onRestart(); com.quicksdk.Sdk.getInstance().onRestart(activity); } @Override public void onResume() { super.onResume(); com.quicksdk.Sdk.getInstance().onResume(activity); } @Override public void onStop() { super.onStop(); com.quicksdk.Sdk.getInstance().onStop(activity); } @Override public void onDestroy() { super.onDestroy(); com.quicksdk.Sdk.getInstance().onDestroy(activity); } @Override public void onNewIntent(Intent intent) { super.onNewIntent(intent); com.quicksdk.Sdk.getInstance().onNewIntent(intent); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); QuickSdkMgr.I.onActivityResult(activity, requestCode); com.quicksdk.Sdk.getInstance().onActivityResult(activity, requestCode, resultCode, data); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); QuickSdkMgr.I.onRequestPermissionsResult(activity, requestCode, grantResults); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if (QuickSDK.getInstance().isShowExitDialog()) { Sdk.getInstance().exit(activity); } else { // 游戏调用自身的退出对话框,点击确定后,调用quick的exit接口 new AlertDialog.Builder(activity).setTitle("退出").setMessage("是否退出游戏?").setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { Sdk.getInstance().exit(activity); } }).setNegativeButton("取消", null).show(); } return true; } return super.onKeyDown(keyCode, event); } } SdkProject/channel/qkbt4game/java/com/secondworld/sdk/BtGamePlatform.java
New file @@ -0,0 +1,19 @@ package com.secondworld.sdk; public class BtGamePlatform extends PlatformDiff { @Override public String platformName() { return "quick"; } @Override public String platformProductCode() { return "68259452241456606240784233178485"; } @Override public String platformProductKey() { return "21025647"; } } SdkProject/gradle.properties
@@ -18,4 +18,4 @@ ## Automatically convert third-party libraries to use AndroidX android.enableJetifier=false #当前构建的渠道名称 CHANNEL_NAME=qkbt3game CHANNEL_NAME=qkbt4game SdkProject/library/src/main/java/com/secondworld/sdk/PlatformDiff.java
@@ -6,5 +6,7 @@ //平台名称 public abstract String platformName(); public abstract String platformProductCode(); public abstract String platformProductKey(); } SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java
@@ -33,6 +33,7 @@ import com.secondworld.sdk.utils.LogUtil; import com.secondworld.sdk.utils.RequestCode; import com.unity3d.player.UnityPlayer; import com.secondworld.sdk.PlatformDiff; import org.json.JSONException; import org.json.JSONObject; @@ -61,7 +62,7 @@ ActivityCompat.requestPermissions(activity, new String[]{ Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, RequestCode.QUICK); } else { QuickSdkMgr.I.register("40450025922275820036898902533267","31232581"); QuickSdkMgr.I.register(PlatformDiff.I.platformProductCode(), PlatformDiff.I.platformProductKey()); QuickSdkMgr.I.init(activity); } } catch (Exception e) { @@ -75,7 +76,7 @@ if (requestCode != RequestCode.QUICK) return; if (hasPermissions(activity)) { //申请成功 QuickSdkMgr.I.register("40450025922275820036898902533267","31232581"); QuickSdkMgr.I.register(PlatformDiff.I.platformProductCode(), PlatformDiff.I.platformProductKey()); QuickSdkMgr.I.init(activity); return; }