Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions ThirdPartyAdapters/line/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
## LINE Android Mediation Adapter Changelog

#### Next Version
- Maps `AgeRestrictedTreatment` to Line's ChildDirectedTreatment API.

#### Version 3.1.1.0 (In progress)

#### Version 3.1.0.0
Expand Down
2 changes: 1 addition & 1 deletion ThirdPartyAdapters/line/build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
kotlinVersion = '2.1.10'
kotlinVersion = '2.3.0'
}
repositories {
google()
Expand Down
8 changes: 4 additions & 4 deletions ThirdPartyAdapters/line/line/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -136,16 +136,16 @@ dependencies {
implementation 'androidx.core:core-ktx:1.8.0'
// Check for a 'useNextGenGma' flag to use the next generation GMA SDK.
if (project.hasProperty('useNextGenGma')) {
implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.0.1'
implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.1.0'
} else {
implementation 'com.google.android.gms:play-services-ads:25.2.0'
implementation 'com.google.android.gms:play-services-ads:25.3.0'
}
implementation 'com.linecorp.adsnetwork:fivead:3.1.1'
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.1.0'
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.3.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1'
testImplementation 'junit:junit:4.13.2'
testImplementation 'androidx.test:core:1.5.0'
testImplementation 'org.jetbrains.kotlin:kotlin-stdlib:2.1.10'
testImplementation 'org.jetbrains.kotlin:kotlin-stdlib:2.3.0'
testImplementation 'org.mockito:mockito-core:5.5.0'
testImplementation "org.jacoco:org.jacoco.core:$jacocoVersion"
testImplementation 'androidx.test.ext:junit-ktx:1.1.5'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import android.content.Context
import androidx.annotation.VisibleForTesting
import com.five_corp.ad.FiveAdConfig
import com.five_corp.ad.NeedChildDirectedTreatment
import com.google.android.gms.ads.AgeRestrictedTreatment
import com.google.android.gms.ads.MobileAds
import com.google.android.gms.ads.RequestConfiguration

Expand Down Expand Up @@ -49,7 +50,8 @@ object LineInitializer {
requestConfiguration.tagForChildDirectedTreatment ==
RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE ||
requestConfiguration.tagForUnderAgeOfConsent ==
RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE
RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE ||
requestConfiguration.ageRestrictedTreatment == AgeRestrictedTreatment.CHILD
) {
fiveAdConfig?.needChildDirectedTreatment = NeedChildDirectedTreatment.TRUE
} else if (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import com.google.ads.mediation.line.LineMediationAdapter.Companion.SDK_ERROR_DO
import com.google.android.gms.ads.AdError
import com.google.android.gms.ads.AdFormat
import com.google.android.gms.ads.AdSize
import com.google.android.gms.ads.AgeRestrictedTreatment
import com.google.android.gms.ads.MobileAds
import com.google.android.gms.ads.RequestConfiguration
import com.google.android.gms.ads.VersionInfo
Expand Down Expand Up @@ -368,6 +369,41 @@ class LineMediationAdapterTest {
.isEqualTo(NeedChildDirectedTreatment.UNSPECIFIED)
}

@Test
fun initialize_withAgeRestrictedTreatmentChild_configuresFiveAdSDKWithTrue() {
val requestConfiguration =
RequestConfiguration.Builder().setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD).build()
MobileAds.setRequestConfiguration(requestConfiguration)
val serverParameters = bundleOf(KEY_APP_ID to TEST_APP_ID_1)
val mediationConfiguration = createMediationConfiguration(AdFormat.BANNER, serverParameters)

lineMediationAdapter.initialize(
context,
mockInitializationCompleteCallback,
listOf(mediationConfiguration),
)

assertThat(fiveAdConfig.needChildDirectedTreatment).isEqualTo(NeedChildDirectedTreatment.TRUE)
}

@Test
fun initialize_withAgeRestrictedTreatmentTeen_configuresFiveAdSDKWithUnspecified() {
val requestConfiguration =
RequestConfiguration.Builder().setAgeRestrictedTreatment(AgeRestrictedTreatment.TEEN).build()
MobileAds.setRequestConfiguration(requestConfiguration)
val serverParameters = bundleOf(KEY_APP_ID to TEST_APP_ID_1)
val mediationConfiguration = createMediationConfiguration(AdFormat.BANNER, serverParameters)

lineMediationAdapter.initialize(
context,
mockInitializationCompleteCallback,
listOf(mediationConfiguration),
)

assertThat(fiveAdConfig.needChildDirectedTreatment)
.isEqualTo(NeedChildDirectedTreatment.UNSPECIFIED)
}

@Test
fun initialize_withTestModeTrue_configuresTestModeToTrueOnLineSdk() {
val serverParameters = bundleOf(KEY_APP_ID to TEST_APP_ID_1)
Expand Down
Loading