add tradplus
This commit is contained in:
parent
bb0cd7fcf5
commit
bed77496a4
1
.idea/.name
generated
Normal file
1
.idea/.name
generated
Normal file
@ -0,0 +1 @@
|
||||
SoundGags
|
||||
4
.idea/vcs.xml
generated
4
.idea/vcs.xml
generated
@ -1,4 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings" defaultProject="true" />
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@ -6,6 +6,8 @@ plugins {
|
||||
alias(libs.plugins.kotlin.android)
|
||||
id("kotlin-kapt")
|
||||
id("kotlin-parcelize")
|
||||
id("com.google.gms.google-services")
|
||||
id("com.google.firebase.crashlytics")
|
||||
}
|
||||
|
||||
android {
|
||||
@ -18,8 +20,8 @@ android {
|
||||
applicationId = "com.soundapp.soundgags"
|
||||
minSdk = 26
|
||||
targetSdk = 36
|
||||
versionCode = 3
|
||||
versionName = "3.0"
|
||||
versionCode = 4
|
||||
versionName = "4.0"
|
||||
setProperty(
|
||||
"archivesBaseName",
|
||||
"Sound Gags_V" + versionName + "_${versionCode}$timeStamp"
|
||||
@ -68,4 +70,92 @@ dependencies {
|
||||
implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.6.2")
|
||||
implementation("androidx.activity:activity-ktx:1.10.1")
|
||||
implementation("com.google.android.flexbox:flexbox:3.0.0")
|
||||
|
||||
implementation(files("libs/TradPlusLibrary_11_25_15_02-release.aar"))
|
||||
implementation(files("libs/UpLoadLibrary_12_03_15_13-release.aar"))
|
||||
|
||||
implementation ("com.squareup.okhttp3:okhttp:4.12.0")
|
||||
implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")
|
||||
|
||||
implementation ("com.google.android.gms:play-services-ads-identifier:18.0.1")
|
||||
|
||||
// TradPlus
|
||||
implementation("com.tradplusad:tradplus:14.5.0.1")
|
||||
//noinspection GradleCompatible
|
||||
implementation("androidx.legacy:legacy-support-v4:1.0.0")
|
||||
implementation("androidx.appcompat:appcompat:1.3.0-alpha02")
|
||||
// Meta
|
||||
implementation("com.facebook.android:audience-network-sdk:6.20.0")
|
||||
implementation("com.tradplusad:tradplus-facebook:1.14.5.0.1")
|
||||
// Applovin
|
||||
implementation("com.applovin:applovin-sdk:13.3.1")
|
||||
implementation("com.tradplusad:tradplus-applovin:9.14.5.0.1")
|
||||
implementation("com.google.android.gms:play-services-ads-identifier:18.2.0")
|
||||
// Ironsource
|
||||
implementation("com.ironsource.sdk:mediationsdk:8.10.0")
|
||||
implementation("com.tradplusad:tradplus-ironsource:10.14.5.0.1")
|
||||
implementation("com.google.android.gms:play-services-appset:16.0.0")
|
||||
implementation("com.google.android.gms:play-services-ads-identifier:17.0.0")
|
||||
implementation("com.google.android.gms:play-services-basement:17.5.0")
|
||||
// Adcolony
|
||||
implementation("com.adcolony:sdk:4.8.0")
|
||||
implementation("com.tradplusad:tradplus-adcolony:4.14.5.0.1")
|
||||
implementation("com.google.android.gms:play-services-ads-identifier:17.0.0")
|
||||
// Pangle
|
||||
implementation("com.tradplusad:tradplus-pangle:19.14.5.0.1")
|
||||
implementation("com.pangle.global:pag-sdk:7.3.0.3")
|
||||
// UnityAds
|
||||
implementation("com.tradplusad:tradplus-unity:5.14.5.0.1")
|
||||
implementation("com.unity3d.ads:unity-ads:4.15.1")
|
||||
// Chartboost
|
||||
implementation("com.tradplusad:tradplus-chartboostx:15.14.5.0.1")
|
||||
implementation("com.chartboost:chartboost-sdk:9.8.3")
|
||||
implementation("com.google.android.gms:play-services-ads-identifier:17.0.0")
|
||||
implementation("com.google.android.gms:play-services-base:17.4.0")
|
||||
// Inmobi
|
||||
implementation("com.tradplusad:tradplus-inmobix:23.14.5.0.1")
|
||||
implementation("com.inmobi.monetization:inmobi-ads-kotlin:10.8.3")
|
||||
implementation("androidx.core:core-ktx:1.5.0")
|
||||
implementation("com.inmobi.omsdk:inmobi-omsdk:1.5.2.0")
|
||||
// Fyber
|
||||
implementation("com.fyber:marketplace-sdk:8.3.7")
|
||||
implementation("com.tradplusad:tradplus-fyber:24.14.5.0.1")
|
||||
implementation("com.google.android.gms:play-services-ads-identifier:17.0.0")
|
||||
implementation("com.google.android.gms:play-services-base:17.4.0")
|
||||
// Start.io
|
||||
implementation("com.startapp:inapp-sdk:5.2.3")
|
||||
implementation("com.tradplusad:tradplus-startapp:28.14.5.0.1")
|
||||
// Mintegral
|
||||
implementation("com.tradplusad:tradplus-mintegralx_overseas:18.14.5.0.1")
|
||||
implementation("androidx.recyclerview:recyclerview:1.1.0")
|
||||
implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:16.9.71")
|
||||
// Liftoff
|
||||
implementation("com.tradplusad:tradplus-vunglex:7.14.5.0.1")
|
||||
implementation("com.vungle:vungle-ads:7.5.0")
|
||||
// Yandex
|
||||
implementation("com.yandex.android:mobileads:7.13.0") {
|
||||
exclude(group = "com.caverock", module = "androidsvg-aar")
|
||||
}
|
||||
implementation("com.tradplusad:tradplus-yandex:50.14.6.10.1")
|
||||
// Bigo
|
||||
implementation("com.bigossp:bigo-ads:5.4.0")
|
||||
implementation("com.tradplusad:tradplus-bigo:57.14.5.0.1")
|
||||
// Cross Promotion
|
||||
implementation("com.tradplusad:tradplus-crosspromotion:27.14.5.0.1")
|
||||
// TP Exchange
|
||||
// 请注意保持与主包版本同步更新
|
||||
implementation("com.google.code.gson:gson:2.8.6")
|
||||
implementation("com.tradplusad:tp_exchange:40.14.5.0.1")
|
||||
|
||||
// Google UMP
|
||||
implementation ("com.google.android.ump:user-messaging-platform:3.2.0")
|
||||
|
||||
// TradPlus Tools
|
||||
// implementation 'com.tradplusad:tradplus-tool:1.1.4'
|
||||
|
||||
//firebase
|
||||
implementation(platform("com.google.firebase:firebase-bom:33.7.0"))
|
||||
implementation("com.google.firebase:firebase-crashlytics")
|
||||
implementation("com.google.firebase:firebase-analytics")
|
||||
implementation("com.google.firebase:firebase-config")
|
||||
}
|
||||
29
app/google-services.json
Normal file
29
app/google-services.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "1039708218778",
|
||||
"project_id": "sound-gags",
|
||||
"storage_bucket": "sound-gags.firebasestorage.app"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:1039708218778:android:f00dc2f58e675e5d1d8623",
|
||||
"android_client_info": {
|
||||
"package_name": "com.soundapp.soundgags"
|
||||
}
|
||||
},
|
||||
"oauth_client": [],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyCBz1rRYQ2Tsu0J_QsBkVxFW79zatUzDHU"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": []
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
||||
BIN
app/libs/TradPlusLibrary_11_25_15_02-release.aar
Normal file
BIN
app/libs/TradPlusLibrary_11_25_15_02-release.aar
Normal file
Binary file not shown.
BIN
app/libs/UpLoadLibrary_12_03_15_13-release.aar
Normal file
BIN
app/libs/UpLoadLibrary_12_03_15_13-release.aar
Normal file
Binary file not shown.
@ -5,6 +5,7 @@
|
||||
<uses-permission
|
||||
android:name="android.permission.READ_EXTERNAL_STORAGE"
|
||||
android:maxSdkVersion="32" />
|
||||
<uses-permission android:name="android.permission.AD_ID" />
|
||||
<uses-permission
|
||||
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||
android:maxSdkVersion="32" />
|
||||
@ -17,6 +18,7 @@
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
|
||||
android:supportsRtl="true"
|
||||
android:name=".ReloadApplication"
|
||||
android:theme="@style/Theme.SoundGags">
|
||||
@ -44,6 +46,9 @@
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<meta-data
|
||||
android:name="com.startapp.sdk.MIXED_AUDIENCE"
|
||||
android:value="true"/>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@ -6,6 +6,7 @@ import android.util.Log
|
||||
import com.soundapp.soundgags.datame.AppDataBase
|
||||
import com.soundapp.soundgags.datame.Familiar
|
||||
import com.soundapp.soundgags.setting.SetUtil
|
||||
import com.up.uploadlibrary.UpLoadManager
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
@ -17,11 +18,16 @@ class ReloadApplication : Application() {
|
||||
lateinit var app: ReloadApplication
|
||||
lateinit var typeface: Typeface
|
||||
var familiars: List<Familiar>? = null
|
||||
const val TAG = "ReloadApplication"
|
||||
}
|
||||
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
app = this
|
||||
UpLoadManager.init(this, TAG) { _, _ ->
|
||||
// 处理逻辑
|
||||
Log.d(TAG, "upload success")
|
||||
}
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
initializeDatabase()
|
||||
}
|
||||
|
||||
@ -5,6 +5,8 @@ import android.os.Bundle
|
||||
import android.os.CountDownTimer
|
||||
import android.os.Handler
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.ad.tradpluslibrary.TPAdManager
|
||||
import com.soundapp.soundgags.ReloadApplication
|
||||
import com.soundapp.soundgags.databinding.ActivityJokeViewBinding
|
||||
import com.soundapp.soundgags.setting.TopBarUtils
|
||||
|
||||
@ -12,6 +14,7 @@ class JokeViewerActivity : AppCompatActivity() {
|
||||
private lateinit var binding : ActivityJokeViewBinding
|
||||
private var handler: Handler = Handler()
|
||||
private var countDownTimer: CountDownTimer? = null
|
||||
private var time = 14000L
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
@ -19,24 +22,35 @@ class JokeViewerActivity : AppCompatActivity() {
|
||||
TopBarUtils.setLightStatusBar(this.window, true)
|
||||
binding = ActivityJokeViewBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
handler.postDelayed({
|
||||
val intent= Intent(
|
||||
this@JokeViewerActivity,
|
||||
CompleteListActivity::class.java
|
||||
)
|
||||
startActivity(intent)
|
||||
finish()
|
||||
}, 4000)
|
||||
countDownTimer = object : CountDownTimer(4000, 100) {
|
||||
override fun onTick(millisUntilFinished: Long) {
|
||||
val progress = ((4000 - millisUntilFinished) / 4000f * 100).toInt()
|
||||
binding.loadingPb.progress = progress
|
||||
}
|
||||
|
||||
override fun onFinish() {
|
||||
TPAdManager.init(
|
||||
this@JokeViewerActivity,
|
||||
ReloadApplication.TAG,
|
||||
"7798CDAEFBC2B1541B8B57EC7CC47F11",
|
||||
"8E399B2604C0EF55A6625E21F4B46712",
|
||||
"CE1D9ADA9743A8C426104487344AF712",
|
||||
"8641E7001CB301CE14BAE457B5570712"
|
||||
) {
|
||||
null
|
||||
}
|
||||
countDownTimer = TPAdManager.showWelcomeAd(
|
||||
this@JokeViewerActivity,
|
||||
time,
|
||||
{ aLong ->
|
||||
val progressPercentage = (100 * aLong) / time
|
||||
val percentage = 100 - progressPercentage
|
||||
binding.loadingPb.progress = percentage.toInt()
|
||||
},
|
||||
{
|
||||
binding.loadingPb.progress = 100
|
||||
val intent= Intent(
|
||||
this@JokeViewerActivity,
|
||||
CompleteListActivity::class.java
|
||||
)
|
||||
startActivity(intent)
|
||||
finish()
|
||||
}
|
||||
}.start()
|
||||
)
|
||||
countDownTimer?.start()
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
|
||||
@ -5,6 +5,7 @@ import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.SystemClock
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.ad.tradpluslibrary.TPAdManager.showTPAD
|
||||
import com.soundapp.soundgags.R
|
||||
import com.soundapp.soundgags.databinding.ActivityLocalMusicBinding
|
||||
import com.soundapp.soundgags.setting.MediaPlayerManager
|
||||
@ -28,7 +29,7 @@ class LocalMusicActivity : AppCompatActivity() {
|
||||
setContentView(binding!!.root)
|
||||
record = MediaPlayerManager(this)
|
||||
binding!!.audioTime.setText(R.string.time_init)
|
||||
|
||||
showTPAD(this){}
|
||||
initClick()
|
||||
}
|
||||
|
||||
|
||||
@ -15,6 +15,7 @@ import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.ad.tradpluslibrary.TPAdManager.showTPAD
|
||||
import com.soundapp.soundgags.setting.SetUtil
|
||||
import com.soundapp.soundgags.R
|
||||
import com.soundapp.soundgags.setting.TypeAdapter
|
||||
@ -51,6 +52,7 @@ class NowPlayingActivity : AppCompatActivity(), LikeUpClickListener,
|
||||
setContentView(binding.root)
|
||||
viewModel = ViewModelProvider(this)[MainViewModel::class.java]
|
||||
popView = ClockChooseFragment(this, this)
|
||||
showTPAD(this) {}
|
||||
initView()
|
||||
initAudio()
|
||||
initClick()
|
||||
@ -79,34 +81,42 @@ class NowPlayingActivity : AppCompatActivity(), LikeUpClickListener,
|
||||
private fun initClick() {
|
||||
//播放按钮
|
||||
binding.layoutPlay.setOnClickListener {
|
||||
val playing = binding.playing.isVisible
|
||||
if (playing) {
|
||||
if (mediaPlayer?.isPlaying == true) {
|
||||
mediaPlayer?.pause()
|
||||
showLoading(1)
|
||||
}
|
||||
} else {
|
||||
if (!mediaPlayer?.isPlaying!!) {
|
||||
mediaPlayer?.start()
|
||||
showLoading(2)
|
||||
showTPAD(this) {
|
||||
val playing = binding.playing.isVisible
|
||||
if (playing) {
|
||||
if (mediaPlayer?.isPlaying == true) {
|
||||
mediaPlayer?.pause()
|
||||
showLoading(1)
|
||||
}
|
||||
} else {
|
||||
if (!mediaPlayer?.isPlaying!!) {
|
||||
mediaPlayer?.start()
|
||||
showLoading(2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//弹出倒计时
|
||||
binding.imTimer.setOnClickListener {
|
||||
popView.showTop(binding.imTimer)
|
||||
showTPAD(this) {
|
||||
popView.showTop(binding.imTimer)
|
||||
}
|
||||
}
|
||||
//like
|
||||
binding.imLike.setOnClickListener {
|
||||
val isSelected = binding.imLike.isSelected
|
||||
if(isSelected){
|
||||
viewModel.updateLikeStatus(data.name,false)
|
||||
}else{
|
||||
viewModel.updateLikeStatus(data.name,true)
|
||||
}
|
||||
binding.imLike.isSelected = !isSelected
|
||||
showTPAD(this) {
|
||||
val isSelected = binding.imLike.isSelected
|
||||
if (isSelected) {
|
||||
viewModel.updateLikeStatus(data.name, false)
|
||||
} else {
|
||||
viewModel.updateLikeStatus(data.name, true)
|
||||
}
|
||||
binding.imLike.isSelected = !isSelected
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun initAudio() {
|
||||
@ -224,7 +234,7 @@ class NowPlayingActivity : AppCompatActivity(), LikeUpClickListener,
|
||||
}
|
||||
}
|
||||
|
||||
override fun onMoreClick(reflection: Reflection,isAdd: Boolean) {
|
||||
override fun onMoreClick(reflection: Reflection, isAdd: Boolean) {
|
||||
val intent = Intent(this, NowPlayingActivity::class.java)
|
||||
intent.putExtra(KEY_LIST_DATA, reflection)
|
||||
startActivity(intent)
|
||||
|
||||
@ -3,6 +3,7 @@ package com.soundapp.soundgags.ui
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import com.ad.tradpluslibrary.TPAdManager.showTPAD
|
||||
import com.soundapp.soundgags.setting.TypeAdapter
|
||||
import com.soundapp.soundgags.datame.Familiar
|
||||
import com.bumptech.glide.Glide
|
||||
@ -38,6 +39,6 @@ class OpenSetActivity : AppCompatActivity() {
|
||||
binding.recyclerView.adapter = adapter
|
||||
binding.recyclerView.layoutManager = GridLayoutManager(this, 3)
|
||||
adapter.setList(data.infolist)
|
||||
binding.back.setOnClickListener { finish() }
|
||||
binding.back.setOnClickListener { showTPAD(this){finish()} }
|
||||
}
|
||||
}
|
||||
@ -20,6 +20,7 @@ import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.io.IOException
|
||||
import androidx.core.net.toUri
|
||||
import com.ad.tradpluslibrary.TPAdManager.showTPAD
|
||||
import com.soundapp.soundgags.databinding.ActivityVoiceRecorderBinding
|
||||
import com.soundapp.soundgags.setting.TopBarUtils
|
||||
|
||||
@ -126,7 +127,9 @@ class VoiceRecorderActivity : AppCompatActivity() {
|
||||
private fun initEvent() {
|
||||
binding.back.setOnClickListener { finish() }
|
||||
binding.audioTimeLayout.setOnClickListener {
|
||||
binding.btnPlay.isSelected = !binding.btnPlay.isSelected
|
||||
showTPAD(this){
|
||||
binding.btnPlay.isSelected = !binding.btnPlay.isSelected
|
||||
}
|
||||
try {
|
||||
togglePrank()
|
||||
} catch (e: IOException) {
|
||||
@ -135,6 +138,7 @@ class VoiceRecorderActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
binding.save.setOnClickListener {
|
||||
showTPAD(this){}
|
||||
val name = binding.saveEdit.text.toString().trim()
|
||||
viewModel.checkSaveStatus(name, callback = { isSave ->
|
||||
runOnUiThread {
|
||||
|
||||
6
app/src/main/res/xml/net.xml
Normal file
6
app/src/main/res/xml/net.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<network-security-config xmlns:tools="http://schemas.android.com/tools">
|
||||
<domain-config cleartextTrafficPermitted="true">
|
||||
<domain tools:ignore="NetworkSecurityConfig">mobile-server.lux-ad.com</domain>
|
||||
</domain-config>
|
||||
</network-security-config>
|
||||
@ -2,4 +2,6 @@
|
||||
plugins {
|
||||
alias(libs.plugins.android.application) apply false
|
||||
alias(libs.plugins.kotlin.android) apply false
|
||||
id("com.google.gms.google-services") version "4.4.2" apply false
|
||||
id ("com.google.firebase.crashlytics") version "3.0.2" apply false
|
||||
}
|
||||
@ -6,7 +6,7 @@
|
||||
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
||||
# Specifies the JVM arguments used for the daemon process.
|
||||
# The setting is particularly useful for tweaking memory settings.
|
||||
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
|
||||
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=U
|
||||
# When configured, Gradle will run in incubating parallel mode.
|
||||
# This option should only be used with decoupled projects. For more details, visit
|
||||
# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects
|
||||
|
||||
@ -16,6 +16,26 @@ dependencyResolutionManagement {
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
//------------------------- TradPlus
|
||||
// Ironsource
|
||||
maven { url = uri("https://android-sdk.is.com/") }
|
||||
// Pangle
|
||||
maven {
|
||||
url = uri("https://artifact.bytedance.com/repository/pangle")
|
||||
}
|
||||
// Chartboost
|
||||
maven { url = uri("https://cboost.jfrog.io/artifactory/chartboost-ads/") }
|
||||
maven {
|
||||
name = "Chartboost Mediation’s maven repo"
|
||||
url = uri("https://cboost.jfrog.io/artifactory/chartboost-mediation")
|
||||
}
|
||||
// Mintegral
|
||||
//Launch GP market application, Android X Version
|
||||
//If you fail to pull the code using gradle, add the maven warehouse configuration to the project root build.gradle file
|
||||
maven {
|
||||
url =
|
||||
uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user