Skip to content

Commit 495beb2

Browse files
[interactive_media_ads] Adds wrappers for native IMA settings (#9481)
[IMASettings.enabledBackgroundPlayback](https://developers.google.com/interactive-media-ads/docs/sdks/ios/client-side/reference/Classes/IMASettings#enablebackgroundplayback) is needed to add support for flutter/flutter#153447 on iOS. This just adds all the flags for `IMASettings` and `ImaSdkSettings` for both platforms. ## Pre-Review Checklist [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
1 parent 05469f7 commit 495beb2

File tree

16 files changed

+1939
-25
lines changed

16 files changed

+1939
-25
lines changed

packages/interactive_media_ads/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 0.2.4+1
2+
3+
* Adds internal wrapper for Android native `ImaSdkSettings`.
4+
* Adds internal wrapper for iOS native `IMASettings`.
5+
16
## 0.2.4
27

38
* Adds support for companion ads. See `CompanionAdSlot` and `AdDisplayContainer(companionAds)`.

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.4"
24+
const val pluginVersion = "0.2.4+1"
2525
}
2626

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

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

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,49 @@
44

55
package dev.flutter.packages.interactive_media_ads
66

7+
import com.google.ads.interactivemedia.v3.api.ImaSdkSettings
8+
79
/**
810
* ProxyApi implementation for [com.google.ads.interactivemedia.v3.api.ImaSdkSettings].
911
*
1012
* <p>This class may handle instantiating native object instances that are attached to a Dart
1113
* instance or handle method calls on the associated native class or an instance of that class.
1214
*/
1315
class ImaSdkSettingsProxyApi(override val pigeonRegistrar: ProxyApiRegistrar) :
14-
PigeonApiImaSdkSettings(pigeonRegistrar)
16+
PigeonApiImaSdkSettings(pigeonRegistrar) {
17+
override fun setAutoPlayAdBreaks(pigeon_instance: ImaSdkSettings, autoPlayAdBreaks: Boolean) {
18+
pigeon_instance.autoPlayAdBreaks = autoPlayAdBreaks
19+
}
20+
21+
override fun setDebugMode(pigeon_instance: ImaSdkSettings, debugMode: Boolean) {
22+
pigeon_instance.isDebugMode = debugMode
23+
}
24+
25+
override fun setFeatureFlags(pigeon_instance: ImaSdkSettings, featureFlags: Map<String, String>) {
26+
pigeon_instance.featureFlags = featureFlags
27+
}
28+
29+
override fun setLanguage(pigeon_instance: ImaSdkSettings, language: String) {
30+
pigeon_instance.language = language
31+
}
32+
33+
override fun setMaxRedirects(pigeon_instance: ImaSdkSettings, maxRedirects: Long) {
34+
pigeon_instance.maxRedirects = maxRedirects.toInt()
35+
}
36+
37+
override fun setPlayerType(pigeon_instance: ImaSdkSettings, playerType: String) {
38+
pigeon_instance.playerType = playerType
39+
}
40+
41+
override fun setPlayerVersion(pigeon_instance: ImaSdkSettings, playerVersion: String) {
42+
pigeon_instance.playerVersion = playerVersion
43+
}
44+
45+
override fun setPpid(pigeon_instance: ImaSdkSettings, ppid: String) {
46+
pigeon_instance.ppid = ppid
47+
}
48+
49+
override fun setSessionId(pigeon_instance: ImaSdkSettings, sessionId: String) {
50+
pigeon_instance.sessionId = sessionId
51+
}
52+
}

0 commit comments

Comments
 (0)