react-native-applovin-max 4.1.7 → 5.0.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.
@@ -9,7 +9,7 @@
9
9
  #import "AppLovinMAX.h"
10
10
  #import "AppLovinMAXAdView.h"
11
11
 
12
- @interface AppLovinMAXAdView()<MAAdViewAdDelegate>
12
+ @interface AppLovinMAXAdView()<MAAdViewAdDelegate, MAAdRevenueDelegate>
13
13
 
14
14
  @property (nonatomic, strong, nullable) MAAdView *adView; // nil when unmounted
15
15
 
@@ -20,6 +20,16 @@
20
20
  @property (nonatomic, copy, nullable) NSString *customData;
21
21
  @property (nonatomic, assign, readonly, getter=isAdaptiveBannerEnabled) BOOL adaptiveBannerEnabled;
22
22
  @property (nonatomic, assign, readonly, getter=isAutoRefresh) BOOL autoRefresh;
23
+ @property (nonatomic, copy, nullable) NSDictionary *extraParameters;
24
+ @property (nonatomic, copy, nullable) NSDictionary *localExtraParameters;
25
+
26
+ @property (nonatomic, copy) RCTDirectEventBlock onAdLoadedEvent;
27
+ @property (nonatomic, copy) RCTDirectEventBlock onAdLoadFailedEvent;
28
+ @property (nonatomic, copy) RCTDirectEventBlock onAdDisplayFailedEvent;
29
+ @property (nonatomic, copy) RCTDirectEventBlock onAdClickedEvent;
30
+ @property (nonatomic, copy) RCTDirectEventBlock onAdExpandedEvent;
31
+ @property (nonatomic, copy) RCTDirectEventBlock onAdCollapsedEvent;
32
+ @property (nonatomic, copy) RCTDirectEventBlock onAdRevenuePaidEvent;
23
33
 
24
34
  @end
25
35
 
@@ -48,11 +58,11 @@
48
58
  return;
49
59
  }
50
60
 
51
- if ( [@"banner" isEqualToString: adFormat] )
61
+ if ( [MAAdFormat.banner.label isEqualToString: adFormat] )
52
62
  {
53
63
  _adFormat = DEVICE_SPECIFIC_ADVIEW_AD_FORMAT;
54
64
  }
55
- else if ( [@"mrec" isEqualToString: adFormat] )
65
+ else if ( [MAAdFormat.mrec.label isEqualToString: adFormat] )
56
66
  {
57
67
  _adFormat = MAAdFormat.mrec;
58
68
  }
@@ -121,6 +131,12 @@
121
131
  // Run after 0.25 sec delay to allow all properties to set
122
132
  dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t) (0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
123
133
 
134
+ if ( ![AppLovinMAX shared].sdk )
135
+ {
136
+ [[AppLovinMAX shared] logUninitializedAccessError: @"AppLovinMAXAdview.attachAdViewIfNeeded"];
137
+ return;
138
+ }
139
+
124
140
  if ( ![adUnitId al_isValidString] )
125
141
  {
126
142
  [[AppLovinMAX shared] log: @"Attempting to attach MAAdView without Ad Unit ID"];
@@ -146,13 +162,23 @@
146
162
  sdk: [AppLovinMAX shared].sdk];
147
163
  self.adView.frame = (CGRect) { CGPointZero, self.frame.size };
148
164
  self.adView.delegate = self;
149
- self.adView.revenueDelegate = [AppLovinMAX shared];
165
+ self.adView.revenueDelegate = self;
150
166
  self.adView.placement = self.placement;
151
167
  self.adView.customData = self.customData;
152
168
  [self.adView setExtraParameterForKey: @"adaptive_banner" value: [self isAdaptiveBannerEnabled] ? @"true" : @"false"];
153
169
  // Set this extra parameter to work around a SDK bug that ignores calls to stopAutoRefresh()
154
170
  [self.adView setExtraParameterForKey: @"allow_pause_auto_refresh_immediately" value: @"true"];
155
171
 
172
+ for ( NSString *key in self.extraParameters )
173
+ {
174
+ [self.adView setExtraParameterForKey: key value: self.extraParameters[key]];
175
+ }
176
+
177
+ for ( NSString *key in self.localExtraParameters )
178
+ {
179
+ [self.adView setLocalExtraParameterForKey: key value: self.localExtraParameters[key]];
180
+ }
181
+
156
182
  if ( [self isAutoRefresh] )
157
183
  {
158
184
  [self.adView startAutoRefresh];
@@ -198,36 +224,41 @@
198
224
 
199
225
  - (void)didLoadAd:(MAAd *)ad
200
226
  {
201
- [[AppLovinMAX shared] didLoadAd: ad];
227
+ self.onAdLoadedEvent([[AppLovinMAX shared] adInfoForAd: ad]);
202
228
  }
203
229
 
204
230
  - (void)didFailToLoadAdForAdUnitIdentifier:(NSString *)adUnitIdentifier withError:(MAError *)error
205
231
  {
206
- NSString *name = ( MAAdFormat.mrec == self.adFormat ) ? @"OnMRecAdLoadFailedEvent" : @"OnBannerAdLoadFailedEvent";
207
-
208
- [[AppLovinMAX shared] sendReactNativeEventForAdLoadFailed: name forAdUnitIdentifier: adUnitIdentifier withError: error];
232
+ self.onAdLoadFailedEvent([[AppLovinMAX shared] adLoadFailedInfoForAd: adUnitIdentifier withError: error]);
209
233
  }
210
234
 
211
235
  - (void)didFailToDisplayAd:(MAAd *)ad withError:(MAError *)error
212
236
  {
213
- [[AppLovinMAX shared] didFailToDisplayAd: ad withError: error];
237
+ self.onAdDisplayFailedEvent([[AppLovinMAX shared] adDisplayFailedInfoForAd: ad withError: error]);
214
238
  }
215
239
 
216
240
  - (void)didClickAd:(MAAd *)ad
217
241
  {
218
- [[AppLovinMAX shared] didClickAd: ad];
242
+ self.onAdClickedEvent([[AppLovinMAX shared] adInfoForAd: ad]);
219
243
  }
220
244
 
221
245
  #pragma mark - MAAdViewAdDelegate Protocol
222
246
 
223
247
  - (void)didExpandAd:(MAAd *)ad
224
248
  {
225
- [[AppLovinMAX shared] didExpandAd: ad];
249
+ self.onAdExpandedEvent([[AppLovinMAX shared] adInfoForAd: ad]);
226
250
  }
227
251
 
228
252
  - (void)didCollapseAd:(MAAd *)ad
229
253
  {
230
- [[AppLovinMAX shared] didCollapseAd: ad];
254
+ self.onAdCollapsedEvent([[AppLovinMAX shared] adInfoForAd: ad]);
255
+ }
256
+
257
+ #pragma mark - MAAdRevenueDelegate Protocol
258
+
259
+ - (void)didPayRevenueForAd:(MAAd *)ad
260
+ {
261
+ self.onAdRevenuePaidEvent([[AppLovinMAX shared] adRevenueInfoForAd: ad]);
231
262
  }
232
263
 
233
264
  #pragma mark - Deprecated Callbacks
@@ -19,6 +19,16 @@ RCT_EXPORT_VIEW_PROPERTY(placement, NSString)
19
19
  RCT_EXPORT_VIEW_PROPERTY(customData, NSString)
20
20
  RCT_EXPORT_VIEW_PROPERTY(adaptiveBannerEnabled, BOOL)
21
21
  RCT_EXPORT_VIEW_PROPERTY(autoRefresh, BOOL)
22
+ RCT_EXPORT_VIEW_PROPERTY(extraParameters, NSDictionary)
23
+ RCT_EXPORT_VIEW_PROPERTY(localExtraParameters, NSDictionary)
24
+
25
+ RCT_EXPORT_VIEW_PROPERTY(onAdLoadedEvent, RCTDirectEventBlock)
26
+ RCT_EXPORT_VIEW_PROPERTY(onAdLoadFailedEvent, RCTDirectEventBlock)
27
+ RCT_EXPORT_VIEW_PROPERTY(onAdDisplayFailedEvent, RCTDirectEventBlock)
28
+ RCT_EXPORT_VIEW_PROPERTY(onAdClickedEvent, RCTDirectEventBlock)
29
+ RCT_EXPORT_VIEW_PROPERTY(onAdExpandedEvent, RCTDirectEventBlock)
30
+ RCT_EXPORT_VIEW_PROPERTY(onAdCollapsedEvent, RCTDirectEventBlock)
31
+ RCT_EXPORT_VIEW_PROPERTY(onAdRevenuePaidEvent, RCTDirectEventBlock)
22
32
 
23
33
  + (BOOL)requiresMainQueueSetup
24
34
  {
@@ -18,7 +18,7 @@
18
18
  - (void)handleNativeAdViewRenderedForAd:(MAAd *)ad;
19
19
  @end
20
20
 
21
- @interface AppLovinMAXNativeAdView()<MANativeAdDelegate>
21
+ @interface AppLovinMAXNativeAdView()<MANativeAdDelegate, MAAdRevenueDelegate>
22
22
 
23
23
  @property (nonatomic, weak) RCTBridge *bridge;
24
24
  @property (nonatomic, strong, nullable) MANativeAdLoader *adLoader;
@@ -30,9 +30,13 @@
30
30
  @property (nonatomic, copy, nullable) NSString *placement;
31
31
  @property (nonatomic, copy, nullable) NSString *customData;
32
32
  @property (nonatomic, copy, nullable) NSDictionary *extraParameters;
33
+ @property (nonatomic, copy, nullable) NSDictionary *localExtraParameters;
33
34
 
34
35
  // Callback to `AppLovinNativeAdView.js`
35
- @property (nonatomic, copy) RCTDirectEventBlock onAdLoaded;
36
+ @property (nonatomic, copy) RCTDirectEventBlock onAdLoadedEvent;
37
+ @property (nonatomic, copy) RCTDirectEventBlock onAdLoadFailedEvent;
38
+ @property (nonatomic, copy) RCTDirectEventBlock onAdClickedEvent;
39
+ @property (nonatomic, copy) RCTDirectEventBlock onAdRevenuePaidEvent;
36
40
 
37
41
  // TODO: Allow publisher to select which views are clickable and which isn't via prop
38
42
  @property (nonatomic, strong) NSMutableArray<UIView *> *clickableViews;
@@ -62,7 +66,7 @@
62
66
  {
63
67
  _adLoader = [[MANativeAdLoader alloc] initWithAdUnitIdentifier: self.adUnitId sdk: [AppLovinMAX shared].sdk];
64
68
  _adLoader.nativeAdDelegate = self;
65
- _adLoader.revenueDelegate = [AppLovinMAX shared];
69
+ _adLoader.revenueDelegate = self;
66
70
  }
67
71
 
68
72
  return _adLoader;
@@ -93,6 +97,12 @@
93
97
  // Called when Ad Unit ID is set, and via RN layer
94
98
  - (void)loadAd
95
99
  {
100
+ if ( ![AppLovinMAX shared].sdk )
101
+ {
102
+ [[AppLovinMAX shared] logUninitializedAccessError: @"AppLovinMAXNativeAdview.loadAd"];
103
+ return;
104
+ }
105
+
96
106
  if ( [self.isLoading compareAndSet: NO update: YES] )
97
107
  {
98
108
  [[AppLovinMAX shared] log: @"Loading a native ad for Ad Unit ID: %@...", self.adUnitId];
@@ -105,6 +115,11 @@
105
115
  [self.adLoader setExtraParameterForKey: key value: self.extraParameters[key]];
106
116
  }
107
117
 
118
+ for ( NSString *key in self.localExtraParameters )
119
+ {
120
+ [self.adLoader setLocalExtraParameterForKey: key value: self.localExtraParameters[key]];
121
+ }
122
+
108
123
  [self.adLoader loadAd];
109
124
  }
110
125
  else
@@ -171,21 +186,27 @@
171
186
  [self.clickableViews addObject: view];
172
187
  }
173
188
 
174
- - (void)setMediaView:(NSNumber *)tag
189
+ - (void)setIconView:(NSNumber *)tag
175
190
  {
176
- if ( !self.nativeAd.nativeAd.mediaView ) return;
177
-
178
191
  UIView *view = [self.bridge.uiManager viewForReactTag: tag];
179
- if ( !view )
192
+ if ( ![view isKindOfClass: [RCTImageView class]] )
180
193
  {
181
- [[AppLovinMAX shared] log: @"Cannot find a media view with tag \"%@\" for %@", tag, self.adUnitId];
194
+ [[AppLovinMAX shared] log: @"Cannot find an icon image view with tag \"%@\" for %@", tag, self.adUnitId];
182
195
  return;
183
196
  }
184
-
197
+
185
198
  [self.clickableViews addObject: view];
186
-
187
- [view addSubview: self.nativeAd.nativeAd.mediaView];
188
- [self.nativeAd.nativeAd.mediaView al_pinToSuperview];
199
+
200
+ MANativeAdImage *icon = self.nativeAd.nativeAd.icon;
201
+ if ( icon )
202
+ {
203
+ // Check if "URL" was missing and therefore need to set the image data
204
+ if ( !icon.URL && icon.image )
205
+ {
206
+ RCTImageView *iconImageView = (RCTImageView *) view;
207
+ iconImageView.defaultImage = icon.image;
208
+ }
209
+ }
189
210
  }
190
211
 
191
212
  - (void)setOptionsView:(NSNumber *)tag
@@ -203,27 +224,21 @@
203
224
  [self.nativeAd.nativeAd.optionsView al_pinToSuperview];
204
225
  }
205
226
 
206
- - (void)setIconView:(NSNumber *)tag
227
+ - (void)setMediaView:(NSNumber *)tag
207
228
  {
229
+ if ( !self.nativeAd.nativeAd.mediaView ) return;
230
+
208
231
  UIView *view = [self.bridge.uiManager viewForReactTag: tag];
209
- if ( ![view isKindOfClass: [RCTImageView class]] )
232
+ if ( !view )
210
233
  {
211
- [[AppLovinMAX shared] log: @"Cannot find an icon image view with tag \"%@\" for %@", tag, self.adUnitId];
234
+ [[AppLovinMAX shared] log: @"Cannot find a media view with tag \"%@\" for %@", tag, self.adUnitId];
212
235
  return;
213
236
  }
214
-
237
+
215
238
  [self.clickableViews addObject: view];
216
-
217
- MANativeAdImage *icon = self.nativeAd.nativeAd.icon;
218
- if ( icon )
219
- {
220
- // Check if "URL" was missing and therefore need to set the image data
221
- if ( !icon.URL && icon.image )
222
- {
223
- RCTImageView *iconImageView = (RCTImageView *) view;
224
- iconImageView.defaultImage = icon.image;
225
- }
226
- }
239
+
240
+ [view addSubview: self.nativeAd.nativeAd.mediaView];
241
+ [self.nativeAd.nativeAd.mediaView al_pinToSuperview];
227
242
  }
228
243
 
229
244
  #pragma mark - Ad Loader Delegate
@@ -238,7 +253,7 @@
238
253
  [self.isLoading set: NO];
239
254
 
240
255
  [[AppLovinMAX shared] log: @"Native ad is of template type, failing ad load..."];
241
- [[AppLovinMAX shared] sendReactNativeEventForAdLoadFailed: @"OnNativeAdLoadFailedEvent" forAdUnitIdentifier: self.adUnitId withError: nil];
256
+ self.onAdLoadFailedEvent([[AppLovinMAX shared] adLoadFailedInfoForAd: self.adUnitId withError: nil]);
242
257
 
243
258
  return;
244
259
  }
@@ -253,9 +268,6 @@
253
268
  // After notifying the RN layer - have slight delay to let views bind to this layer in `clickableViews` before registering
254
269
  dispatchOnMainQueueAfter(0.5, ^{
255
270
 
256
- // Notify publisher
257
- [[AppLovinMAX shared] didLoadAd: ad];
258
-
259
271
  [self.adLoader registerClickableViews: self.clickableViews withContainer: self forAd: ad];
260
272
  [self.adLoader handleNativeAdViewRenderedForAd: ad];
261
273
 
@@ -265,8 +277,32 @@
265
277
 
266
278
  - (void)sendAdLoadedReactNativeEventForAd:(MANativeAd *)ad
267
279
  {
268
- NSMutableDictionary<NSString *, id> *jsNativeAd = [NSMutableDictionary dictionaryWithCapacity: 6];
280
+ // 1. AdInfo for publisher to be notified via `onAdLoaded`
269
281
 
282
+ NSMutableDictionary<NSString *, id> *nativeAdInfo = [NSMutableDictionary dictionaryWithCapacity: 2];
283
+ if ( !isnan(ad.mediaContentAspectRatio) )
284
+ {
285
+ // The aspect ratio can be 0.0f when it is not provided by the network.
286
+ if ( fabs(ad.mediaContentAspectRatio) < FLT_EPSILON )
287
+ {
288
+ nativeAdInfo[@"mediaContentAspectRatio"] = @(1.0);
289
+ }
290
+ else
291
+ {
292
+ nativeAdInfo[@"mediaContentAspectRatio"] = @(ad.mediaContentAspectRatio);
293
+ }
294
+ }
295
+ else
296
+ {
297
+ nativeAdInfo[@"mediaContentAspectRatio"] = @(1.0);
298
+ }
299
+
300
+ NSMutableDictionary *adInfo = [[AppLovinMAX shared] adInfoForAd: self.nativeAd].mutableCopy;
301
+ adInfo[@"nativeAd"] = nativeAdInfo;
302
+
303
+ // 2. NativeAd for `AppLovinNativeAdView.js` to render the views
304
+
305
+ NSMutableDictionary<NSString *, id> *jsNativeAd = [NSMutableDictionary dictionaryWithCapacity: 5];
270
306
  if ( ad.title )
271
307
  {
272
308
  jsNativeAd[@"title"] = ad.title;
@@ -294,13 +330,15 @@
294
330
  jsNativeAd[@"image"] = @(YES);
295
331
  }
296
332
  }
297
- if ( !isnan(ad.mediaContentAspectRatio) )
298
- {
299
- jsNativeAd[@"mediaContentAspectRatio"] = @(ad.mediaContentAspectRatio);
300
- }
301
-
302
- // Send to `AppLovinNativeAdView.js` to render the views
303
- self.onAdLoaded(jsNativeAd);
333
+ jsNativeAd[@"isOptionsViewAvailable"] = ad.optionsView ? @(YES) : @(NO);
334
+ jsNativeAd[@"isMediaViewAvailable"] = ad.mediaView ? @(YES) : @(NO);
335
+
336
+ NSMutableDictionary<NSString *, id> *arg = [NSMutableDictionary dictionaryWithCapacity: 2];
337
+ arg[@"adInfo"] = adInfo;
338
+ arg[@"nativeAd"] = jsNativeAd;
339
+
340
+ // Send to `AppLovinNativeAdView.js`
341
+ self.onAdLoadedEvent(arg);
304
342
  }
305
343
 
306
344
  - (void)didFailToLoadNativeAdForAdUnitIdentifier:(NSString *)adUnitIdentifier withError:(MAError *)error
@@ -310,12 +348,19 @@
310
348
  [[AppLovinMAX shared] log: @"Failed to load native ad for Ad Unit ID %@ with error: %@", self.adUnitId, error];
311
349
 
312
350
  // Notify publisher
313
- [[AppLovinMAX shared] sendReactNativeEventForAdLoadFailed: @"OnNativeAdLoadFailedEvent" forAdUnitIdentifier: self.adUnitId withError: error];
351
+ self.onAdLoadFailedEvent([[AppLovinMAX shared] adLoadFailedInfoForAd: adUnitIdentifier withError: error]);
314
352
  }
315
353
 
316
354
  - (void)didClickNativeAd:(MAAd *)ad
317
355
  {
318
- [[AppLovinMAX shared] didClickAd: ad];
356
+ self.onAdClickedEvent([[AppLovinMAX shared] adInfoForAd: ad]);
357
+ }
358
+
359
+ #pragma mark - Ad Revenue Delegate
360
+
361
+ - (void)didPayRevenueForAd:(MAAd *)ad
362
+ {
363
+ self.onAdRevenuePaidEvent([[AppLovinMAX shared] adRevenueInfoForAd: ad]);
319
364
  }
320
365
 
321
366
  - (void)destroyCurrentAdIfNeeded
@@ -18,9 +18,7 @@ RCT_EXPORT_VIEW_PROPERTY(adUnitId, NSString)
18
18
  RCT_EXPORT_VIEW_PROPERTY(placement, NSString)
19
19
  RCT_EXPORT_VIEW_PROPERTY(customData, NSString)
20
20
  RCT_EXPORT_VIEW_PROPERTY(extraParameters, NSDictionary)
21
-
22
- // Callback
23
- RCT_EXPORT_VIEW_PROPERTY(onAdLoaded, RCTDirectEventBlock)
21
+ RCT_EXPORT_VIEW_PROPERTY(localExtraParameters, NSDictionary)
24
22
 
25
23
  // Asset views
26
24
  RCT_EXPORT_VIEW_PROPERTY(titleView, NSNumber)
@@ -31,6 +29,12 @@ RCT_EXPORT_VIEW_PROPERTY(iconView, NSNumber)
31
29
  RCT_EXPORT_VIEW_PROPERTY(optionsView, NSNumber)
32
30
  RCT_EXPORT_VIEW_PROPERTY(mediaView, NSNumber)
33
31
 
32
+ // Callback
33
+ RCT_EXPORT_VIEW_PROPERTY(onAdLoadedEvent, RCTDirectEventBlock)
34
+ RCT_EXPORT_VIEW_PROPERTY(onAdLoadFailedEvent, RCTDirectEventBlock)
35
+ RCT_EXPORT_VIEW_PROPERTY(onAdClickedEvent, RCTDirectEventBlock)
36
+ RCT_EXPORT_VIEW_PROPERTY(onAdRevenuePaidEvent, RCTDirectEventBlock)
37
+
34
38
  + (BOOL)requiresMainQueueSetup
35
39
  {
36
40
  return YES;
package/ios/Podfile CHANGED
@@ -35,6 +35,6 @@ target 'AppLovinMAX' do
35
35
  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
36
36
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
37
37
 
38
- pod 'AppLovinSDK', '11.8.0'
38
+ pod 'AppLovinSDK', '11.8.2'
39
39
 
40
40
  end
package/ios/Podfile.lock CHANGED
@@ -1,5 +1,5 @@
1
1
  PODS:
2
- - AppLovinSDK (11.8.0)
2
+ - AppLovinSDK (11.8.2)
3
3
  - boost-for-react-native (1.63.0)
4
4
  - DoubleConversion (1.1.6)
5
5
  - FBLazyVector (0.63.5)
@@ -249,7 +249,7 @@ PODS:
249
249
  - Yoga (1.14.0)
250
250
 
251
251
  DEPENDENCIES:
252
- - AppLovinSDK (= 11.8.0)
252
+ - AppLovinSDK (= 11.8.2)
253
253
  - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
254
254
  - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
255
255
  - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
@@ -339,7 +339,7 @@ EXTERNAL SOURCES:
339
339
  :path: "../node_modules/react-native/ReactCommon/yoga"
340
340
 
341
341
  SPEC CHECKSUMS:
342
- AppLovinSDK: 80818d048a0d46701b878927a1e1a064d32b747d
342
+ AppLovinSDK: cfcf1972d25febb4c0f23837763e3809f0fba159
343
343
  boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
344
344
  DoubleConversion: cde416483dac037923206447da6e1454df403714
345
345
  FBLazyVector: 352a8ca9bbc8e2f097d680747a8c97ecef12d469
@@ -368,6 +368,6 @@ SPEC CHECKSUMS:
368
368
  ReactCommon: b9ff54b6dd22ba4a776eda22d7f83ec27544ca35
369
369
  Yoga: 0276e9f20976c8568e107cfc1163a8629051adc0
370
370
 
371
- PODFILE CHECKSUM: 6e9aa2145f566a91f3e26d928707679adc7b3cf8
371
+ PODFILE CHECKSUM: 8638b3ebfa25029aca293faa9d5f2513a076845c
372
372
 
373
373
  COCOAPODS: 1.11.3
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-native-applovin-max",
3
3
  "author": "AppLovin Corporation",
4
- "version": "4.1.7",
4
+ "version": "5.0.1",
5
5
  "description": "AppLovin MAX React Native Plugin for Android and iOS",
6
6
  "homepage": "https://github.com/AppLovin/AppLovin-MAX-React-Native",
7
7
  "license": "MIT",
@@ -11,10 +11,10 @@ Pod::Spec.new do |s|
11
11
  s.authors = package["author"]
12
12
 
13
13
  s.platforms = { :ios => "10.0" }
14
- s.source = { :git => "https://github.com/AppLovin/AppLovin-MAX-React-Native.git", :tag => "release_4_1_7" }
14
+ s.source = { :git => "https://github.com/AppLovin/AppLovin-MAX-React-Native.git", :tag => "release_5_0_1" }
15
15
 
16
16
  s.source_files = "ios/AppLovinMAX*.{h,m}"
17
17
 
18
18
  s.dependency "React"
19
- s.dependency "AppLovinSDK", "11.8.0"
19
+ s.dependency "AppLovinSDK", "11.8.2"
20
20
  end