添加TopOn广告版本V1.3(4)

This commit is contained in:
denghaina 2024-07-31 09:47:54 +08:00
parent 9fc3a53fe1
commit 865de17436
16 changed files with 229 additions and 136 deletions

View File

@ -5,6 +5,8 @@ plugins {
alias(libs.plugins.android.application)
id("org.jetbrains.kotlin.android")
id ("kotlin-kapt")
id("com.google.gms.google-services")
id("com.google.firebase.crashlytics")
}
val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date())
android {
@ -15,8 +17,8 @@ android {
applicationId = "com.wp.pretty.wallpapers.selection"
minSdk = 23
targetSdk = 34
versionCode = 3
versionName = "1.2"
versionCode = 4
versionName = "1.3"
setProperty("archivesBaseName", "Prettywallpapers_v" + versionName + "(${versionCode})_$timestamp")
@ -54,6 +56,10 @@ dependencies {
implementation ("io.github.youth5201314:banner:2.2.2")
implementation ("com.github.bumptech.glide:glide:4.12.0")//添加网络图片
implementation(platform("com.google.firebase:firebase-bom:32.3.1"))
implementation("com.google.firebase:firebase-analytics-ktx")
implementation("com.google.firebase:firebase-crashlytics-ktx")
val room_version = "2.6.1"
implementation("androidx.room:room-runtime:$room_version")
annotationProcessor("androidx.room:room-compiler:$room_version")

View File

@ -808,59 +808,6 @@
}
]
},
{
"name": "cute",
"list": [
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/24281fc765fce9da4c3d9d86e1e9ccf3.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6af1ac41c0bda2023d5b8268b7e1295b.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8b226912c3d378bab354b54d936d1750.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f0b2ca838271879067167fb1e1008253.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c5f5f6bb19c8f2544b16257faa89b5ce.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e4b5929651e8c3e6e93b4ce1ced7038c.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/da8a06281bc51b91973f27f70e44fe07.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/24e865884c6a4c6de18da2ba437604ef.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/820dbda148cb9fa49bfad17ac2d97c83.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1014b0d7339fa900038831b0e7eeba2d.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d0099cf6e53cb3856a7853892d633b84.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cd34b1d80f68ea8d551a46b00b859643.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b2906c0930d922b0dfbd2f0016f4a1ea.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0232278e0c136a9742c41ca66ce54bbe.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4e7a1b1ed3bcf5953a7d69b6c8b4d1b4.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8b47b25e43ff2d010c9a030351387558.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cc012cb9ac44034c9435a6ee391712d3.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/98546f85441661c87ff8b0d21293f73c.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/88e64d9c2ee5f11771b65623d2947065.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1b10a1b75057cda81f26654161d5ae1c.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8cad4b00392cc69f8436083ac4687551.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/758a4af001554c71cf4d63e70c8878a7.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d5d39cc3011fc72b50bb6222c17974f3.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f131c7e334156fb1135ad92027de754d.jpeg"
}
]
},
{
"name": "beautiful",
"list": [
@ -968,7 +915,7 @@
]
},
{
"name": "quotes",
"name": "Words",
"list": [
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ffdee201ab115879fd038a7f529d7d2c.jpeg",
@ -1341,6 +1288,54 @@
{
"name": "colorful",
"list": [
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/24281fc765fce9da4c3d9d86e1e9ccf3.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6af1ac41c0bda2023d5b8268b7e1295b.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8b226912c3d378bab354b54d936d1750.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f0b2ca838271879067167fb1e1008253.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c5f5f6bb19c8f2544b16257faa89b5ce.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e4b5929651e8c3e6e93b4ce1ced7038c.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/da8a06281bc51b91973f27f70e44fe07.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/24e865884c6a4c6de18da2ba437604ef.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/820dbda148cb9fa49bfad17ac2d97c83.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1014b0d7339fa900038831b0e7eeba2d.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d0099cf6e53cb3856a7853892d633b84.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cd34b1d80f68ea8d551a46b00b859643.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b2906c0930d922b0dfbd2f0016f4a1ea.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0232278e0c136a9742c41ca66ce54bbe.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4e7a1b1ed3bcf5953a7d69b6c8b4d1b4.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8b47b25e43ff2d010c9a030351387558.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cc012cb9ac44034c9435a6ee391712d3.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/98546f85441661c87ff8b0d21293f73c.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/88e64d9c2ee5f11771b65623d2947065.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1b10a1b75057cda81f26654161d5ae1c.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8cad4b00392cc69f8436083ac4687551.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/758a4af001554c71cf4d63e70c8878a7.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d5d39cc3011fc72b50bb6222c17974f3.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f131c7e334156fb1135ad92027de754d.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/668845fe70cd30c376a78f566e4b89c6.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2af2a4d4e9ab05a8ed888fb4a704ee07.jpeg"
@ -2137,30 +2132,6 @@
{
"name": "teddy",
"list": [
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/880e2d05ba1385f2de52f7a92719c557.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/de1ef1d5e10ff0d4039dacb557a21406.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/687a9886a5007d029012ac65afc54b6c.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f4d9a30b2f2b2a4cf0c831dff44fd3a8.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/01ce70893e7947731369ef22ff20a9ab.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9d824cc7622e39e0eb9b44ae9514c8db.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0a294e1fe43d84eb8b4b3663dc1c06f7.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e5a191f3207eb6276f01845a68a4f47c.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/498b2956356743dd61bcf43c5e2bdfe5.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/44f01787f33c354865ef2e0235a52bb7.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8739a1033149540124a0c9bf2dca71b2.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/dd3608457a2915a29de559f59927babc.jpeg"
},
{
"sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/30448f7b2fe2bcdf037fc3d1fc971751.jpeg",
"preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/998df3180fbf701806e8fcdff50880fc.jpeg"

View File

@ -4,6 +4,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.util.Log;
import android.view.View;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
@ -12,22 +13,39 @@ import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.example.prettywallpapers.R;
import com.example.prettywallpapers.other.CustomProgressBar;
import com.example.prettywallpapers.toponad.AdManager;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
public class IntoActivity extends AppCompatActivity {
private CountDownTimer countDownTimer;
private Long tim = 8000L;
private Long tim = 10000L;
private CustomProgressBar customProgressBar;
private float count = 0F;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_into);
countDownTimer = AdManager.showWelcomeAd(IntoActivity.this, tim, new Function0<Unit>() {
customProgressBar = findViewById(R.id.progressBar);
countDownTimer = AdManager.showWelcomeAd(IntoActivity.this, tim, new Function1<Long, Unit>() {
@Override
public Unit invoke(Long aLong) {
count = count+1;
Log.d("------------","------------count="+count);
customProgressBar.setProgress(count);
return null;
}
},new Function0<Unit>() {
@Override
public Unit invoke() {
customProgressBar.setProgress(100);
startMainActivity();
return null;
}

View File

@ -69,6 +69,7 @@ public class MainActivity extends AppCompatActivity {
viewPager2 = findViewById(R.id.view_page_main);
viewPager2.setAdapter(new FragmentAdapter(this));
tabLayout = findViewById(R.id.app_table);
viewPager2.setUserInputEnabled(false);
TabLayoutMediator tabLayoutMediator = new TabLayoutMediator(tabLayout, viewPager2, new TabLayoutMediator.TabConfigurationStrategy() {
@Override
public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {

View File

@ -0,0 +1,62 @@
package com.example.prettywallpapers.other
import android.content.Context
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.LinearGradient
import android.graphics.Paint
import android.graphics.RectF
import android.graphics.Shader
import android.util.AttributeSet
import android.view.View
class CustomProgressBar(context: Context, attrs: AttributeSet?) : View(context, attrs) {
private var progress = 0f // 当前进度
private val maxProgress = 100f // 最大进度
private val progressBarHeight = 20f // 进度条高度
private val cornerRadius = 10f // 圆角半径
private val backgroundColor = Color.parseColor("#26FFFFFF")
private val startColor = Color.parseColor("#82A1E1") // 起始颜色
private val middleColor = Color.parseColor("#C4D1EC") // 中间颜色
private val endColor = Color.parseColor("#5B8BED") // 结束颜色
private val paint = Paint()
private val paintTow = Paint()
init {
paint.style = Paint.Style.FILL
paint.isAntiAlias = true
paintTow.style = Paint.Style.FILL
paintTow.isAntiAlias = true
}
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
// 绘制底色矩形
paint.shader = null // 重置着色器
paint.color = backgroundColor
val backgroundRect = RectF(0f, (height / 2 - progressBarHeight / 2), width.toFloat(), (height / 2 + progressBarHeight / 2))
canvas.drawRoundRect(backgroundRect, cornerRadius, cornerRadius, paint)
// 计算进度条的宽度
val progressBarWidth = (width * progress / maxProgress)
// 创建颜色渐变对象
val gradient = LinearGradient(0f, 0f, width.toFloat(), 0f, intArrayOf(startColor, middleColor, endColor), null, Shader.TileMode.CLAMP)
paintTow.shader = gradient
// 绘制带圆角的进度条矩形
val rect = RectF(0f, (height / 2 - progressBarHeight / 2), progressBarWidth.toFloat(), (height / 2 + progressBarHeight / 2))
canvas.drawRoundRect(rect, cornerRadius, cornerRadius, paintTow)
}
fun getProgress():Float{
return progress
}
// 设置进度
fun setProgress(progress: Float) {
this.progress = progress
invalidate() // 请求重绘
}
}

View File

@ -51,7 +51,7 @@ public class LIkePaperAdapter extends RecyclerView.Adapter<LikeHolder> {
Log.d("------------entity","---------entity"+paperEntities.size());
//ImageView imageView = holder.getImageView();
Glide.with(mycontext).load(prettyPaperEntities.getImage())
.transform(new RoundedCorners(90))
.transform(new RoundedCorners(100))
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target<Drawable> target, boolean isFirstResource) {

View File

@ -56,7 +56,7 @@ public class WallpaperAdapter extends RecyclerView.Adapter<WallPaperViewHolder>
context.startActivity(intent);
}
});
InfoAdapter infoAdapter = new InfoAdapter(prettycategory.getList(),context);
InfoAdapter infoAdapter = new InfoAdapter(prettycategory.getList().subList(0,4),context);
RecyclerView recyclerViewImage = holder.getRecyclerView_image();
recyclerViewImage.setLayoutManager(new LinearLayoutManager(context, RecyclerView.HORIZONTAL, false));
recyclerViewImage.setAdapter(infoAdapter);

View File

@ -73,10 +73,11 @@ object AdManager {
@JvmStatic
fun showWelcomeAd(activity: Activity,totalTim: Long, goMain: () -> Unit): CountDownTimer {
fun showWelcomeAd(activity: Activity,totalTim: Long,action:(Long)->Unit, goMain: () -> Unit): CountDownTimer {
var alreadyShow = false
var timer = object : CountDownTimer(totalTim, 100) {
override fun onTick(millisUntilFinished: Long) {
action.invoke(millisUntilFinished)
if (!alreadyShow) {
showAD(activity) {
if (it == type_has_cache) {

View File

@ -6,31 +6,35 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.IntoActivity">
<ImageView
android:id="@+id/pretty_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/pretty_logo"
android:layout_centerHorizontal="true"
android:layout_marginTop="200dp"/>
android:layout_marginTop="200dp"
android:src="@mipmap/pretty_logo" />
<TextView
android:id="@+id/pretty_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textColor="@color/black"
android:layout_below="@+id/pretty_logo"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:textSize="24sp"/>
<ProgressBar
android:layout_width="wrap_content"
android:text="@string/app_name"
android:textColor="@color/black"
android:textSize="24sp" />
<com.example.prettywallpapers.other.CustomProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/pretty_text"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"/>
android:id="@+id/progressBar"
android:layout_marginStart="26dp"
android:layout_marginTop="50dp"
android:layout_marginEnd="26dp" />
</RelativeLayout>

View File

@ -49,6 +49,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/view_page_main"
android:paddingBottom="40dp"
android:layout_below="@+id/main_top"/>
<FrameLayout
android:layout_width="300dp"

View File

@ -26,33 +26,44 @@
android:layout_width="32dp"
android:layout_height="256dp"
android:layout_marginTop="438dp"
android:layout_marginStart="319dp"
android:layout_marginEnd="24dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_width="32dp"
android:padding="4dp"
android:background="@drawable/image_background"
android:layout_height="wrap_content">
android:layout_height="32dp">
<ImageView
android:id="@+id/image_heart"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/unselect_like" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="32dp"
android:padding="4dp"
android:layout_marginTop="80dp"
android:background="@drawable/image_background"
android:layout_height="32dp">
<ImageView
android:id="@+id/image_down"
android:layout_marginTop="80dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/image_background"
android:src="@drawable/download"/>
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/download" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="32dp"
android:padding="4dp"
android:layout_marginTop="160dp"
android:background="@drawable/image_background"
android:layout_height="32dp">
<ImageView
android:id="@+id/image_share"
android:layout_marginTop="160dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/image_background"
android:src="@drawable/share"/>
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/share" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>
<FrameLayout
android:layout_width="300dp"

View File

@ -18,8 +18,9 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/like_recycle"
android:layout_marginTop="10dp"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>

View File

@ -1,29 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_marginTop="20dp"
android:layout_height="wrap_content">
<FrameLayout
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_marginStart="10dp"
app:cardCornerRadius="24dp"
android:layout_height="wrap_content">
<ImageView
android:layout_width="150dp"
android:layout_height="210dp"
android:id="@+id/like_paper_recycle_image"
android:scaleType="fitXY"/>
<RelativeLayout
android:layout_width="150dp"
android:layout_marginTop="170dp"
android:gravity="center"
android:background="@drawable/like_background"
android:layout_height="40dp">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/recycle_like"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="@drawable/selector_like"
/>
</RelativeLayout>
</FrameLayout>
android:layout_width="150dp"
android:layout_height="210dp"
android:id="@+id/like_paper_recycle_image"
android:scaleType="centerCrop"/>
<RelativeLayout
android:layout_width="150dp"
android:layout_marginTop="170dp"
android:gravity="center"
android:background="@drawable/like_background"
android:layout_height="40dp">
<ImageView
android:id="@+id/recycle_like"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="@drawable/selector_like"
/>
</RelativeLayout>
</FrameLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>

View File

@ -1,13 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_marginStart="20dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_marginStart="15dp"
android:id="@+id/recycle_image_lay"
android:layout_height="wrap_content">
<ImageView
android:layout_width="160dp"
android:layout_height="150dp"
android:id="@+id/recycle_image"
android:scaleType="centerCrop" />
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
app:cardCornerRadius="24dp"
android:layout_height="wrap_content">
<ImageView
android:layout_width="160dp"
android:layout_height="150dp"
android:id="@+id/recycle_image"
android:scaleType="centerCrop" />
</androidx.cardview.widget.CardView>
</LinearLayout>

View File

@ -6,4 +6,7 @@
<color name="pretty_text">#5B8BED</color>
<color name="name">#415E9A</color>
<color name="pretty_back">#91ABDF</color>
<string name="start">#779EED</string>
<string name="middle">#C4D1EC</string>
<string name="finsish">#4F72B8</string>
</resources>

View File

@ -2,4 +2,6 @@
plugins {
alias(libs.plugins.android.application) apply false
id("org.jetbrains.kotlin.android") version "1.9.0" apply false
id("com.google.gms.google-services") version "4.3.15" apply false
id ("com.google.firebase.crashlytics") version "2.9.2" apply false
}