mirror of
https://github.com/TonyJiangWJ/Auto.js.git
synced 2026-06-21 21:01:43 +08:00
add: google admob ads for testing
This commit is contained in:
parent
64c7152736
commit
b81db30f3f
@ -147,4 +147,5 @@ dependencies {
|
||||
compile project(':automator')
|
||||
compile project(':common')
|
||||
compile project(':autojs')
|
||||
implementation 'com.google.android.gms:play-services-ads:11.8.0'
|
||||
}
|
||||
@ -3,6 +3,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.stardust.scriptdroid">
|
||||
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
@ -25,6 +26,7 @@
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
tools:replace="android:label, android:icon, android:allowBackup">
|
||||
|
||||
<activity
|
||||
android:name=".ui.splash.SplashActivity_"
|
||||
android:hardwareAccelerated="true"
|
||||
|
||||
@ -10,6 +10,7 @@ import android.widget.ImageView;
|
||||
import com.bumptech.glide.request.target.SimpleTarget;
|
||||
import com.bumptech.glide.request.transition.Transition;
|
||||
import com.flurry.android.FlurryAgent;
|
||||
import com.google.android.gms.ads.MobileAds;
|
||||
import com.raizlabs.android.dbflow.config.DatabaseConfig;
|
||||
import com.raizlabs.android.dbflow.config.FlowConfig;
|
||||
import com.raizlabs.android.dbflow.config.FlowManager;
|
||||
@ -81,6 +82,7 @@ public class App extends MultiDexApplication {
|
||||
}
|
||||
setupDrawableImageLoader();
|
||||
TimedTaskScheduler.setupRepeating(this);
|
||||
MobileAds.initialize(this, Constants.ADMOB_APP_ID);
|
||||
}
|
||||
|
||||
private void setupDrawableImageLoader() {
|
||||
|
||||
@ -5,6 +5,14 @@ package com.stardust.scriptdroid;
|
||||
*/
|
||||
|
||||
public final class Constants {
|
||||
public static final String APP_ID = "1105513627";
|
||||
public static final String SPLASH_POS_ID = "3050728349211259";
|
||||
|
||||
public static final String LOG_TAG_ADMOB = "Admob";
|
||||
public static final String ADMOB_APP_ID = "ca-app-pub-5495978608535144~9896346219";
|
||||
public static final String ADMOB_SPLASH_BANNER_ID = "ca-app-pub-5495978608535144/3281269730";
|
||||
|
||||
public static final String ADMOB_INTERSTITIAL_ID = "ca-app-pub-5495978608535144/7282625313";
|
||||
public static final String ADMOB_APK_BUILDER_REWARD_ID = "ca-app-pub-5495978608535144/2977306962";
|
||||
public static final String ADMOB_BANNER_TEST_ID = "ca-app-pub-3940256099942544/6300978111";
|
||||
public static final String ADMOB_INTERSTITIAL_TEST_ID = "ca-app-pub-3940256099942544/1033173712";
|
||||
public static final String ADMOB_REWARD_VIDEO_TEST_ID = "ca-app-pub-3940256099942544/5224354917";
|
||||
}
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
package com.stardust.scriptdroid.ui.build;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.design.widget.TextInputEditText;
|
||||
import android.support.design.widget.TextInputLayout;
|
||||
import android.text.TextUtils;
|
||||
@ -13,8 +16,15 @@ import android.widget.ImageView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.afollestad.materialdialogs.MaterialDialog;
|
||||
import com.google.android.gms.ads.AdRequest;
|
||||
import com.google.android.gms.ads.AdSize;
|
||||
import com.google.android.gms.ads.MobileAds;
|
||||
import com.google.android.gms.ads.reward.RewardItem;
|
||||
import com.google.android.gms.ads.reward.RewardedVideoAd;
|
||||
import com.google.android.gms.ads.reward.RewardedVideoAdListener;
|
||||
import com.stardust.autojs.project.ProjectConfig;
|
||||
import com.stardust.scriptdroid.BuildConfig;
|
||||
import com.stardust.scriptdroid.Constants;
|
||||
import com.stardust.scriptdroid.R;
|
||||
import com.stardust.scriptdroid.autojs.build.AutoJsApkBuilder;
|
||||
import com.stardust.scriptdroid.build.ApkBuilderPluginHelper;
|
||||
@ -46,7 +56,7 @@ import io.reactivex.schedulers.Schedulers;
|
||||
* Created by Stardust on 2017/10/22.
|
||||
*/
|
||||
@EActivity(R.layout.activity_build)
|
||||
public class BuildActivity extends BaseActivity implements AutoJsApkBuilder.ProgressCallback {
|
||||
public class BuildActivity extends BaseActivity implements AutoJsApkBuilder.ProgressCallback, RewardedVideoAdListener {
|
||||
|
||||
public static final String EXTRA_SOURCE_FILE = BuildActivity.class.getName() + ".extra_source_file";
|
||||
|
||||
@ -75,6 +85,14 @@ public class BuildActivity extends BaseActivity implements AutoJsApkBuilder.Prog
|
||||
|
||||
private MaterialDialog mProgressDialog;
|
||||
private boolean mIsDefaultIcon = true;
|
||||
private RewardedVideoAd mRewardedVideoAd;
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
|
||||
mRewardedVideoAd.setRewardedVideoAdListener(this);
|
||||
}
|
||||
|
||||
@AfterViews
|
||||
void setupViews() {
|
||||
@ -83,9 +101,17 @@ public class BuildActivity extends BaseActivity implements AutoJsApkBuilder.Prog
|
||||
if (sourcePath != null) {
|
||||
setupWithSourceFile(new ScriptFile(sourcePath));
|
||||
}
|
||||
|
||||
loadRewardedVideoAd();
|
||||
checkApkBuilderPlugin();
|
||||
}
|
||||
|
||||
private void loadRewardedVideoAd() {
|
||||
mRewardedVideoAd.loadAd(BuildConfig.DEBUG ? Constants.ADMOB_REWARD_VIDEO_TEST_ID :
|
||||
Constants.ADMOB_APK_BUILDER_REWARD_ID,
|
||||
new AdRequest.Builder().build());
|
||||
}
|
||||
|
||||
private void checkApkBuilderPlugin() {
|
||||
if (!ApkBuilderPluginHelper.isPluginAvailable(this)) {
|
||||
showPluginDownloadDialog(R.string.no_apk_builder_plugin, true);
|
||||
@ -213,6 +239,7 @@ public class BuildActivity extends BaseActivity implements AutoJsApkBuilder.Prog
|
||||
return false;
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
private void doBuildingApk() {
|
||||
String jsPath = mSourcePath.getText().toString();
|
||||
String versionName = mVersionName.getText().toString();
|
||||
@ -301,6 +328,7 @@ public class BuildActivity extends BaseActivity implements AutoJsApkBuilder.Prog
|
||||
mProgressDialog.setContent(R.string.apk_builder_clean);
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (resultCode != RESULT_OK) {
|
||||
@ -329,4 +357,62 @@ public class BuildActivity extends BaseActivity implements AutoJsApkBuilder.Prog
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
mRewardedVideoAd.pause(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
mRewardedVideoAd.resume(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
mRewardedVideoAd.destroy(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRewardedVideoAdLoaded() {
|
||||
mRewardedVideoAd.show();
|
||||
Log.d(Constants.LOG_TAG_ADMOB, "onRewardedVideoAdLoaded");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRewardedVideoAdOpened() {
|
||||
Log.d(Constants.LOG_TAG_ADMOB, "onRewardedVideoAdLoaded");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRewardedVideoStarted() {
|
||||
Log.d(Constants.LOG_TAG_ADMOB, "onRewardedVideoAdLoaded");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRewardedVideoAdClosed() {
|
||||
Log.d(Constants.LOG_TAG_ADMOB, "onRewardedVideoAdLoaded");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRewarded(RewardItem rewardItem) {
|
||||
Log.d(Constants.LOG_TAG_ADMOB, "onRewarded: type=" + rewardItem.getType() + ", amount=" + rewardItem.getAmount());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRewardedVideoAdLeftApplication() {
|
||||
Log.d(Constants.LOG_TAG_ADMOB, "onRewardedVideoAdLeftApplication");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRewardedVideoAdFailedToLoad(int i) {
|
||||
Log.d(Constants.LOG_TAG_ADMOB, "onRewardedVideoAdFailedToLoad: " + i);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,17 +3,26 @@ package com.stardust.scriptdroid.ui.splash;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.android.gms.ads.AdListener;
|
||||
import com.google.android.gms.ads.AdRequest;
|
||||
import com.google.android.gms.ads.AdSize;
|
||||
import com.google.android.gms.ads.AdView;
|
||||
import com.google.android.gms.ads.InterstitialAd;
|
||||
import com.stardust.scriptdroid.BuildConfig;
|
||||
import com.stardust.scriptdroid.Constants;
|
||||
import com.stardust.scriptdroid.Pref;
|
||||
import com.stardust.scriptdroid.R;
|
||||
import com.stardust.scriptdroid.ui.BaseActivity;
|
||||
import com.stardust.scriptdroid.ui.main.MainActivity_;
|
||||
|
||||
import org.androidannotations.annotations.AfterViews;
|
||||
import org.androidannotations.annotations.Click;
|
||||
import org.androidannotations.annotations.EActivity;
|
||||
import org.androidannotations.annotations.ViewById;
|
||||
|
||||
@ -38,11 +47,13 @@ public class SplashActivity extends BaseActivity {
|
||||
View mAdContainer;
|
||||
|
||||
@ViewById(R.id.ad)
|
||||
FrameLayout mAd;
|
||||
AdView mAd;
|
||||
|
||||
private boolean mCanEnterNextActivity = false;
|
||||
private boolean mNotStartMainActivity;
|
||||
|
||||
private InterstitialAd mInterstitialAd;
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@ -58,6 +69,11 @@ public class SplashActivity extends BaseActivity {
|
||||
fetchSplashAD();
|
||||
}
|
||||
|
||||
@Click(R.id.skip_view)
|
||||
void skip() {
|
||||
enterNextActivity();
|
||||
}
|
||||
|
||||
void enterNextActivity() {
|
||||
if (!mNotStartMainActivity)
|
||||
MainActivity_.intent(this).start();
|
||||
@ -90,6 +106,48 @@ public class SplashActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
private void fetchSplashAD() {
|
||||
enterNextActivity();
|
||||
mInterstitialAd = new InterstitialAd(this);
|
||||
mInterstitialAd.setAdUnitId(BuildConfig.DEBUG ? Constants.ADMOB_INTERSTITIAL_TEST_ID : Constants.ADMOB_INTERSTITIAL_ID);
|
||||
mInterstitialAd.setAdListener(new AdListener() {
|
||||
@Override
|
||||
public void onAdLoaded() {
|
||||
mInterstitialAd.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdFailedToLoad(int i) {
|
||||
Log.d(Constants.LOG_TAG_ADMOB, "Fail to load interstitial ad: " + i);
|
||||
}
|
||||
|
||||
});
|
||||
mInterstitialAd.loadAd(new AdRequest.Builder()
|
||||
.build());
|
||||
mAd.setAdListener(new AdListener() {
|
||||
|
||||
@Override
|
||||
public void onAdClicked() {
|
||||
enterNextActivity();
|
||||
Log.d(Constants.LOG_TAG_ADMOB, "Ad clicked");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdFailedToLoad(int i) {
|
||||
Log.d(Constants.LOG_TAG_ADMOB, "Fail to load banner ad: " + i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdClosed() {
|
||||
enterNextActivity();
|
||||
}
|
||||
});
|
||||
if (BuildConfig.DEBUG) {
|
||||
mAd.loadAd(new AdRequest.Builder()
|
||||
.addTestDevice("774E105820188FA387B617ECD279B167")
|
||||
.build());
|
||||
} else {
|
||||
mAd.loadAd(new AdRequest.Builder()
|
||||
.build());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,11 +14,17 @@
|
||||
android:layout_weight="1">
|
||||
|
||||
|
||||
<FrameLayout
|
||||
<com.google.android.gms.ads.AdView
|
||||
xmlns:ads="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/ad"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:animateLayoutChanges="true"/>
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_centerHorizontal="true"
|
||||
ads:adSize="FLUID"
|
||||
ads:adUnitId="ca-app-pub-5495978608535144/3281269730">
|
||||
</com.google.android.gms.ads.AdView>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/skip_view"
|
||||
@ -30,11 +36,10 @@
|
||||
android:layout_marginTop="20dp"
|
||||
android:background="@drawable/skip_circle_bg"
|
||||
android:gravity="center"
|
||||
android:padding="8dp"
|
||||
android:text="@string/text_skip"
|
||||
android:textColor="#ddffffff"
|
||||
android:textSize="14sp"
|
||||
android:visibility="invisible"
|
||||
tools:text="跳过 4"
|
||||
tools:visibility="visible"/>
|
||||
android:textSize="14sp"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
@ -355,4 +355,5 @@
|
||||
<string name="text_inspect_layout_hierarchy">布局层次分析</string>
|
||||
<string name="text_inspect_layout">布局分析</string>
|
||||
<string name="text_pointer_location">指针位置[Root]</string>
|
||||
<string name="text_skip">跳过</string>
|
||||
</resources>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user