@capacitor-community/admob 8.1.0 → 8.2.0-beta.pr454.sha49386d40323a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CapacitorCommunityAdmob.podspec +1 -1
  2. package/Package.swift +1 -1
  3. package/README.md +129 -323
  4. package/android/build.gradle +1 -1
  5. package/android/src/main/java/com/getcapacitor/community/admob/AdMob.java +86 -3
  6. package/android/src/main/java/com/getcapacitor/community/admob/banner/BannerExecutor.java +261 -141
  7. package/android/src/main/java/com/getcapacitor/community/admob/helpers/FullscreenPluginCallback.kt +5 -1
  8. package/android/src/main/java/com/getcapacitor/community/admob/interstitial/AdInterstitialExecutor.java +27 -31
  9. package/android/src/main/java/com/getcapacitor/community/admob/interstitial/InterstitialAdCallbackAndListeners.kt +1 -1
  10. package/android/src/main/java/com/getcapacitor/community/admob/models/LoadPluginEventNames.kt +2 -1
  11. package/android/src/main/java/com/getcapacitor/community/admob/nativeads/NativeAdExecutor.kt +378 -0
  12. package/android/src/main/java/com/getcapacitor/community/admob/nativeads/NativeAdFeedSessions.kt +35 -0
  13. package/android/src/main/java/com/getcapacitor/community/admob/nativeads/NativeAdPlacementValue.kt +44 -0
  14. package/android/src/main/java/com/getcapacitor/community/admob/nativeads/NativeAdPluginEvents.kt +11 -0
  15. package/android/src/main/java/com/getcapacitor/community/admob/nativeads/PluginNativeAdView.kt +187 -0
  16. package/android/src/main/java/com/getcapacitor/community/admob/rewarded/AdRewardExecutor.java +29 -33
  17. package/android/src/main/java/com/getcapacitor/community/admob/rewarded/RewardAdPluginEvents.kt +2 -1
  18. package/android/src/main/java/com/getcapacitor/community/admob/rewarded/RewardedAdCallbackAndListeners.kt +1 -1
  19. package/android/src/main/java/com/getcapacitor/community/admob/rewardedinterstitial/AdRewardInterstitialExecutor.java +29 -37
  20. package/android/src/main/java/com/getcapacitor/community/admob/rewardedinterstitial/RewardedInterstitialAdCallbackAndListeners.kt +1 -1
  21. package/dist/docs.json +33 -3
  22. package/dist/esm/index.d.ts +1 -0
  23. package/dist/esm/index.js +5 -1
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/interstitial/interstitial-definitions.interface.d.ts +3 -0
  26. package/dist/esm/native-ads/index.d.ts +6 -0
  27. package/dist/esm/native-ads/index.js +4 -0
  28. package/dist/esm/native-ads/index.js.map +1 -0
  29. package/dist/esm/native-ads/native-ad-definitions.interface.d.ts +14 -0
  30. package/dist/esm/native-ads/native-ad-definitions.interface.js +2 -0
  31. package/dist/esm/native-ads/native-ad-definitions.interface.js.map +1 -0
  32. package/dist/esm/native-ads/native-ad-element.d.ts +9 -0
  33. package/dist/esm/native-ads/native-ad-element.js +53 -0
  34. package/dist/esm/native-ads/native-ad-element.js.map +1 -0
  35. package/dist/esm/native-ads/native-ad-event.interface.d.ts +5 -0
  36. package/dist/esm/native-ads/native-ad-event.interface.js +2 -0
  37. package/dist/esm/native-ads/native-ad-event.interface.js.map +1 -0
  38. package/dist/esm/native-ads/native-ad-feed.d.ts +72 -0
  39. package/dist/esm/native-ads/native-ad-feed.js +568 -0
  40. package/dist/esm/native-ads/native-ad-feed.js.map +1 -0
  41. package/dist/esm/native-ads/native-ad-geometry.d.ts +8 -0
  42. package/dist/esm/native-ads/native-ad-geometry.js +91 -0
  43. package/dist/esm/native-ads/native-ad-geometry.js.map +1 -0
  44. package/dist/esm/native-ads/native-ad-options.interface.d.ts +36 -0
  45. package/dist/esm/native-ads/native-ad-options.interface.js +2 -0
  46. package/dist/esm/native-ads/native-ad-options.interface.js.map +1 -0
  47. package/dist/esm/native-ads/native-ad-placement.interface.d.ts +26 -0
  48. package/dist/esm/native-ads/native-ad-placement.interface.js +2 -0
  49. package/dist/esm/native-ads/native-ad-placement.interface.js.map +1 -0
  50. package/dist/esm/native-ads/native-ad-plugin-events.enum.d.ts +9 -0
  51. package/dist/esm/native-ads/native-ad-plugin-events.enum.js +11 -0
  52. package/dist/esm/native-ads/native-ad-plugin-events.enum.js.map +1 -0
  53. package/dist/esm/native-ads/native-ad-style.interface.d.ts +30 -0
  54. package/dist/esm/native-ads/native-ad-style.interface.js +2 -0
  55. package/dist/esm/native-ads/native-ad-style.interface.js.map +1 -0
  56. package/dist/esm/native-ads/native-ad-template.enum.d.ts +11 -0
  57. package/dist/esm/native-ads/native-ad-template.enum.js +13 -0
  58. package/dist/esm/native-ads/native-ad-template.enum.js.map +1 -0
  59. package/dist/esm/reward/reward-ad-plugin-events.enum.d.ts +4 -0
  60. package/dist/esm/reward/reward-ad-plugin-events.enum.js +4 -0
  61. package/dist/esm/reward/reward-ad-plugin-events.enum.js.map +1 -1
  62. package/dist/esm/reward/reward-definitions.interface.d.ts +8 -0
  63. package/dist/esm/reward-interstitial/reward-interstitial-definitions.interface.d.ts +3 -0
  64. package/dist/esm/web.d.ts +9 -1
  65. package/dist/esm/web.js +15 -0
  66. package/dist/esm/web.js.map +1 -1
  67. package/dist/plugin.cjs.js +755 -1
  68. package/dist/plugin.cjs.js.map +1 -1
  69. package/dist/plugin.js +755 -1
  70. package/dist/plugin.js.map +1 -1
  71. package/docs/app-open.md +53 -0
  72. package/docs/banner.md +100 -0
  73. package/docs/configuration.md +30 -0
  74. package/docs/consent.md +80 -0
  75. package/docs/events.md +76 -0
  76. package/docs/interstitial.md +47 -0
  77. package/docs/migration.md +146 -0
  78. package/docs/native-ads.md +161 -0
  79. package/docs/rewarded.md +148 -0
  80. package/docs/testing.md +67 -0
  81. package/ios/Sources/AdMobPlugin/AdMobPlugin.swift +106 -41
  82. package/ios/Sources/AdMobPlugin/AppOpen/AppOpenAdManager.swift +1 -1
  83. package/ios/Sources/AdMobPlugin/Banner/BannerExecutor.swift +1 -1
  84. package/ios/Sources/AdMobPlugin/Interstitial/AdInterstitialExecutor.swift +6 -3
  85. package/ios/Sources/AdMobPlugin/NativeAds/NativeAdExecutor.swift +354 -0
  86. package/ios/Sources/AdMobPlugin/NativeAds/NativeAdFeedSessions.swift +34 -0
  87. package/ios/Sources/AdMobPlugin/NativeAds/NativeAdPlacementValue.swift +50 -0
  88. package/ios/Sources/AdMobPlugin/NativeAds/NativeAdPluginEvents.swift +11 -0
  89. package/ios/Sources/AdMobPlugin/NativeAds/NativeAdScrollTracker.swift +66 -0
  90. package/ios/Sources/AdMobPlugin/NativeAds/NativeAdValues.swift +27 -0
  91. package/ios/Sources/AdMobPlugin/NativeAds/PluginNativeAdView.swift +187 -0
  92. package/ios/Sources/AdMobPlugin/Rewarded/AdRewardExecutor.swift +10 -3
  93. package/ios/Sources/AdMobPlugin/Rewarded/RewardAdPluginEvents.swift +1 -0
  94. package/ios/Sources/AdMobPlugin/RewardedInterstitial/AdRewardInterstitialExecutor.swift +6 -3
  95. package/ios/Tests/AdMobPluginTests/AdMobPluginTests.swift +82 -10
  96. package/ios/Tests/AdMobPluginTests/NativeAdScrollTrackerTests.swift +47 -0
  97. package/package.json +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-ad-feed.js","sourceRoot":"","sources":["../../../src/native-ads/native-ad-feed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { NativeAdPlacementBatch, NativeAdRect } from './native-ad-placement.interface';
2
+ export interface MeasuredNativeAdSlot {
3
+ rect: NativeAdRect;
4
+ clipRect: NativeAdRect;
5
+ }
6
+ export declare function nativeAdAncestors(element: HTMLElement): Generator<HTMLElement>;
7
+ export declare const measureNativeAdSlot: (element: HTMLElement, scrollElement?: HTMLElement) => MeasuredNativeAdSlot | undefined;
8
+ export declare const measureNativeAdScrollContainer: (element: HTMLElement) => NativeAdPlacementBatch["scrollContainer"];
@@ -0,0 +1,91 @@
1
+ const intersectRects = (left, right) => {
2
+ const x = Math.max(left.x, right.x);
3
+ const y = Math.max(left.y, right.y);
4
+ const maxX = Math.min(left.x + left.width, right.x + right.width);
5
+ const maxY = Math.min(left.y + left.height, right.y + right.height);
6
+ return {
7
+ x,
8
+ y,
9
+ width: Math.max(0, maxX - x),
10
+ height: Math.max(0, maxY - y),
11
+ };
12
+ };
13
+ const toNativeRect = (rect) => ({
14
+ x: rect.left,
15
+ y: rect.top,
16
+ width: rect.width,
17
+ height: rect.height,
18
+ });
19
+ const clipsDescendants = (element) => {
20
+ const style = window.getComputedStyle(element);
21
+ return [style.overflow, style.overflowX, style.overflowY].some((value) => ['auto', 'hidden', 'scroll', 'clip'].includes(value));
22
+ };
23
+ export function* nativeAdAncestors(element) {
24
+ var _a, _b;
25
+ let current = element;
26
+ while (current) {
27
+ const root = current.getRootNode();
28
+ current =
29
+ (_b = (_a = current.assignedSlot) !== null && _a !== void 0 ? _a : current.parentElement) !== null && _b !== void 0 ? _b : (root instanceof ShadowRoot ? root.host : null);
30
+ if (current)
31
+ yield current;
32
+ }
33
+ }
34
+ export const measureNativeAdSlot = (element, scrollElement) => {
35
+ var _a, _b, _c, _d, _e, _f, _g, _h;
36
+ const style = window.getComputedStyle(element);
37
+ const domRect = element.getBoundingClientRect();
38
+ if (!element.isConnected ||
39
+ style.display === 'none' ||
40
+ style.visibility === 'hidden' ||
41
+ Number.parseFloat(style.opacity || '1') === 0 ||
42
+ domRect.width <= 0 ||
43
+ domRect.height <= 0) {
44
+ return undefined;
45
+ }
46
+ const rect = toNativeRect(domRect);
47
+ let clipRect = scrollElement
48
+ ? rect
49
+ : {
50
+ x: (_b = (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.offsetLeft) !== null && _b !== void 0 ? _b : 0,
51
+ y: (_d = (_c = window.visualViewport) === null || _c === void 0 ? void 0 : _c.offsetTop) !== null && _d !== void 0 ? _d : 0,
52
+ width: (_f = (_e = window.visualViewport) === null || _e === void 0 ? void 0 : _e.width) !== null && _f !== void 0 ? _f : window.innerWidth,
53
+ height: (_h = (_g = window.visualViewport) === null || _g === void 0 ? void 0 : _g.height) !== null && _h !== void 0 ? _h : window.innerHeight,
54
+ };
55
+ let foundScrollElement = !scrollElement;
56
+ for (const ancestor of nativeAdAncestors(element)) {
57
+ if (ancestor === scrollElement) {
58
+ foundScrollElement = true;
59
+ break;
60
+ }
61
+ if (clipsDescendants(ancestor)) {
62
+ clipRect = intersectRects(clipRect, toNativeRect(ancestor.getBoundingClientRect()));
63
+ }
64
+ }
65
+ clipRect = intersectRects(rect, clipRect);
66
+ if (!foundScrollElement || clipRect.width <= 0 || clipRect.height <= 0)
67
+ return undefined;
68
+ if (scrollElement) {
69
+ const origin = scrollElement.getBoundingClientRect();
70
+ const translate = (value) => (Object.assign(Object.assign({}, value), { x: value.x - origin.left + scrollElement.scrollLeft, y: value.y - origin.top + scrollElement.scrollTop }));
71
+ return { rect: translate(rect), clipRect: translate(clipRect) };
72
+ }
73
+ return { rect, clipRect };
74
+ };
75
+ export const measureNativeAdScrollContainer = (element) => {
76
+ var _a, _b, _c, _d, _e, _f, _g, _h;
77
+ const rect = toNativeRect(element.getBoundingClientRect());
78
+ let clipRect = intersectRects(rect, {
79
+ x: (_b = (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.offsetLeft) !== null && _b !== void 0 ? _b : 0,
80
+ y: (_d = (_c = window.visualViewport) === null || _c === void 0 ? void 0 : _c.offsetTop) !== null && _d !== void 0 ? _d : 0,
81
+ width: (_f = (_e = window.visualViewport) === null || _e === void 0 ? void 0 : _e.width) !== null && _f !== void 0 ? _f : window.innerWidth,
82
+ height: (_h = (_g = window.visualViewport) === null || _g === void 0 ? void 0 : _g.height) !== null && _h !== void 0 ? _h : window.innerHeight,
83
+ });
84
+ for (const ancestor of nativeAdAncestors(element)) {
85
+ if (clipsDescendants(ancestor)) {
86
+ clipRect = intersectRects(clipRect, toNativeRect(ancestor.getBoundingClientRect()));
87
+ }
88
+ }
89
+ return { rect, clipRect, contentWidth: element.scrollWidth, contentHeight: element.scrollHeight };
90
+ };
91
+ //# sourceMappingURL=native-ad-geometry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-ad-geometry.js","sourceRoot":"","sources":["../../../src/native-ads/native-ad-geometry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { AdOptions } from '../shared';
2
+ import type { NativeAdStyle } from './native-ad-style.interface';
3
+ import type { NativeAdTemplate } from './native-ad-template.enum';
4
+ /** @experimental Native feed ads are not yet covered by the stable API contract. */
5
+ export interface NativeAdFeedOptions extends Pick<AdOptions, 'npa' | 'isTesting'> {
6
+ /** Unique ID for this feed manager. */
7
+ feedId: string;
8
+ /**
9
+ * Experimental iOS native tracking for a single scroll container.
10
+ * For Ionic, pass the result of ion-content.getScrollElement().
11
+ * Other platforms retain JavaScript placement updates.
12
+ */
13
+ scrollElement?: HTMLElement;
14
+ /** Plugin-owned layout used for every native ad in this feed. */
15
+ template?: NativeAdTemplate;
16
+ /** Cross-platform styling applied to the plugin-owned layout. */
17
+ style?: NativeAdStyle;
18
+ /** Native ad unit ID. Required unless isTesting is true. */
19
+ adId?: string;
20
+ }
21
+ export interface NativeAdFeedSession {
22
+ feedId: string;
23
+ sessionId: string;
24
+ }
25
+ export interface NativeAdLoadOptions extends Pick<AdOptions, 'npa' | 'isTesting'>, NativeAdFeedSession {
26
+ slotKey: string;
27
+ template: NativeAdTemplate;
28
+ style?: NativeAdStyle;
29
+ adId?: string;
30
+ }
31
+ export interface NativeAdIdentity {
32
+ feedId: string;
33
+ slotKey: string;
34
+ }
35
+ export interface NativeAdCommandIdentity extends NativeAdIdentity, NativeAdFeedSession {
36
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=native-ad-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-ad-options.interface.js","sourceRoot":"","sources":["../../../src/native-ads/native-ad-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import type { NativeAdFeedSession, NativeAdIdentity } from './native-ad-options.interface';
2
+ export interface NativeAdRect {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ }
8
+ export interface NativeAdPlacement extends NativeAdIdentity {
9
+ /** Internal binding generation used to reject recycled DOM state. */
10
+ generation: number;
11
+ visible: boolean;
12
+ rect?: NativeAdRect;
13
+ clipRect?: NativeAdRect;
14
+ }
15
+ export interface NativeAdPlacementBatch extends NativeAdFeedSession {
16
+ /** Monotonically increasing sequence used to reject stale bridge calls. */
17
+ sequence: number;
18
+ placements: NativeAdPlacement[];
19
+ /** iOS-only binding; placements use this element's content coordinates. */
20
+ scrollContainer?: {
21
+ rect: NativeAdRect;
22
+ clipRect: NativeAdRect;
23
+ contentWidth: number;
24
+ contentHeight: number;
25
+ };
26
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=native-ad-placement.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-ad-placement.interface.js","sourceRoot":"","sources":["../../../src/native-ads/native-ad-placement.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export declare enum NativeAdPluginEvents {
2
+ Loaded = "nativeAdLoaded",
3
+ FailedToLoad = "nativeAdFailedToLoad",
4
+ Clicked = "nativeAdClicked",
5
+ AdImpression = "nativeAdImpression",
6
+ Opened = "nativeAdOpened",
7
+ Closed = "nativeAdClosed",
8
+ AdPaid = "nativeAdPaid"
9
+ }
@@ -0,0 +1,11 @@
1
+ export var NativeAdPluginEvents;
2
+ (function (NativeAdPluginEvents) {
3
+ NativeAdPluginEvents["Loaded"] = "nativeAdLoaded";
4
+ NativeAdPluginEvents["FailedToLoad"] = "nativeAdFailedToLoad";
5
+ NativeAdPluginEvents["Clicked"] = "nativeAdClicked";
6
+ NativeAdPluginEvents["AdImpression"] = "nativeAdImpression";
7
+ NativeAdPluginEvents["Opened"] = "nativeAdOpened";
8
+ NativeAdPluginEvents["Closed"] = "nativeAdClosed";
9
+ NativeAdPluginEvents["AdPaid"] = "nativeAdPaid";
10
+ })(NativeAdPluginEvents || (NativeAdPluginEvents = {}));
11
+ //# sourceMappingURL=native-ad-plugin-events.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-ad-plugin-events.enum.js","sourceRoot":"","sources":["../../../src/native-ads/native-ad-plugin-events.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,oBAQX;AARD,WAAY,oBAAoB;IAC9B,iDAAyB,CAAA;IACzB,6DAAqC,CAAA;IACrC,mDAA2B,CAAA;IAC3B,2DAAmC,CAAA;IACnC,iDAAyB,CAAA;IACzB,iDAAyB,CAAA;IACzB,+CAAuB,CAAA;AACzB,CAAC,EARW,oBAAoB,KAApB,oBAAoB,QAQ/B"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Cross-platform style tokens supported by the plugin-owned native layouts.
3
+ * Arbitrary HTML and platform-specific native layouts are intentionally not
4
+ * accepted so that click tracking, AdChoices, and attribution remain under the
5
+ * Google Mobile Ads SDK's control.
6
+ */
7
+ export interface NativeAdStyle {
8
+ /** CSS-style `#RRGGBB` or `#RRGGBBAA`. */
9
+ backgroundColor?: string;
10
+ /** CSS-style `#RRGGBB` or `#RRGGBBAA`. */
11
+ borderColor?: string;
12
+ /** Border width in logical pixels. */
13
+ borderWidth?: number;
14
+ /** Corner radius in logical pixels. */
15
+ cornerRadius?: number;
16
+ /** CSS-style `#RRGGBB` or `#RRGGBBAA`. */
17
+ headlineColor?: string;
18
+ /** Scaled font size, clamped to 12–24. */
19
+ headlineFontSize?: number;
20
+ /** CSS-style `#RRGGBB` or `#RRGGBBAA`. */
21
+ bodyColor?: string;
22
+ /** Scaled font size, clamped to 10–18. */
23
+ bodyFontSize?: number;
24
+ /** CSS-style `#RRGGBB` or `#RRGGBBAA`. */
25
+ callToActionBackgroundColor?: string;
26
+ /** CSS-style `#RRGGBB` or `#RRGGBBAA`. */
27
+ callToActionTextColor?: string;
28
+ /** Scaled font size, clamped to 12–18. */
29
+ callToActionFontSize?: number;
30
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=native-ad-style.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-ad-style.interface.js","sourceRoot":"","sources":["../../../src/native-ads/native-ad-style.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Layouts rendered by the native Google Mobile Ads SDK.
3
+ *
4
+ * The dimensions of a native ad slot must remain stable while it is used by a
5
+ * virtual scroller. `small` is intended for compact rows, while `medium`
6
+ * includes a larger media area.
7
+ */
8
+ export declare enum NativeAdTemplate {
9
+ Small = "small",
10
+ Medium = "medium"
11
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Layouts rendered by the native Google Mobile Ads SDK.
3
+ *
4
+ * The dimensions of a native ad slot must remain stable while it is used by a
5
+ * virtual scroller. `small` is intended for compact rows, while `medium`
6
+ * includes a larger media area.
7
+ */
8
+ export var NativeAdTemplate;
9
+ (function (NativeAdTemplate) {
10
+ NativeAdTemplate["Small"] = "small";
11
+ NativeAdTemplate["Medium"] = "medium";
12
+ })(NativeAdTemplate || (NativeAdTemplate = {}));
13
+ //# sourceMappingURL=native-ad-template.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-ad-template.enum.js","sourceRoot":"","sources":["../../../src/native-ads/native-ad-template.enum.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,qCAAiB,CAAA;AACnB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B"}
@@ -1,4 +1,8 @@
1
1
  export declare enum RewardAdPluginEvents {
2
+ /**
3
+ * Emits when the SDK records a click on a rewarded ad.
4
+ */
5
+ adClicked = "onRewardedVideoAdClicked",
2
6
  /**
3
7
  * Emits when a rewarded ad has loaded and is ready to show.
4
8
  */
@@ -1,6 +1,10 @@
1
1
  // This enum should be keep in sync with their native equivalents with the same name
2
2
  export var RewardAdPluginEvents;
3
3
  (function (RewardAdPluginEvents) {
4
+ /**
5
+ * Emits when the SDK records a click on a rewarded ad.
6
+ */
7
+ RewardAdPluginEvents["adClicked"] = "onRewardedVideoAdClicked";
4
8
  /**
5
9
  * Emits when a rewarded ad has loaded and is ready to show.
6
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"reward-ad-plugin-events.enum.js","sourceRoot":"","sources":["../../../src/reward/reward-ad-plugin-events.enum.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,CAAN,IAAY,oBAgCX;AAhCD,WAAY,oBAAoB;IAC9B;;OAEG;IACH,0DAAkC,CAAA;IAClC;;OAEG;IACH,sEAA8C,CAAA;IAC9C;;OAEG;IACH,0DAAkC,CAAA;IAClC;;OAEG;IACH,sEAA8C,CAAA;IAC9C;;;;;OAKG;IACH,gEAAuC,CAAA;IACvC;;OAEG;IACH,4DAAmC,CAAA;IACnC;;OAEG;IACH,oEAA4C,CAAA;AAC9C,CAAC,EAhCW,oBAAoB,KAApB,oBAAoB,QAgC/B"}
1
+ {"version":3,"file":"reward-ad-plugin-events.enum.js","sourceRoot":"","sources":["../../../src/reward/reward-ad-plugin-events.enum.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,CAAN,IAAY,oBAoCX;AApCD,WAAY,oBAAoB;IAC9B;;OAEG;IACH,8DAAsC,CAAA;IACtC;;OAEG;IACH,0DAAkC,CAAA;IAClC;;OAEG;IACH,sEAA8C,CAAA;IAC9C;;OAEG;IACH,0DAAkC,CAAA;IAClC;;OAEG;IACH,sEAA8C,CAAA;IAC9C;;;;;OAKG;IACH,gEAAuC,CAAA;IACvC;;OAEG;IACH,4DAAmC,CAAA;IACnC;;OAEG;IACH,oEAA4C,CAAA;AAC9C,CAAC,EApCW,oBAAoB,KAApB,oBAAoB,QAoC/B"}
@@ -9,6 +9,9 @@ export interface RewardDefinitions {
9
9
  /**
10
10
  * Loads a rewarded ad and returns the loaded ad unit ID.
11
11
  *
12
+ * SDK load failures reject with the native error message and a string `code`.
13
+ * Codes are platform-specific; FailedToLoad events expose the same code as a number.
14
+ *
12
15
  * @group RewardVideo
13
16
  * @param options RewardAdOptions
14
17
  * @since 1.1.2
@@ -22,6 +25,11 @@ export interface RewardDefinitions {
22
25
  * @since 1.1.2
23
26
  */
24
27
  showRewardVideoAd(options?: AdShowOptions): Promise<AdMobRewardItem>;
28
+ /**
29
+ * Listens for clicks recorded by the rewarded ad SDK, including after a reward is earned.
30
+ * A click does not indicate that the user earned a reward.
31
+ */
32
+ addListener(eventName: RewardAdPluginEvents.adClicked, listenerFunc: () => void): Promise<PluginListenerHandle>;
25
33
  /**
26
34
  * Listens for rewarded ad load failures.
27
35
  */
@@ -9,6 +9,9 @@ export interface RewardInterstitialDefinitions {
9
9
  /**
10
10
  * Loads a rewarded interstitial ad and returns the loaded ad unit ID.
11
11
  *
12
+ * SDK load failures reject with the native error message and a string `code`.
13
+ * Codes are platform-specific; FailedToLoad events expose the same code as a number.
14
+ *
12
15
  * @group RewardInterstitial
13
16
  * @param options RewardInterstitialAdOptions
14
17
  * @since 1.1.2
package/dist/esm/web.d.ts CHANGED
@@ -1,10 +1,13 @@
1
1
  import { WebPlugin } from '@capacitor/core';
2
2
  import type { AdMobPlugin, ApplicationMutedOptions, ApplicationVolumeOptions, AdmobConsentInfo, AdmobConsentRequestOptions } from '.';
3
3
  import type { AppOpenAdOptions } from './app-open/app-open-ad-options.interface';
4
+ import type { NativeAdDefinitions } from './native-ads/native-ad-definitions.interface';
5
+ import type { NativeAdCommandIdentity, NativeAdFeedSession } from './native-ads/native-ad-options.interface';
6
+ import type { NativeAdPlacementBatch } from './native-ads/native-ad-placement.interface';
4
7
  import type { AdMobRewardItem } from './reward';
5
8
  import type { AdOptions, AdLoadInfo, AdShowOptions } from './shared';
6
9
  import type { TrackingAuthorizationStatusInterface } from './shared/tracking-authorization-status.interface';
7
- export declare class AdMobWeb extends WebPlugin implements AdMobPlugin {
10
+ export declare class AdMobWeb extends WebPlugin implements AdMobPlugin, NativeAdDefinitions {
8
11
  initialize(): Promise<void>;
9
12
  requestTrackingAuthorization(): Promise<void>;
10
13
  trackingAuthorizationStatus(): Promise<TrackingAuthorizationStatusInterface>;
@@ -18,6 +21,11 @@ export declare class AdMobWeb extends WebPlugin implements AdMobPlugin {
18
21
  hideBanner(): Promise<void>;
19
22
  resumeBanner(): Promise<void>;
20
23
  removeBanner(): Promise<void>;
24
+ startNativeAdFeed(): Promise<void>;
25
+ destroyNativeAdFeed(options: NativeAdFeedSession): Promise<void>;
26
+ loadNativeAd(): Promise<void>;
27
+ updateNativeAdPlacements(options: NativeAdPlacementBatch): Promise<void>;
28
+ removeNativeAd(options: NativeAdCommandIdentity): Promise<void>;
21
29
  prepareInterstitial(options: AdOptions): Promise<AdLoadInfo>;
22
30
  showInterstitial(options?: AdShowOptions): Promise<void>;
23
31
  prepareRewardVideoAd(options: AdOptions): Promise<AdLoadInfo>;
package/dist/esm/web.js CHANGED
@@ -54,6 +54,21 @@ export class AdMobWeb extends WebPlugin {
54
54
  async removeBanner() {
55
55
  console.log('removeBanner');
56
56
  }
57
+ async startNativeAdFeed() {
58
+ throw new Error('Native ads are only available on iOS and Android');
59
+ }
60
+ async destroyNativeAdFeed(options) {
61
+ console.log('destroyNativeAdFeed', options);
62
+ }
63
+ async loadNativeAd() {
64
+ throw new Error('Native ads are only available on iOS and Android');
65
+ }
66
+ async updateNativeAdPlacements(options) {
67
+ console.log('updateNativeAdPlacements', options);
68
+ }
69
+ async removeNativeAd(options) {
70
+ console.log('removeNativeAd', options);
71
+ }
57
72
  async prepareInterstitial(options) {
58
73
  console.log('prepareInterstitial', options);
59
74
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAU5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AAKpG,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrC,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,OAAO;YACL,MAAM,EAAE,YAAY;SACrB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAoC;QAC3D,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO;YACL,MAAM,EAAE,kBAAkB,CAAC,QAAQ;YACnC,sBAAsB,EAAE,IAAI;YAC5B,aAAa,EAAE,IAAI;YACnB,+BAA+B,EAAE,+BAA+B,CAAC,QAAQ;SAC1E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO;YACL,MAAM,EAAE,kBAAkB,CAAC,QAAQ;YACnC,aAAa,EAAE,IAAI;YACnB,+BAA+B,EAAE,+BAA+B,CAAC,QAAQ;SAC1E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAgC;QACxD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAAiC;QAC1D,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAkB;QACjC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAkB;QAC1C,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO;YACL,QAAQ,EAAE,OAAO,CAAC,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAuB;QAC5C,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAAkB;QAC3C,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO;YACL,QAAQ,EAAE,OAAO,CAAC,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAuB;QAC7C,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO;YACL,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,OAAkB;QAClD,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO;YACL,QAAQ,EAAE,OAAO,CAAC,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,OAAuB;QACpD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO;YACL,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO;YACL,QAAQ,EAAE,OAAO,CAAC,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED,WAAW,CAAC,SAAiB,EAAE,YAAsC;QACnE,KAAK,YAAY,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}