Skip to content

Commit e9253e6

Browse files
[interactive_media_ads] Adds internal wrapper for Android native AdsRenderingSettings (#7660)
1 parent fef7ffb commit e9253e6

File tree

10 files changed

+1385
-3
lines changed

10 files changed

+1385
-3
lines changed

packages/interactive_media_ads/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.2.2+2
2+
3+
* Adds internal wrapper for Android native `AdsRenderingSettings`.
4+
15
## 0.2.2+1
26

37
* Bumps Android dependency `com.google.ads.interactivemedia.v3:interactivemedia` from `3.34.0` to
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
// Copyright 2013 The Flutter Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
package dev.flutter.packages.interactive_media_ads
6+
7+
import com.google.ads.interactivemedia.v3.api.AdsRenderingSettings
8+
import com.google.ads.interactivemedia.v3.api.UiElement
9+
10+
/**
11+
* ProxyApi implementation for [AdsRenderingSettings].
12+
*
13+
* <p>This class may handle instantiating native object instances that are attached to a Dart
14+
* instance or handle method calls on the associated native class or an instance of that class.
15+
*/
16+
class AdsRenderingSettingsProxyApi(override val pigeonRegistrar: ProxyApiRegistrar) :
17+
PigeonApiAdsRenderingSettings(pigeonRegistrar) {
18+
override fun getBitrateKbps(pigeon_instance: AdsRenderingSettings): Long {
19+
return pigeon_instance.bitrateKbps.toLong()
20+
}
21+
22+
override fun getEnableCustomTabs(pigeon_instance: AdsRenderingSettings): Boolean {
23+
return pigeon_instance.enableCustomTabs
24+
}
25+
26+
override fun getEnablePreloading(pigeon_instance: AdsRenderingSettings): Boolean {
27+
return pigeon_instance.enablePreloading
28+
}
29+
30+
override fun getFocusSkipButtonWhenAvailable(pigeon_instance: AdsRenderingSettings): Boolean {
31+
return pigeon_instance.focusSkipButtonWhenAvailable
32+
}
33+
34+
override fun getMimeTypes(pigeon_instance: AdsRenderingSettings): List<String> {
35+
return pigeon_instance.mimeTypes
36+
}
37+
38+
override fun setBitrateKbps(pigeon_instance: AdsRenderingSettings, bitrate: Long) {
39+
pigeon_instance.bitrateKbps = bitrate.toInt()
40+
}
41+
42+
override fun setEnableCustomTabs(
43+
pigeon_instance: AdsRenderingSettings,
44+
enableCustomTabs: Boolean
45+
) {
46+
pigeon_instance.enableCustomTabs = enableCustomTabs
47+
}
48+
49+
override fun setEnablePreloading(
50+
pigeon_instance: AdsRenderingSettings,
51+
enablePreloading: Boolean
52+
) {
53+
pigeon_instance.enablePreloading = enablePreloading
54+
}
55+
56+
override fun setFocusSkipButtonWhenAvailable(
57+
pigeon_instance: AdsRenderingSettings,
58+
enableFocusSkipButton: Boolean
59+
) {
60+
pigeon_instance.focusSkipButtonWhenAvailable = enableFocusSkipButton
61+
}
62+
63+
override fun setLoadVideoTimeout(pigeon_instance: AdsRenderingSettings, loadVideoTimeout: Long) {
64+
pigeon_instance.setLoadVideoTimeout(loadVideoTimeout.toInt())
65+
}
66+
67+
override fun setMimeTypes(pigeon_instance: AdsRenderingSettings, mimeTypes: List<String>) {
68+
pigeon_instance.mimeTypes = mimeTypes
69+
}
70+
71+
override fun setPlayAdsAfterTime(pigeon_instance: AdsRenderingSettings, time: Double) {
72+
pigeon_instance.setPlayAdsAfterTime(time)
73+
}
74+
75+
override fun setUiElements(
76+
pigeon_instance: AdsRenderingSettings,
77+
uiElements: List<dev.flutter.packages.interactive_media_ads.UiElement>
78+
) {
79+
val nativeUiElements =
80+
uiElements.map {
81+
when (it) {
82+
dev.flutter.packages.interactive_media_ads.UiElement.AD_ATTRIBUTION ->
83+
UiElement.AD_ATTRIBUTION
84+
dev.flutter.packages.interactive_media_ads.UiElement.COUNTDOWN -> UiElement.COUNTDOWN
85+
dev.flutter.packages.interactive_media_ads.UiElement.UNKNOWN ->
86+
throw UnsupportedOperationException("$it is not supported.")
87+
}
88+
}
89+
pigeon_instance.setUiElements(nativeUiElements.toSet())
90+
}
91+
}

packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class AdsRequestProxyApi(override val pigeonRegistrar: ProxyApiRegistrar) :
2121
*
2222
* This must match the version in pubspec.yaml.
2323
*/
24-
const val pluginVersion = "0.2.2+1"
24+
const val pluginVersion = "0.2.2+2"
2525
}
2626

2727
override fun setAdTagUrl(pigeon_instance: AdsRequest, adTagUrl: String) {

0 commit comments

Comments
 (0)