From e81a4b71e992db0817318ba2c5ffa3b1573cc38b Mon Sep 17 00:00:00 2001 From: zhouzhijia Date: Tue, 9 Jul 2024 18:42:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5mbridge=201.0.2(3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 7 +- app/google-services.json | 29 +++ app/proguard-rules.pro | 26 ++- .../main/java/com/exquisite/KeyboardSkin.java | 31 ++- .../com/exquisite/activity/AllActivity.java | 50 +++- .../exquisite/activity/PreviewActivity.java | 44 +++- .../exquisite/activity/SplashActivity.java | 87 ++++++- .../java/com/exquisite/mintegral/ADBean.java | 25 ++ .../com/exquisite/mintegral/MBrManager.java | 213 ++++++++++++++++++ .../com/exquisite/mintegral/Mylistener.java | 5 + .../mintegral/onAdStatusListener.java | 12 + .../mintegral/onBidTokenListener.java | 6 + .../mintegral/onInterHandlerListener.java | 15 ++ settings.gradle.kts | 1 + 14 files changed, 537 insertions(+), 14 deletions(-) create mode 100644 app/google-services.json create mode 100644 app/src/main/java/com/exquisite/mintegral/ADBean.java create mode 100644 app/src/main/java/com/exquisite/mintegral/MBrManager.java create mode 100644 app/src/main/java/com/exquisite/mintegral/Mylistener.java create mode 100644 app/src/main/java/com/exquisite/mintegral/onAdStatusListener.java create mode 100644 app/src/main/java/com/exquisite/mintegral/onBidTokenListener.java create mode 100644 app/src/main/java/com/exquisite/mintegral/onInterHandlerListener.java diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 07ac9d9..a07e460 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -16,8 +16,8 @@ android { applicationId = "com.key.keyboardskins.test" minSdk = 23 targetSdk = 34 - versionCode = 2 - versionName = "1.0.1" + versionCode = 3 + versionName = "1.0.2" setProperty("archivesBaseName", "keyboardskins_V" + versionName + "(${versionCode})_$timestamp") testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } @@ -55,6 +55,7 @@ dependencies { implementation("com.google.firebase:firebase-analytics-ktx") implementation ("com.google.firebase:firebase-crashlytics-ktx") - + implementation("com.mbridge.msdk.oversea:newinterstitial:16.7.51") + implementation ("com.mbridge.msdk.oversea:mbbid:16.7.51") } \ No newline at end of file diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..823f26e --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "792062570245", + "project_id": "keyboard-skins-d06e1", + "storage_bucket": "keyboard-skins-d06e1.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:792062570245:android:5dc674c9f224da7c87116c", + "android_client_info": { + "package_name": "com.key.keyboardskins" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyCYcuE9Leq0YS5dH4yoBbiBAooCO8b7qIw" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 9d9c834..a25233b 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -20,4 +20,28 @@ # hide the original source file name. #-renamesourcefileattribute SourceFile -keep class com.omicronapplications.** { *; } --keep class net.sf.sevenzipjbinding.** { *; } \ No newline at end of file +-keep class net.sf.sevenzipjbinding.** { *; } + +-keepattributes Signature +-keepattributes *Annotation* +-keep class com.mbridge.** {*; } +-keep interface com.mbridge.** {*; } +-dontwarn com.mbridge.** +-keepclassmembers class **.R$* { public static final int mbridge*; } + +-keep public class com.mbridge.* extends androidx.** { *; } +-keep public class androidx.viewpager.widget.PagerAdapter{*;} +-keep public class androidx.viewpager.widget.ViewPager.OnPageChangeListener{*;} +-keep interface androidx.annotation.IntDef{*;} +-keep interface androidx.annotation.Nullable{*;} +-keep interface androidx.annotation.CheckResult{*;} +-keep interface androidx.annotation.NonNull{*;} +-keep public class androidx.fragment.app.Fragment{*;} +-keep public class androidx.core.content.FileProvider{*;} +-keep public class androidx.core.app.NotificationCompat{*;} +-keep public class androidx.appcompat.widget.AppCompatImageView {*;} +-keep public class androidx.recyclerview.*{*;} +-keep class com.mbridge.msdk.foundation.tools.FastKV{*;} +-keep class com.mbridge.msdk.foundation.tools.FastKV$Builder{*;} + + diff --git a/app/src/main/java/com/exquisite/KeyboardSkin.java b/app/src/main/java/com/exquisite/KeyboardSkin.java index 3a63b3d..545ad7d 100644 --- a/app/src/main/java/com/exquisite/KeyboardSkin.java +++ b/app/src/main/java/com/exquisite/KeyboardSkin.java @@ -10,10 +10,15 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager; import com.exquisite.data.Mydata; +import com.exquisite.mintegral.MBrManager; import com.exquisite.tools.Mytools; +import com.mbridge.msdk.MBridgeSDK; +import com.mbridge.msdk.out.MBridgeSDKFactory; +import com.mbridge.msdk.out.SDKInitStatusListener; import java.util.Collections; import java.util.List; +import java.util.Map; public class KeyboardSkin extends Application { public static KeyboardSkin app; @@ -22,17 +27,39 @@ public class KeyboardSkin extends Application { private static final String MAX_SDK = "JE7gVeObwAxnnPBv2tb61lNAIEHd4Udk3kac0g2rNpfhmVP0m6PwUH38KLK7yVPblRTBpgFf8ansDbsMtQJ3mx"; public static final String AD_BROADCAST = "on_success_action"; public static Boolean initSDK = false; - + public static final String Place_1="1628319"; + public static final String AD_2="Keyboard_inter_mintegral_2nd"; + public static final String AD_3="Keyboard_inter_mintegral_3rd"; @Override public void onCreate() { super.onCreate(); context = getApplicationContext(); app = this; // initSDK(); + initSdk(); List myData = Mytools.parseJsonToList("keyboard.json"); myDataArrayList = myData; } + private void initSdk() { + MBridgeSDK sdk = MBridgeSDKFactory.getMBridgeSDK(); + Map map = sdk.getMBConfigurationMap("301174", "8fe84f59b43d24c2aa49154f37e47bae"); + sdk.init(map, this,new SDKInitStatusListener() { + @Override + public void onInitSuccess() { + initSDK = true; + Log.e("SDKInitStatus", "onInitSuccess"); + LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent(AD_BROADCAST)); + } + + @Override + public void onInitFail(String errorMsg) { + Log.e("SDKInitStatusFail", errorMsg); + } + }); + + } + public static Context getAppContext() { return context; } @@ -47,6 +74,8 @@ public class KeyboardSkin extends Application { } + + // private void initSDK() { // AppLovinSdkInitializationConfiguration initConfig = AppLovinSdkInitializationConfiguration.builder(MAX_SDK, this) // .setMediationProvider(AppLovinMediationProvider.MAX) diff --git a/app/src/main/java/com/exquisite/activity/AllActivity.java b/app/src/main/java/com/exquisite/activity/AllActivity.java index a3148d5..c26cc25 100644 --- a/app/src/main/java/com/exquisite/activity/AllActivity.java +++ b/app/src/main/java/com/exquisite/activity/AllActivity.java @@ -17,6 +17,10 @@ import android.widget.LinearLayout; import com.exquisite.fragment.AllFragment; import com.exquisite.demo08.R; +import com.exquisite.mintegral.ADBean; +import com.exquisite.mintegral.MBrManager; +import com.exquisite.mintegral.Mylistener; +import com.exquisite.mintegral.onAdStatusListener; import com.exquisite.tools.Mytools; import java.util.List; @@ -59,10 +63,46 @@ public class AllActivity extends AppCompatActivity implements View.OnClickListen public void onClick(View v) { if (v.getId() == R.id.back) { // showAd(); - finish(); + startShowAd(new Mylistener() { + @Override + public void actuion(boolean go) { + finish(); + } + }); + } } + private void startShowAd(Mylistener mylistener){ + ADBean cache = MBrManager.getCache(); + if(cache == null){ + mylistener.actuion(false); + }else{ + MBrManager.setCallBack(cache.getInterstitialHandler(), new onAdStatusListener() { + @Override + public void onLoaded() { + } + + @Override + public void onLoadFail() { + + } + + @Override + public void onShowFail() { + mylistener.actuion(true); + } + + @Override + public void onClose() { + mylistener.actuion(true); + } + }); + cache.getInterstitialHandler().showFromBid(); + } + + + } // private void showAd() { // MaxInterstitialAd cachedAd = Mytools.onCache(adsList); // if (cachedAd == null) { @@ -85,6 +125,12 @@ public class AllActivity extends AppCompatActivity implements View.OnClickListen @Override public void onBackPressed() { super.onBackPressed(); -// showAd(); + startShowAd(new Mylistener() { + @Override + public void actuion(boolean go) { + + } + }); + } } \ No newline at end of file diff --git a/app/src/main/java/com/exquisite/activity/PreviewActivity.java b/app/src/main/java/com/exquisite/activity/PreviewActivity.java index 25ee94e..6c12249 100644 --- a/app/src/main/java/com/exquisite/activity/PreviewActivity.java +++ b/app/src/main/java/com/exquisite/activity/PreviewActivity.java @@ -33,6 +33,10 @@ import com.exquisite.callback.DownloadCallback; import com.exquisite.callback.UnzipCallback; import com.exquisite.data.StaticValue; import com.exquisite.demo08.R; +import com.exquisite.mintegral.ADBean; +import com.exquisite.mintegral.MBrManager; +import com.exquisite.mintegral.Mylistener; +import com.exquisite.mintegral.onAdStatusListener; import com.exquisite.tools.Mytools; import com.exquisite.tools.SpaceItem; @@ -150,8 +154,13 @@ public class PreviewActivity extends AppCompatActivity implements View.OnClickLi StaticValue.PATH = resDirPath; Toast.makeText(PreviewActivity.this, getString(R.string.set_successful), Toast.LENGTH_SHORT).show(); progressBarDownload.setVisibility(View.GONE); -// showAd(); - finish(); + startShowAd(new Mylistener() { + @Override + public void actuion(boolean go) { + finish(); + } + }); + } }); } @@ -159,6 +168,37 @@ public class PreviewActivity extends AppCompatActivity implements View.OnClickLi } } + private void startShowAd(Mylistener mylistener) { + ADBean cache = MBrManager.getCache(); + if (cache == null) { + mylistener.actuion(false); + } else { + MBrManager.setCallBack(cache.getInterstitialHandler(), new onAdStatusListener() { + @Override + public void onLoaded() { + + } + + @Override + public void onLoadFail() { + + } + + @Override + public void onShowFail() { + mylistener.actuion(true); + } + + @Override + public void onClose() { + mylistener.actuion(true); + } + }); + cache.getInterstitialHandler().showFromBid(); + } + + + } // private void showAd() { // MaxInterstitialAd cachedAd = Mytools.onCache(adsList); // if (cachedAd == null) { diff --git a/app/src/main/java/com/exquisite/activity/SplashActivity.java b/app/src/main/java/com/exquisite/activity/SplashActivity.java index 09cdec0..585aa10 100644 --- a/app/src/main/java/com/exquisite/activity/SplashActivity.java +++ b/app/src/main/java/com/exquisite/activity/SplashActivity.java @@ -17,8 +17,17 @@ import android.os.CountDownTimer; import android.util.Log; import android.view.View; +import com.exquisite.KeyboardSkin; import com.exquisite.demo08.R; +import com.exquisite.mintegral.ADBean; +import com.exquisite.mintegral.MBrManager; +import com.exquisite.mintegral.Mylistener; +import com.exquisite.mintegral.onAdStatusListener; +import com.exquisite.mintegral.onInterHandlerListener; import com.exquisite.tools.Mytools; +import com.mbridge.msdk.mbbid.out.BidListennning; +import com.mbridge.msdk.mbbid.out.BidManager; +import com.mbridge.msdk.mbbid.out.BidResponsed; import java.util.List; @@ -27,7 +36,6 @@ public class SplashActivity extends AppCompatActivity { private boolean needShow = true; private boolean key = true; // private static List adsList; - @SuppressLint("MissingInflatedId") @Override protected void onCreate(Bundle savedInstanceState) { @@ -40,22 +48,91 @@ public class SplashActivity extends AppCompatActivity { v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets; }); - countDownTimer = new CountDownTimer(1000, 100) { + countDownTimer = new CountDownTimer(11000, 100) { @Override public void onTick(long l) { - + if (needShow) { + startShowAd(new Mylistener() { + @Override + public void actuion(boolean go) { + if (go){ + startView(); + } + } + }); + } } @Override public void onFinish() { - startView(); + if (needShow) { + startShowAd(new Mylistener() { + @Override + public void actuion(boolean go) { + startView(); + } + }); + } + } }; - countDownTimer.start(); + starAd(); // initializeCountDownTimer(); // loadAndStartAd(); } + private void startShowAd(Mylistener mylistener){ + ADBean cache = MBrManager.getCache(); + if(cache == null){ + mylistener.actuion(false); + }else{ + needShow = false; + MBrManager.setCallBack(cache.getInterstitialHandler(), new onAdStatusListener() { + @Override + public void onLoaded() { + } + + @Override + public void onLoadFail() { + + } + + @Override + public void onShowFail() { + mylistener.actuion(true); + } + + @Override + public void onClose() { + mylistener.actuion(true); + } + }); + cache.getInterstitialHandler().showFromBid(); + } + + + } + private void starAd() { + if (!KeyboardSkin.initSDK){ + LocalBroadcastManager.getInstance(this).registerReceiver(new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + initAD(); + } + }, new IntentFilter(KeyboardSkin.AD_BROADCAST)); + }else { + initAD(); + } + } + + private void initAD() { + MBrManager.init(this, new onInterHandlerListener() { + @Override + public void onAddOK() { + countDownTimer.start(); + } + }); + } // private void initializeCountDownTimer() { // countDownTimer = new CountDownTimer(1000, 100) { // @Override diff --git a/app/src/main/java/com/exquisite/mintegral/ADBean.java b/app/src/main/java/com/exquisite/mintegral/ADBean.java new file mode 100644 index 0000000..13db5b7 --- /dev/null +++ b/app/src/main/java/com/exquisite/mintegral/ADBean.java @@ -0,0 +1,25 @@ +package com.exquisite.mintegral; + +import com.mbridge.msdk.newinterstitial.out.MBBidNewInterstitialHandler; + +public class ADBean { + + private MBBidNewInterstitialHandler interstitialHandler; + private String token; + + public void setInterstitialHandler(MBBidNewInterstitialHandler interstitialHandler) { + this.interstitialHandler = interstitialHandler; + } + + public void setToken(String token) { + this.token = token; + } + + public MBBidNewInterstitialHandler getInterstitialHandler() { + return interstitialHandler; + } + + public String getToken() { + return token; + } +} diff --git a/app/src/main/java/com/exquisite/mintegral/MBrManager.java b/app/src/main/java/com/exquisite/mintegral/MBrManager.java new file mode 100644 index 0000000..45bb690 --- /dev/null +++ b/app/src/main/java/com/exquisite/mintegral/MBrManager.java @@ -0,0 +1,213 @@ +package com.exquisite.mintegral; + +import android.app.Activity; +import android.util.Log; + +import com.exquisite.KeyboardSkin; +import com.mbridge.msdk.MBridgeConstans; +import com.mbridge.msdk.mbbid.out.BidListennning; +import com.mbridge.msdk.mbbid.out.BidManager; +import com.mbridge.msdk.mbbid.out.BidResponsed; +import com.mbridge.msdk.newinterstitial.out.MBBidNewInterstitialHandler; +import com.mbridge.msdk.newinterstitial.out.NewInterstitialListener; +import com.mbridge.msdk.out.MBridgeIds; +import com.mbridge.msdk.out.RewardInfo; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class MBrManager { + + public static String TAG = "------------ltt"; + + public static String[] placeIDs = new String[]{"1628304", "1628319", "1628321"}; + + public static String[] unitIDs = new String[]{"3491035", "3491052", "3491054"}; + + public static List AdInstances = new ArrayList<>(); + + public static void getToken(String placeId, String unitId, onBidTokenListener listener) { + BidManager manager = new BidManager(placeId, unitId); + manager.setBidListener(new BidListennning() { + @Override + public void onFailed(String s) { + listener.onBidToken(""); + } + + @Override + public void onSuccessed(BidResponsed bidResponsed) { + String mBidToken = bidResponsed.getBidToken(); + listener.onBidToken(mBidToken); + } + }); + manager.bid(); + } + + ; + + public static void init(Activity activity, onInterHandlerListener listener) { + for (int i = 0; i < 3; i++) { + String finalPlaceId = placeIDs[i]; + String unitId = unitIDs[i]; + getToken(finalPlaceId, unitId, new onBidTokenListener() { + @Override + public void onBidToken(String token) { + MBBidNewInterstitialHandler mMBBidNewInterstitialHandler = new MBBidNewInterstitialHandler(KeyboardSkin.getAppContext(), finalPlaceId, unitId); + ADBean adBean = new ADBean(); + Log.d(TAG, "------------token=" + token); + adBean.setToken(token); + adBean.setInterstitialHandler(mMBBidNewInterstitialHandler); + mMBBidNewInterstitialHandler.loadFromBid(token); + AdInstances.add(adBean); + listener.onAddOK(); + + } + }); + } + + } + + public static void loadAllAd() { + if (AdInstances.size() > 0) { + for (ADBean adBean : AdInstances) { + if (!adBean.getInterstitialHandler().isBidReady()) { + adBean.getInterstitialHandler().loadFromBid(adBean.getToken()); + } + } + } + + } + + public static ADBean getCache() { + Collections.shuffle(AdInstances); + for (ADBean adBean : AdInstances) { + if (adBean.getInterstitialHandler().isBidReady()) { + return adBean; + } + } + return null; + } + + + public static void setCallBack(MBBidNewInterstitialHandler mbBidNewInterstitialHandler, onAdStatusListener listener) { + mbBidNewInterstitialHandler.setInterstitialVideoListener(new NewInterstitialListener() { + + @Override + public void onLoadCampaignSuccess(MBridgeIds ids) { + /** + * 广告已填充 + * @param ids 封装的广告id对象 + */ + Log.i(TAG, "onLoadCampaignSuccess: " + Thread.currentThread() + " " + ids.toString()); + } + + @Override + public void onResourceLoadSuccess(MBridgeIds ids) { + /** + * 广告资源加载成功,可以播放 + * @param ids 封装的广告id对象 + */ + Log.i(TAG, "onResourceLoadSuccess: " + Thread.currentThread() + " " + ids.toString()); + listener.onLoaded(); + } + + @Override + public void onResourceLoadFail(MBridgeIds ids, String errorMsg) { + /** + * 广告加载失败 + * @param errorMsg 加载错误原因 + */ + listener.onLoadFail(); + Log.e(TAG, "onResourceLoadFail errorMsg: " + errorMsg + " " + ids.toString()); + } + + @Override + public void onShowFail(MBridgeIds ids, String errorMsg) { + /** + * 广告播放失败 + * @param errorMsg 错误原因 + */ + listener.onShowFail(); + Log.e(TAG, "onShowFail: " + errorMsg + " " + ids.toString()); + } + + @Override + public void onAdShow(MBridgeIds ids) { + /** + * 广告成功展示 + */ + Log.i(TAG, "onAdShow: " + ids.toString()); + } + + @Override + public void onAdClose(MBridgeIds ids, RewardInfo info) { + /** + * 广告关闭时调用 + * @param info.isCompleteView如果为true,则表示已完全观看了视频 + */ + listener.onClose(); + loadAllAd(); + Log.i(TAG, "onAdClose: " + "isCompleteView:" + info.isCompleteView() + " " + ids.toString()); + } + + @Override + public void onAdClicked(MBridgeIds ids) { + /** + * 广告被点击 + * @param 封装的广告id对象 + */ + Log.i(TAG, "onAdClicked: " + ids.toString()); + } + + @Override + public void onVideoComplete(MBridgeIds ids) { + /** + * 广告播放完成时调用 + * @param ids 封装的广告id对象 + */ + Log.i(TAG, "onVideoComplete: " + ids.toString()); + } + + @Override + public void onAdCloseWithNIReward(MBridgeIds ids, RewardInfo info) { + /** + * 如果开发人员设置了IV奖励,则在广告关闭时调用. + * + * @param 封装的广告id对象 + * @param info.isCompleteView() 是否完全观看 + */ + Log.i(TAG, "onAdCloseWithNIReward: " + ids.toString() + " " + info.toString()); + + Log.i(TAG, info.isCompleteView() ? "Video playback/playable is complete." : "Video playback/playable is not complete."); + + int rewardAlertStatus = info.getRewardAlertStatus(); + + if (rewardAlertStatus == MBridgeConstans.IVREWARDALERT_STATUS_NOTSHOWN) { + Log.e(TAG, "The dialog is not show."); + } + + if (rewardAlertStatus == MBridgeConstans.IVREWARDALERT_STATUS_CLICKCONTINUE) { + Log.e(TAG, "The dialog's continue button clicked."); + } + + if (rewardAlertStatus == MBridgeConstans.IVREWARDALERT_STATUS_CLICKCANCEL) { + Log.e(TAG, "The dialog's cancel button clicked."); + } + } + + @Override + public void onEndcardShow(MBridgeIds ids) { + /** + * 展示广告落地页时调用 + * @param ids 封装的广告id对象 + */ + Log.i(TAG, "onEndcardShow: " + ids.toString()); + } + + }); + + } + + +} diff --git a/app/src/main/java/com/exquisite/mintegral/Mylistener.java b/app/src/main/java/com/exquisite/mintegral/Mylistener.java new file mode 100644 index 0000000..4412a3d --- /dev/null +++ b/app/src/main/java/com/exquisite/mintegral/Mylistener.java @@ -0,0 +1,5 @@ +package com.exquisite.mintegral; + +public interface Mylistener { + void actuion(boolean go); +} diff --git a/app/src/main/java/com/exquisite/mintegral/onAdStatusListener.java b/app/src/main/java/com/exquisite/mintegral/onAdStatusListener.java new file mode 100644 index 0000000..5a5261f --- /dev/null +++ b/app/src/main/java/com/exquisite/mintegral/onAdStatusListener.java @@ -0,0 +1,12 @@ +package com.exquisite.mintegral; + +import com.mbridge.msdk.newinterstitial.out.MBBidNewInterstitialHandler; + +public interface onAdStatusListener { + + void onLoaded(); + void onLoadFail(); + void onShowFail(); + + void onClose(); +} diff --git a/app/src/main/java/com/exquisite/mintegral/onBidTokenListener.java b/app/src/main/java/com/exquisite/mintegral/onBidTokenListener.java new file mode 100644 index 0000000..0424afe --- /dev/null +++ b/app/src/main/java/com/exquisite/mintegral/onBidTokenListener.java @@ -0,0 +1,6 @@ +package com.exquisite.mintegral; + +public interface onBidTokenListener { + + void onBidToken(String token); +} diff --git a/app/src/main/java/com/exquisite/mintegral/onInterHandlerListener.java b/app/src/main/java/com/exquisite/mintegral/onInterHandlerListener.java new file mode 100644 index 0000000..e84f170 --- /dev/null +++ b/app/src/main/java/com/exquisite/mintegral/onInterHandlerListener.java @@ -0,0 +1,15 @@ +package com.exquisite.mintegral; + +import com.mbridge.msdk.newinterstitial.out.MBBidNewInterstitialHandler; + +public interface onInterHandlerListener { + + void onAddOK(); + + +// void onLoaded(); +// void onLoadFail(); +// void onShowFail(); +// +// void onClose(); +} diff --git a/settings.gradle.kts b/settings.gradle.kts index 4afeb75..5f8f7b0 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -12,6 +12,7 @@ dependencyResolutionManagement { google() mavenCentral() maven("https://jitpack.io") + maven{url = uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea")} } }