Commit b412e139 authored by bixing's avatar bixing

广告id修改为正式

parent 06e61f19
...@@ -52,7 +52,7 @@ android { ...@@ -52,7 +52,7 @@ android {
applicationId "com.ads.cal.picturetranslate" applicationId "com.ads.cal.picturetranslate"
versionName "1.0.0.0" versionName "1.0.0.0"
signingConfig signingConfigs.toolsTest signingConfig signingConfigs.toolsTest
manifestPlaceholders = [google_ad_app_id: "ca-app-pub-3940256099942544~3347511713"] manifestPlaceholders = [google_ad_app_id: "ca-app-pub-9356757350640102~6934070860"]
} }
} }
} }
...@@ -62,6 +62,7 @@ dependencies { ...@@ -62,6 +62,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0' implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.camera:camera-view:1.2.3' implementation 'androidx.camera:camera-view:1.2.3'
implementation 'androidx.lifecycle:lifecycle-process:2.6.2'
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5' androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
...@@ -102,7 +103,7 @@ dependencies { ...@@ -102,7 +103,7 @@ dependencies {
// Add the dependency for the Analytics library // Add the dependency for the Analytics library
// When using the BoM, you don't specify versions in Firebase library dependencies // When using the BoM, you don't specify versions in Firebase library dependencies
// implementation("com.google.firebase:firebase-analytics") // implementation("com.google.firebase:firebase-analytics")
implementation 'com.google.android.gms:play-services-ads:22.4.0' implementation 'com.google.android.gms:play-services-ads:22.5.0'
implementation 'com.google.guava:guava:27.0.1-android' implementation 'com.google.guava:guava:27.0.1-android'
} }
\ No newline at end of file
...@@ -16,7 +16,7 @@ import java.util.Date; ...@@ -16,7 +16,7 @@ import java.util.Date;
public class AppOpenAdManager { public class AppOpenAdManager {
// //
private static final String LOG_TAG = "AppOpenAdManager"; private static final String LOG_TAG = "AppOpenAdManager";
// private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/3419835294"; private static final String AD_UNIT_ID = "ca-app-pub-9356757350640102/9428372261";
private AppOpenAd appOpenAd = null; private AppOpenAd appOpenAd = null;
private boolean isLoadingAd = false; private boolean isLoadingAd = false;
...@@ -63,7 +63,7 @@ public class AppOpenAdManager { ...@@ -63,7 +63,7 @@ public class AppOpenAdManager {
AdRequest request = new AdRequest.Builder().build(); AdRequest request = new AdRequest.Builder().build();
AppOpenAd.load( AppOpenAd.load(
PictureApplication.getApplication(), PictureApplication.getApplication(),
"", AD_UNIT_ID,
request, request,
new AppOpenAd.AppOpenAdLoadCallback() { new AppOpenAd.AppOpenAdLoadCallback() {
/** /**
......
package com.ads.cal.picturetranslate; package com.ads.cal.picturetranslate;
import android.app.Activity;
import android.app.Application; import android.app.Application;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.lifecycle.ProcessLifecycleOwner;
import com.ads.cal.picturetranslate.db.DataBaseManager; import com.ads.cal.picturetranslate.db.DataBaseManager;
import com.google.android.gms.ads.MobileAds; import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus; import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener; import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class PictureApplication extends Application { public class PictureApplication extends Application implements Application.ActivityLifecycleCallbacks, LifecycleObserver {
private static DataBaseManager dataBaseManager; private static DataBaseManager dataBaseManager;
private static Application application; private static Application application;
...@@ -15,13 +24,28 @@ public class PictureApplication extends Application { ...@@ -15,13 +24,28 @@ public class PictureApplication extends Application {
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
this.registerActivityLifecycleCallbacks(this);
application = this; application = this;
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(@NonNull InitializationStatus initializationStatus) {
LogUtils.d("PictureApplication", "initializationStatus "+initializationStatus.toString());
}
});
ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
new Thread(() -> { new Thread(() -> {
PictureTranslateUtils.init(); PictureTranslateUtils.init();
}); });
initDB(); initDB();
} }
@OnLifecycleEvent(Lifecycle.Event.ON_START)
protected void onMoveToForeground() {
// Show the ad (if available) when the app moves to foreground.
AppOpenAdManager.getInstance().showAdIfAvailable(currentActivity);
}
public static Application getApplication() { public static Application getApplication() {
return application; return application;
} }
...@@ -34,4 +58,43 @@ public class PictureApplication extends Application { ...@@ -34,4 +58,43 @@ public class PictureApplication extends Application {
public static DataBaseManager getDataBaseManager() { public static DataBaseManager getDataBaseManager() {
return dataBaseManager; return dataBaseManager;
} }
private Activity currentActivity;
@Override
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {
}
@Override
public void onActivityStarted(@NonNull Activity activity) {
if (!AppOpenAdManager.getInstance().isShowingAd()) {
currentActivity = activity;
}
}
@Override
public void onActivityResumed(@NonNull Activity activity) {
}
@Override
public void onActivityPaused(@NonNull Activity activity) {
}
@Override
public void onActivityStopped(@NonNull Activity activity) {
}
@Override
public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState) {
}
@Override
public void onActivityDestroyed(@NonNull Activity activity) {
}
} }
...@@ -22,6 +22,7 @@ import androidx.camera.core.ExperimentalGetImage; ...@@ -22,6 +22,7 @@ import androidx.camera.core.ExperimentalGetImage;
import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager; import androidx.viewpager.widget.ViewPager;
import com.ads.cal.picturetranslate.AppOpenAdManager;
import com.ads.cal.picturetranslate.PictureTranslateUtils; import com.ads.cal.picturetranslate.PictureTranslateUtils;
import com.ads.cal.picturetranslate.R; import com.ads.cal.picturetranslate.R;
import com.ads.cal.picturetranslate.SharedPreferencesUtil; import com.ads.cal.picturetranslate.SharedPreferencesUtil;
...@@ -78,6 +79,45 @@ public class PictureTranslateStartActivity extends BaseActivity { ...@@ -78,6 +79,45 @@ public class PictureTranslateStartActivity extends BaseActivity {
playBanner(); playBanner();
} }
if (AppOpenAdManager.getInstance().isAdAvailable()) {
showOpenAd();
} else {
loadOpenAd();
}
}
private void showOpenAd() {
handler.removeCallbacksAndMessages(null);
AppOpenAdManager.getInstance().setOnShowAdCompleteListener(new AppOpenAdManager.OnShowAdCompleteListener() {
@Override
public void onShowAdComplete() {
PictureTranslateListMainActivity.PictureTranslateListMainActivityStart(PictureTranslateStartActivity.this);
finish();
}
@Override
public void onShowAdFailed(String errorMsg) {
PictureTranslateListMainActivity.PictureTranslateListMainActivityStart(PictureTranslateStartActivity.this);
finish();
}
});
AppOpenAdManager.getInstance().showAdIfAvailable(this);
}
private void loadOpenAd() {
AppOpenAdManager.getInstance().setOnLoadAdCompleteListener(new AppOpenAdManager.OnLoadAdCompleteListener() {
@Override
public void onLoadAdComplete() {
showOpenAd();
}
@Override
public void onLoadAdFailed(String errorMsg) {
}
});
AppOpenAdManager.getInstance().loadAd();
} }
public void setProgressBarProgress(int i) { public void setProgressBarProgress(int i) {
...@@ -94,6 +134,8 @@ public class PictureTranslateStartActivity extends BaseActivity { ...@@ -94,6 +134,8 @@ public class PictureTranslateStartActivity extends BaseActivity {
@Override @Override
protected void onDestroy() { protected void onDestroy() {
AppOpenAdManager.getInstance().setOnShowAdCompleteListener(null);
AppOpenAdManager.getInstance().setOnLoadAdCompleteListener(null);
super.onDestroy(); super.onDestroy();
if (handler != null) { if (handler != null) {
handler.removeCallbacksAndMessages(null); handler.removeCallbacksAndMessages(null);
...@@ -116,7 +158,7 @@ public class PictureTranslateStartActivity extends BaseActivity { ...@@ -116,7 +158,7 @@ public class PictureTranslateStartActivity extends BaseActivity {
Activity activity = weakReference.get(); Activity activity = weakReference.get();
switch (msg.what) { switch (msg.what) {
case 1: case 1:
sendEmptyMessageDelayed(1, 10); sendEmptyMessageDelayed(1, 50);
if (activity instanceof PictureTranslateStartActivity) { if (activity instanceof PictureTranslateStartActivity) {
((PictureTranslateStartActivity) activity).setProgressBarProgress(i++); ((PictureTranslateStartActivity) activity).setProgressBarProgress(i++);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment