react-native-purchases-admob 0.0.0-stage → 10.15.1

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.
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TrackedAdState = void 0;
7
+ exports.generateImpressionId = generateImpressionId;
8
+ exports.setState = setState;
9
+ exports.stateFor = stateFor;
10
+ var _reactNativePurchases = require("react-native-purchases");
11
+ /**
12
+ * Per-ad bookkeeping, kept in a weak side table so the adapter never changes
13
+ * the lifetime of the `react-native-google-mobile-ads` objects it tracks.
14
+ */
15
+ class TrackedAdState {
16
+ showPlacement = null;
17
+ /**
18
+ * Either AdMob's response id (read once the ad loads) or, for ads created
19
+ * with reward verification, the id generated before the request so the SSV
20
+ * token and every tracking event share one impression id.
21
+ */
22
+ impressionId = "";
23
+ networkName = null;
24
+ clientTransactionId = null;
25
+ rewardVerificationDelivered = false;
26
+ loadedOnce = false;
27
+ constructor(adFormat, adUnitId, placement, pinnedImpressionId = null) {
28
+ this.adFormat = adFormat;
29
+ this.adUnitId = adUnitId;
30
+ this.pinnedImpressionId = pinnedImpressionId;
31
+ this.loadPlacement = placement ?? null;
32
+ if (pinnedImpressionId) {
33
+ this.impressionId = pinnedImpressionId;
34
+ }
35
+ }
36
+ get placement() {
37
+ return this.showPlacement ?? this.loadPlacement;
38
+ }
39
+ updateFromResponse(info) {
40
+ var _info$loadedAdapterRe;
41
+ if (!this.pinnedImpressionId) {
42
+ this.impressionId = (info === null || info === void 0 ? void 0 : info.responseId) ?? "";
43
+ }
44
+ this.networkName = (info === null || info === void 0 || (_info$loadedAdapterRe = info.loadedAdapterResponse) === null || _info$loadedAdapterRe === void 0 ? void 0 : _info$loadedAdapterRe.adapterClassName) ?? (info === null || info === void 0 ? void 0 : info.adapterClassName) ?? null;
45
+ }
46
+ get trackingMetadata() {
47
+ return {
48
+ networkName: this.networkName,
49
+ mediatorName: _reactNativePurchases.AdMediatorName.adMob,
50
+ adFormat: this.adFormat,
51
+ placement: this.placement,
52
+ adUnitId: this.adUnitId,
53
+ impressionId: this.impressionId,
54
+ captureMethod: _reactNativePurchases.AdCaptureMethod.reactNativeAdMobAdapter
55
+ };
56
+ }
57
+ }
58
+ exports.TrackedAdState = TrackedAdState;
59
+ const states = new WeakMap();
60
+ function stateFor(ad) {
61
+ return states.get(ad);
62
+ }
63
+ function setState(ad, state) {
64
+ states.set(ad, state);
65
+ return state;
66
+ }
67
+
68
+ /**
69
+ * UUID v4. Uses `crypto` when the runtime or a polyfill such as
70
+ * `react-native-get-random-values` provides it; Hermes has none by default,
71
+ * so it falls back to `Math.random`, which is enough for a correlation key.
72
+ */
73
+
74
+ function generateImpressionId() {
75
+ const cryptoObj = globalThis.crypto;
76
+ if (cryptoObj !== null && cryptoObj !== void 0 && cryptoObj.randomUUID) {
77
+ return cryptoObj.randomUUID();
78
+ }
79
+ const bytes = new Uint8Array(16);
80
+ if (cryptoObj !== null && cryptoObj !== void 0 && cryptoObj.getRandomValues) {
81
+ cryptoObj.getRandomValues(bytes);
82
+ } else {
83
+ for (let i = 0; i < bytes.length; i++) {
84
+ bytes[i] = Math.floor(Math.random() * 256);
85
+ }
86
+ }
87
+ bytes[6] = (bytes[6] ?? 0) & 0x0f | 0x40;
88
+ bytes[8] = (bytes[8] ?? 0) & 0x3f | 0x80;
89
+ const hex = Array.from(bytes, b => b.toString(16).padStart(2, "0"));
90
+ return [hex.slice(0, 4).join(""), hex.slice(4, 6).join(""), hex.slice(6, 8).join(""), hex.slice(8, 10).join(""), hex.slice(10, 16).join("")].join("-");
91
+ }
92
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativePurchases","require","TrackedAdState","showPlacement","impressionId","networkName","clientTransactionId","rewardVerificationDelivered","loadedOnce","constructor","adFormat","adUnitId","placement","pinnedImpressionId","loadPlacement","updateFromResponse","info","_info$loadedAdapterRe","responseId","loadedAdapterResponse","adapterClassName","trackingMetadata","mediatorName","AdMediatorName","adMob","captureMethod","AdCaptureMethod","reactNativeAdMobAdapter","exports","states","WeakMap","stateFor","ad","get","setState","state","set","generateImpressionId","cryptoObj","globalThis","crypto","randomUUID","bytes","Uint8Array","getRandomValues","i","length","Math","floor","random","hex","Array","from","b","toString","padStart","slice","join"],"sourceRoot":"../../src","sources":["state.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AdMobTracker = void 0;
7
+ exports.logWarning = logWarning;
8
+ exports.mediatorErrorCode = mediatorErrorCode;
9
+ exports.precisionFrom = precisionFrom;
10
+ exports.revenueMicrosFrom = revenueMicrosFrom;
11
+ var _reactNativePurchases = _interopRequireWildcard(require("react-native-purchases"));
12
+ var _reactNative = require("react-native");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ function logWarning(message) {
15
+ // tslint:disable-next-line:no-console
16
+ console.warn(`[react-native-purchases-admob] ${message}`);
17
+ }
18
+
19
+ // The data types mark this field @internal, hence the assertions below.
20
+ const captureMethod = _reactNativePurchases.AdCaptureMethod.reactNativeAdMobAdapter;
21
+
22
+ /**
23
+ * `react-native-google-mobile-ads` reports load failures with a string reason
24
+ * rather than the platform SDK's numeric error code, and the two SDKs number
25
+ * their codes differently. Each table inverts the library's own native mapping
26
+ * for that platform (ReactNativeGoogleMobileAdsCommon.java and
27
+ * RNGoogleMobileAdsOwnedMappers.m), so the emitted number matches what the
28
+ * native integration on the same platform reports.
29
+ */
30
+ const androidErrorCodes = {
31
+ "internal-error": 0,
32
+ "invalid-request": 1,
33
+ "network-error": 2,
34
+ "no-fill": 3,
35
+ "app-id-missing": 8,
36
+ "mediation-no-fill": 9,
37
+ "request-id-mismatch": 10,
38
+ "invalid-ad-string": 11
39
+ };
40
+ const iosErrorCodes = {
41
+ "invalid-request": 0,
42
+ "no-fill": 1,
43
+ "network-error": 2,
44
+ "server-error": 3,
45
+ timeout: 5,
46
+ "mediation-data-error": 7,
47
+ "mediation-adapter-error": 8,
48
+ "mediation-invalid-ad-size": 10,
49
+ "internal-error": 11,
50
+ "invalid-argument": 12,
51
+ "ad-already-used": 19,
52
+ "app-id-missing": 20,
53
+ "invalid-ad-string": 21
54
+ };
55
+ function mediatorErrorCode(reason) {
56
+ if (!reason) {
57
+ return null;
58
+ }
59
+ const table = _reactNative.Platform.OS === "ios" ? iosErrorCodes : androidErrorCodes;
60
+ const mapped = table[reason];
61
+ if (mapped !== undefined) {
62
+ return mapped;
63
+ }
64
+ const numeric = Number(reason);
65
+ return Number.isInteger(numeric) ? numeric : null;
66
+ }
67
+ function revenueMicrosFrom(paid) {
68
+ if (paid.valueMicros != null) {
69
+ const micros = Number(paid.valueMicros);
70
+ if (Number.isFinite(micros)) {
71
+ return Math.round(micros);
72
+ }
73
+ }
74
+ return Math.round(paid.value * 1_000_000);
75
+ }
76
+ function precisionFrom(precision) {
77
+ switch (precision) {
78
+ case 1:
79
+ return _reactNativePurchases.AdRevenuePrecision.estimated;
80
+ case 2:
81
+ return _reactNativePurchases.AdRevenuePrecision.publisherDefined;
82
+ case 3:
83
+ return _reactNativePurchases.AdRevenuePrecision.exact;
84
+ default:
85
+ return _reactNativePurchases.AdRevenuePrecision.unknown;
86
+ }
87
+ }
88
+ function swallow(event, promise) {
89
+ promise.catch(e => logWarning(`Could not track ${event}: ${e}`));
90
+ }
91
+ const AdMobTracker = exports.AdMobTracker = {
92
+ trackLoaded(state) {
93
+ swallow("ad loaded", _reactNativePurchases.default.adTracker.trackAdLoaded({
94
+ networkName: state.networkName,
95
+ mediatorName: _reactNativePurchases.AdMediatorName.adMob,
96
+ adFormat: state.adFormat,
97
+ placement: state.loadPlacement,
98
+ adUnitId: state.adUnitId,
99
+ impressionId: state.impressionId,
100
+ captureMethod
101
+ }));
102
+ },
103
+ trackFailedToLoad(adUnitId, adFormat, placement, reason) {
104
+ swallow("ad failed to load", _reactNativePurchases.default.adTracker.trackAdFailedToLoad({
105
+ mediatorName: _reactNativePurchases.AdMediatorName.adMob,
106
+ adFormat,
107
+ placement,
108
+ adUnitId,
109
+ mediatorErrorCode: mediatorErrorCode(reason),
110
+ captureMethod
111
+ }));
112
+ },
113
+ trackDisplayed(state) {
114
+ swallow("ad displayed", _reactNativePurchases.default.adTracker.trackAdDisplayed({
115
+ networkName: state.networkName,
116
+ mediatorName: _reactNativePurchases.AdMediatorName.adMob,
117
+ adFormat: state.adFormat,
118
+ placement: state.placement,
119
+ adUnitId: state.adUnitId,
120
+ impressionId: state.impressionId,
121
+ captureMethod
122
+ }));
123
+ },
124
+ trackOpened(state) {
125
+ swallow("ad opened", _reactNativePurchases.default.adTracker.trackAdOpened({
126
+ networkName: state.networkName,
127
+ mediatorName: _reactNativePurchases.AdMediatorName.adMob,
128
+ adFormat: state.adFormat,
129
+ placement: state.placement,
130
+ adUnitId: state.adUnitId,
131
+ impressionId: state.impressionId,
132
+ captureMethod
133
+ }));
134
+ },
135
+ trackRewardEarnedUnverified(state) {
136
+ swallow("reward earned", _reactNativePurchases.default.adTracker.trackAdRewardEarnedUnverified({
137
+ networkName: state.networkName,
138
+ mediatorName: _reactNativePurchases.AdMediatorName.adMob,
139
+ adFormat: state.adFormat,
140
+ placement: state.placement,
141
+ adUnitId: state.adUnitId,
142
+ impressionId: state.impressionId,
143
+ captureMethod
144
+ }));
145
+ },
146
+ trackRevenue(state, paid) {
147
+ swallow("ad revenue", _reactNativePurchases.default.adTracker.trackAdRevenue({
148
+ networkName: state.networkName,
149
+ mediatorName: _reactNativePurchases.AdMediatorName.adMob,
150
+ adFormat: state.adFormat,
151
+ placement: state.placement,
152
+ adUnitId: state.adUnitId,
153
+ impressionId: state.impressionId,
154
+ revenueMicros: revenueMicrosFrom(paid),
155
+ currency: paid.currency,
156
+ precision: precisionFrom(paid.precision),
157
+ captureMethod
158
+ }));
159
+ }
160
+ };
161
+ //# sourceMappingURL=tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativePurchases","_interopRequireWildcard","require","_reactNative","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","logWarning","message","console","warn","captureMethod","AdCaptureMethod","reactNativeAdMobAdapter","androidErrorCodes","iosErrorCodes","timeout","mediatorErrorCode","reason","table","Platform","OS","mapped","undefined","numeric","Number","isInteger","revenueMicrosFrom","paid","valueMicros","micros","isFinite","Math","round","value","precisionFrom","precision","AdRevenuePrecision","estimated","publisherDefined","exact","unknown","swallow","event","promise","catch","AdMobTracker","exports","trackLoaded","state","Purchases","adTracker","trackAdLoaded","networkName","mediatorName","AdMediatorName","adMob","adFormat","placement","loadPlacement","adUnitId","impressionId","trackFailedToLoad","trackAdFailedToLoad","trackDisplayed","trackAdDisplayed","trackOpened","trackAdOpened","trackRewardEarnedUnverified","trackAdRewardEarnedUnverified","trackRevenue","trackAdRevenue","revenueMicros","currency"],"sourceRoot":"../../src","sources":["tracker.ts"],"mappings":"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","ignoreList":[]}