react-native-applovin-max 7.1.0 → 8.0.0

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 (44) hide show
  1. package/android/build.gradle +3 -3
  2. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdEvents.java +67 -0
  3. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdView.java +10 -6
  4. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewManager.java +7 -7
  5. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewUiComponent.java +9 -13
  6. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXModule.java +103 -145
  7. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdView.java +6 -6
  8. package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdViewManager.java +4 -4
  9. package/ios/AppLovinMAX.m +46 -22
  10. package/ios/AppLovinMAXAdView.h +12 -3
  11. package/ios/AppLovinMAXAdView.m +17 -13
  12. package/ios/AppLovinMAXAdViewManager.m +1 -1
  13. package/ios/AppLovinMAXAdViewUIComponent.h +7 -6
  14. package/ios/AppLovinMAXAdViewUIComponent.m +10 -15
  15. package/ios/AppLovinMAXNativeAdView.m +2 -2
  16. package/lib/commonjs/AppLovinMAX.js +1 -1
  17. package/lib/commonjs/ErrorCode.js +49 -0
  18. package/lib/commonjs/ErrorCode.js.map +1 -0
  19. package/lib/commonjs/index.js +8 -0
  20. package/lib/commonjs/index.js.map +1 -1
  21. package/lib/commonjs/types/AdInfo.js.map +1 -1
  22. package/lib/module/AppLovinMAX.js +1 -1
  23. package/lib/module/ErrorCode.js +43 -0
  24. package/lib/module/ErrorCode.js.map +1 -0
  25. package/lib/module/index.js +1 -0
  26. package/lib/module/index.js.map +1 -1
  27. package/lib/module/types/AdInfo.js.map +1 -1
  28. package/lib/typescript/src/ErrorCode.d.ts +83 -0
  29. package/lib/typescript/src/ErrorCode.d.ts.map +1 -0
  30. package/lib/typescript/src/index.d.ts +1 -0
  31. package/lib/typescript/src/index.d.ts.map +1 -1
  32. package/lib/typescript/src/types/AdInfo.d.ts +4 -3
  33. package/lib/typescript/src/types/AdInfo.d.ts.map +1 -1
  34. package/lib/typescript/src/types/AdProps.d.ts +6 -6
  35. package/lib/typescript/src/types/Privacy.d.ts +0 -10
  36. package/lib/typescript/src/types/Privacy.d.ts.map +1 -1
  37. package/package.json +1 -1
  38. package/react-native-applovin-max.podspec +2 -2
  39. package/src/AppLovinMAX.ts +1 -1
  40. package/src/ErrorCode.ts +116 -0
  41. package/src/index.ts +1 -0
  42. package/src/types/AdInfo.ts +5 -3
  43. package/src/types/AdProps.ts +6 -6
  44. package/src/types/Privacy.ts +0 -12
@@ -32,6 +32,7 @@ import com.applovin.mediation.MaxReward;
32
32
  import com.applovin.mediation.MaxRewardedAdListener;
33
33
  import com.applovin.mediation.MaxSegment;
34
34
  import com.applovin.mediation.MaxSegmentCollection;
35
+ import com.applovin.mediation.adapter.MaxAdapterError;
35
36
  import com.applovin.mediation.ads.MaxAdView;
36
37
  import com.applovin.mediation.ads.MaxAppOpenAd;
37
38
  import com.applovin.mediation.ads.MaxInterstitialAd;
@@ -82,48 +83,6 @@ public class AppLovinMAXModule
82
83
  private static final String USER_GEOGRAPHY_OTHER = "O";
83
84
  private static final String USER_GEOGRAPHY_UNKNOWN = "U";
84
85
 
85
- private static final String ON_BANNER_AD_LOADED_EVENT = "OnBannerAdLoadedEvent";
86
- private static final String ON_BANNER_AD_LOAD_FAILED_EVENT = "OnBannerAdLoadFailedEvent";
87
- private static final String ON_BANNER_AD_CLICKED_EVENT = "OnBannerAdClickedEvent";
88
- private static final String ON_BANNER_AD_COLLAPSED_EVENT = "OnBannerAdCollapsedEvent";
89
- private static final String ON_BANNER_AD_EXPANDED_EVENT = "OnBannerAdExpandedEvent";
90
- private static final String ON_BANNER_AD_REVENUE_PAID = "OnBannerAdRevenuePaid";
91
-
92
- private static final String ON_MREC_AD_LOADED_EVENT = "OnMRecAdLoadedEvent";
93
- private static final String ON_MREC_AD_LOAD_FAILED_EVENT = "OnMRecAdLoadFailedEvent";
94
- private static final String ON_MREC_AD_CLICKED_EVENT = "OnMRecAdClickedEvent";
95
- private static final String ON_MREC_AD_COLLAPSED_EVENT = "OnMRecAdCollapsedEvent";
96
- private static final String ON_MREC_AD_EXPANDED_EVENT = "OnMRecAdExpandedEvent";
97
- private static final String ON_MREC_AD_REVENUE_PAID = "OnMRecAdRevenuePaid";
98
-
99
- private static final String ON_INTERSTITIAL_LOADED_EVENT = "OnInterstitialLoadedEvent";
100
- private static final String ON_INTERSTITIAL_LOAD_FAILED_EVENT = "OnInterstitialLoadFailedEvent";
101
- private static final String ON_INTERSTITIAL_CLICKED_EVENT = "OnInterstitialClickedEvent";
102
- private static final String ON_INTERSTITIAL_DISPLAYED_EVENT = "OnInterstitialDisplayedEvent";
103
- private static final String ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT = "OnInterstitialAdFailedToDisplayEvent";
104
- private static final String ON_INTERSTITIAL_HIDDEN_EVENT = "OnInterstitialHiddenEvent";
105
- private static final String ON_INTERSTITIAL_AD_REVENUE_PAID = "OnInterstitialAdRevenuePaid";
106
-
107
- private static final String ON_REWARDED_AD_LOADED_EVENT = "OnRewardedAdLoadedEvent";
108
- private static final String ON_REWARDED_AD_LOAD_FAILED_EVENT = "OnRewardedAdLoadFailedEvent";
109
- private static final String ON_REWARDED_AD_CLICKED_EVENT = "OnRewardedAdClickedEvent";
110
- private static final String ON_REWARDED_AD_DISPLAYED_EVENT = "OnRewardedAdDisplayedEvent";
111
- private static final String ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT = "OnRewardedAdFailedToDisplayEvent";
112
- private static final String ON_REWARDED_AD_HIDDEN_EVENT = "OnRewardedAdHiddenEvent";
113
- private static final String ON_REWARDED_AD_RECEIVED_REWARD_EVENT = "OnRewardedAdReceivedRewardEvent";
114
- private static final String ON_REWARDED_AD_REVENUE_PAID = "OnRewardedAdRevenuePaid";
115
-
116
- private static final String ON_APPOPEN_AD_LOADED_EVENT = "OnAppOpenAdLoadedEvent";
117
- private static final String ON_APPOPEN_AD_LOAD_FAILED_EVENT = "OnAppOpenAdLoadFailedEvent";
118
- private static final String ON_APPOPEN_AD_CLICKED_EVENT = "OnAppOpenAdClickedEvent";
119
- private static final String ON_APPOPEN_AD_DISPLAYED_EVENT = "OnAppOpenAdDisplayedEvent";
120
- private static final String ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT = "OnAppOpenAdFailedToDisplayEvent";
121
- private static final String ON_APPOPEN_AD_HIDDEN_EVENT = "OnAppOpenAdHiddenEvent";
122
- private static final String ON_APPOPEN_AD_REVENUE_PAID = "OnAppOpenAdRevenuePaid";
123
-
124
- private static final String ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT = "OnNativeUIComponentAdViewAdLoadedEvent";
125
- private static final String ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT = "OnNativeUIComponentAdViewAdLoadFailedEvent";
126
-
127
86
  private static final String TOP_CENTER = "top_center";
128
87
  private static final String TOP_LEFT = "top_left";
129
88
  private static final String TOP_RIGHT = "top_right";
@@ -150,9 +109,9 @@ public class AppLovinMAXModule
150
109
  private int lastRotation;
151
110
 
152
111
  // Store these values if pub attempts to set it before initializing
153
- private List<String> initializationAdUnitIdsToSet;
154
- private List<String> testDeviceAdvertisingIdsToSet;
155
- private MaxSegmentCollection.Builder segmentCollectionBuilder = MaxSegmentCollection.builder();
112
+ private List<String> initializationAdUnitIdsToSet;
113
+ private List<String> testDeviceAdvertisingIdsToSet;
114
+ private final MaxSegmentCollection.Builder segmentCollectionBuilder = MaxSegmentCollection.builder();
156
115
 
157
116
  // Fullscreen Ad Fields
158
117
  private final Map<String, MaxInterstitialAd> interstitials = new HashMap<>( 2 );
@@ -333,18 +292,6 @@ public class AppLovinMAXModule
333
292
  promise.resolve( AppLovinPrivacySettings.hasUserConsent( getReactApplicationContext() ) );
334
293
  }
335
294
 
336
- @ReactMethod
337
- public void setIsAgeRestrictedUser(final boolean isAgeRestrictedUser)
338
- {
339
- AppLovinPrivacySettings.setIsAgeRestrictedUser( isAgeRestrictedUser, getReactApplicationContext() );
340
- }
341
-
342
- @ReactMethod
343
- public void isAgeRestrictedUser(final Promise promise)
344
- {
345
- promise.resolve( AppLovinPrivacySettings.isAgeRestrictedUser( getReactApplicationContext() ) );
346
- }
347
-
348
295
  @ReactMethod
349
296
  public void setDoNotSell(final boolean doNotSell)
350
297
  {
@@ -902,7 +849,7 @@ public class AppLovinMAXModule
902
849
  MaxInterstitialAd interstitial = retrieveInterstitial( adUnitId, "loadInterstitial" );
903
850
  if ( interstitial == null )
904
851
  {
905
- sendReactNativeEventForAdLoadFailed( ON_INTERSTITIAL_LOAD_FAILED_EVENT, adUnitId, null );
852
+ sendReactNativeEventForAdLoadFailed( AppLovinMAXAdEvents.ON_INTERSTITIAL_LOAD_FAILED_EVENT, adUnitId, null );
906
853
  return;
907
854
  }
908
855
 
@@ -941,7 +888,7 @@ public class AppLovinMAXModule
941
888
  MaxInterstitialAd interstitial = retrieveInterstitial( adUnitId, "showInterstitial" );
942
889
  if ( interstitial == null )
943
890
  {
944
- sendReactNativeEvent( ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT, getAdUnitInfo( adUnitId ) );
891
+ sendReactNativeEvent( AppLovinMAXAdEvents.ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT, getAdUnitInfo( adUnitId ) );
945
892
  return;
946
893
  }
947
894
 
@@ -993,7 +940,7 @@ public class AppLovinMAXModule
993
940
  MaxRewardedAd rewardedAd = retrieveRewardedAd( adUnitId, "loadRewardedAd" );
994
941
  if ( rewardedAd == null )
995
942
  {
996
- sendReactNativeEventForAdLoadFailed( ON_REWARDED_AD_LOAD_FAILED_EVENT, adUnitId, null );
943
+ sendReactNativeEventForAdLoadFailed( AppLovinMAXAdEvents.ON_REWARDED_AD_LOAD_FAILED_EVENT, adUnitId, null );
997
944
  return;
998
945
  }
999
946
 
@@ -1032,7 +979,7 @@ public class AppLovinMAXModule
1032
979
  MaxRewardedAd rewardedAd = retrieveRewardedAd( adUnitId, "showRewardedAd" );
1033
980
  if ( rewardedAd == null )
1034
981
  {
1035
- sendReactNativeEvent( ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT, getAdUnitInfo( adUnitId ) );
982
+ sendReactNativeEvent( AppLovinMAXAdEvents.ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT, getAdUnitInfo( adUnitId ) );
1036
983
  return;
1037
984
  }
1038
985
 
@@ -1158,7 +1105,14 @@ public class AppLovinMAXModule
1158
1105
  final Map<String, Object> extraParameters = ( extraParameterMap != null ) ? extraParameterMap.toHashMap() : null;
1159
1106
  final Map<String, Object> localExtraParameters = ( localExtraParameterMap != null ) ? localExtraParameterMap.toHashMap() : null;
1160
1107
 
1161
- getReactApplicationContext().runOnUiQueueThread( () -> AppLovinMAXAdView.preloadNativeUIComponentAdView( adUnitId, finalAdFormat, placement, customData, extraParameters, localExtraParameters, promise, getReactApplicationContext() ) );
1108
+ getReactApplicationContext().runOnUiQueueThread( () -> AppLovinMAXAdView.preloadNativeUIComponentAdView( adUnitId,
1109
+ finalAdFormat,
1110
+ placement,
1111
+ customData,
1112
+ extraParameters,
1113
+ localExtraParameters,
1114
+ promise,
1115
+ getReactApplicationContext() ) );
1162
1116
  }
1163
1117
 
1164
1118
  @ReactMethod
@@ -1176,7 +1130,7 @@ public class AppLovinMAXModule
1176
1130
  MaxAdFormat adFormat = ad.getFormat();
1177
1131
  if ( adFormat.isAdViewAd() )
1178
1132
  {
1179
- name = ( MaxAdFormat.MREC == adFormat ) ? ON_MREC_AD_LOADED_EVENT : ON_BANNER_AD_LOADED_EVENT;
1133
+ name = ( MaxAdFormat.MREC == adFormat ) ? AppLovinMAXAdEvents.ON_MREC_AD_LOADED_EVENT : AppLovinMAXAdEvents.ON_BANNER_AD_LOADED_EVENT;
1180
1134
 
1181
1135
  String adViewPosition = adViewPositions.get( ad.getAdUnitId() );
1182
1136
  if ( AppLovinSdkUtils.isValidString( adViewPosition ) )
@@ -1195,15 +1149,15 @@ public class AppLovinMAXModule
1195
1149
  }
1196
1150
  else if ( MaxAdFormat.INTERSTITIAL == adFormat )
1197
1151
  {
1198
- name = ON_INTERSTITIAL_LOADED_EVENT;
1152
+ name = AppLovinMAXAdEvents.ON_INTERSTITIAL_LOADED_EVENT;
1199
1153
  }
1200
1154
  else if ( MaxAdFormat.REWARDED == adFormat )
1201
1155
  {
1202
- name = ON_REWARDED_AD_LOADED_EVENT;
1156
+ name = AppLovinMAXAdEvents.ON_REWARDED_AD_LOADED_EVENT;
1203
1157
  }
1204
1158
  else if ( MaxAdFormat.APP_OPEN == adFormat )
1205
1159
  {
1206
- name = ON_APPOPEN_AD_LOADED_EVENT;
1160
+ name = AppLovinMAXAdEvents.ON_APPOPEN_AD_LOADED_EVENT;
1207
1161
  }
1208
1162
  else
1209
1163
  {
@@ -1226,19 +1180,19 @@ public class AppLovinMAXModule
1226
1180
  String name;
1227
1181
  if ( adViews.containsKey( adUnitId ) )
1228
1182
  {
1229
- name = ( MaxAdFormat.MREC == adViewAdFormats.get( adUnitId ) ) ? ON_MREC_AD_LOAD_FAILED_EVENT : ON_BANNER_AD_LOAD_FAILED_EVENT;
1183
+ name = ( MaxAdFormat.MREC == adViewAdFormats.get( adUnitId ) ) ? AppLovinMAXAdEvents.ON_MREC_AD_LOAD_FAILED_EVENT : AppLovinMAXAdEvents.ON_BANNER_AD_LOAD_FAILED_EVENT;
1230
1184
  }
1231
1185
  else if ( interstitials.containsKey( adUnitId ) )
1232
1186
  {
1233
- name = ON_INTERSTITIAL_LOAD_FAILED_EVENT;
1187
+ name = AppLovinMAXAdEvents.ON_INTERSTITIAL_LOAD_FAILED_EVENT;
1234
1188
  }
1235
1189
  else if ( rewardedAds.containsKey( adUnitId ) )
1236
1190
  {
1237
- name = ON_REWARDED_AD_LOAD_FAILED_EVENT;
1191
+ name = AppLovinMAXAdEvents.ON_REWARDED_AD_LOAD_FAILED_EVENT;
1238
1192
  }
1239
1193
  else if ( appOpenAds.containsKey( adUnitId ) )
1240
1194
  {
1241
- name = ON_APPOPEN_AD_LOAD_FAILED_EVENT;
1195
+ name = AppLovinMAXAdEvents.ON_APPOPEN_AD_LOAD_FAILED_EVENT;
1242
1196
  }
1243
1197
  else
1244
1198
  {
@@ -1261,23 +1215,23 @@ public class AppLovinMAXModule
1261
1215
  final String name;
1262
1216
  if ( MaxAdFormat.BANNER == adFormat || MaxAdFormat.LEADER == adFormat )
1263
1217
  {
1264
- name = ON_BANNER_AD_CLICKED_EVENT;
1218
+ name = AppLovinMAXAdEvents.ON_BANNER_AD_CLICKED_EVENT;
1265
1219
  }
1266
1220
  else if ( MaxAdFormat.MREC == adFormat )
1267
1221
  {
1268
- name = ON_MREC_AD_CLICKED_EVENT;
1222
+ name = AppLovinMAXAdEvents.ON_MREC_AD_CLICKED_EVENT;
1269
1223
  }
1270
1224
  else if ( MaxAdFormat.INTERSTITIAL == adFormat )
1271
1225
  {
1272
- name = ON_INTERSTITIAL_CLICKED_EVENT;
1226
+ name = AppLovinMAXAdEvents.ON_INTERSTITIAL_CLICKED_EVENT;
1273
1227
  }
1274
1228
  else if ( MaxAdFormat.REWARDED == adFormat )
1275
1229
  {
1276
- name = ON_REWARDED_AD_CLICKED_EVENT;
1230
+ name = AppLovinMAXAdEvents.ON_REWARDED_AD_CLICKED_EVENT;
1277
1231
  }
1278
1232
  else if ( MaxAdFormat.APP_OPEN == adFormat )
1279
1233
  {
1280
- name = ON_APPOPEN_AD_CLICKED_EVENT;
1234
+ name = AppLovinMAXAdEvents.ON_APPOPEN_AD_CLICKED_EVENT;
1281
1235
  }
1282
1236
  else
1283
1237
  {
@@ -1298,15 +1252,15 @@ public class AppLovinMAXModule
1298
1252
  final String name;
1299
1253
  if ( MaxAdFormat.INTERSTITIAL == adFormat )
1300
1254
  {
1301
- name = ON_INTERSTITIAL_DISPLAYED_EVENT;
1255
+ name = AppLovinMAXAdEvents.ON_INTERSTITIAL_DISPLAYED_EVENT;
1302
1256
  }
1303
1257
  else if ( MaxAdFormat.REWARDED == adFormat )
1304
1258
  {
1305
- name = ON_REWARDED_AD_DISPLAYED_EVENT;
1259
+ name = AppLovinMAXAdEvents.ON_REWARDED_AD_DISPLAYED_EVENT;
1306
1260
  }
1307
1261
  else // APP OPEN
1308
1262
  {
1309
- name = ON_APPOPEN_AD_DISPLAYED_EVENT;
1263
+ name = AppLovinMAXAdEvents.ON_APPOPEN_AD_DISPLAYED_EVENT;
1310
1264
  }
1311
1265
 
1312
1266
  sendReactNativeEvent( name, getAdInfo( ad ) );
@@ -1322,15 +1276,15 @@ public class AppLovinMAXModule
1322
1276
  final String name;
1323
1277
  if ( MaxAdFormat.INTERSTITIAL == adFormat )
1324
1278
  {
1325
- name = ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT;
1279
+ name = AppLovinMAXAdEvents.ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT;
1326
1280
  }
1327
1281
  else if ( MaxAdFormat.REWARDED == adFormat )
1328
1282
  {
1329
- name = ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT;
1283
+ name = AppLovinMAXAdEvents.ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT;
1330
1284
  }
1331
1285
  else // APP OPEN
1332
1286
  {
1333
- name = ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT;
1287
+ name = AppLovinMAXAdEvents.ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT;
1334
1288
  }
1335
1289
 
1336
1290
  sendReactNativeEvent( name, getAdDisplayFailedInfo( ad, error ) );
@@ -1346,15 +1300,15 @@ public class AppLovinMAXModule
1346
1300
  String name;
1347
1301
  if ( MaxAdFormat.INTERSTITIAL == adFormat )
1348
1302
  {
1349
- name = ON_INTERSTITIAL_HIDDEN_EVENT;
1303
+ name = AppLovinMAXAdEvents.ON_INTERSTITIAL_HIDDEN_EVENT;
1350
1304
  }
1351
1305
  else if ( MaxAdFormat.REWARDED == adFormat )
1352
1306
  {
1353
- name = ON_REWARDED_AD_HIDDEN_EVENT;
1307
+ name = AppLovinMAXAdEvents.ON_REWARDED_AD_HIDDEN_EVENT;
1354
1308
  }
1355
1309
  else // APP OPEN
1356
1310
  {
1357
- name = ON_APPOPEN_AD_HIDDEN_EVENT;
1311
+ name = AppLovinMAXAdEvents.ON_APPOPEN_AD_HIDDEN_EVENT;
1358
1312
  }
1359
1313
 
1360
1314
  sendReactNativeEvent( name, getAdInfo( ad ) );
@@ -1370,7 +1324,7 @@ public class AppLovinMAXModule
1370
1324
  return;
1371
1325
  }
1372
1326
 
1373
- sendReactNativeEvent( ( MaxAdFormat.MREC == adFormat ) ? ON_MREC_AD_EXPANDED_EVENT : ON_BANNER_AD_EXPANDED_EVENT, getAdInfo( ad ) );
1327
+ sendReactNativeEvent( ( MaxAdFormat.MREC == adFormat ) ? AppLovinMAXAdEvents.ON_MREC_AD_EXPANDED_EVENT : AppLovinMAXAdEvents.ON_BANNER_AD_EXPANDED_EVENT, getAdInfo( ad ) );
1374
1328
  }
1375
1329
 
1376
1330
  @Override
@@ -1383,7 +1337,7 @@ public class AppLovinMAXModule
1383
1337
  return;
1384
1338
  }
1385
1339
 
1386
- sendReactNativeEvent( ( MaxAdFormat.MREC == adFormat ) ? ON_MREC_AD_COLLAPSED_EVENT : ON_BANNER_AD_COLLAPSED_EVENT, getAdInfo( ad ) );
1340
+ sendReactNativeEvent( ( MaxAdFormat.MREC == adFormat ) ? AppLovinMAXAdEvents.ON_MREC_AD_COLLAPSED_EVENT : AppLovinMAXAdEvents.ON_BANNER_AD_COLLAPSED_EVENT, getAdInfo( ad ) );
1387
1341
  }
1388
1342
 
1389
1343
  @Override
@@ -1393,23 +1347,23 @@ public class AppLovinMAXModule
1393
1347
  final String name;
1394
1348
  if ( MaxAdFormat.BANNER == adFormat || MaxAdFormat.LEADER == adFormat )
1395
1349
  {
1396
- name = ON_BANNER_AD_REVENUE_PAID;
1350
+ name = AppLovinMAXAdEvents.ON_BANNER_AD_REVENUE_PAID;
1397
1351
  }
1398
1352
  else if ( MaxAdFormat.MREC == adFormat )
1399
1353
  {
1400
- name = ON_MREC_AD_REVENUE_PAID;
1354
+ name = AppLovinMAXAdEvents.ON_MREC_AD_REVENUE_PAID;
1401
1355
  }
1402
1356
  else if ( MaxAdFormat.INTERSTITIAL == adFormat )
1403
1357
  {
1404
- name = ON_INTERSTITIAL_AD_REVENUE_PAID;
1358
+ name = AppLovinMAXAdEvents.ON_INTERSTITIAL_AD_REVENUE_PAID;
1405
1359
  }
1406
1360
  else if ( MaxAdFormat.REWARDED == adFormat )
1407
1361
  {
1408
- name = ON_REWARDED_AD_REVENUE_PAID;
1362
+ name = AppLovinMAXAdEvents.ON_REWARDED_AD_REVENUE_PAID;
1409
1363
  }
1410
1364
  else if ( MaxAdFormat.APP_OPEN == adFormat )
1411
1365
  {
1412
- name = ON_APPOPEN_AD_REVENUE_PAID;
1366
+ name = AppLovinMAXAdEvents.ON_APPOPEN_AD_REVENUE_PAID;
1413
1367
  }
1414
1368
  else
1415
1369
  {
@@ -1420,18 +1374,6 @@ public class AppLovinMAXModule
1420
1374
  sendReactNativeEvent( name, getAdRevenueInfo( ad ) );
1421
1375
  }
1422
1376
 
1423
- @Override
1424
- public void onRewardedVideoCompleted(@NonNull final MaxAd ad)
1425
- {
1426
- // This event is not forwarded
1427
- }
1428
-
1429
- @Override
1430
- public void onRewardedVideoStarted(@NonNull final MaxAd ad)
1431
- {
1432
- // This event is not forwarded
1433
- }
1434
-
1435
1377
  @Override
1436
1378
  public void onUserRewarded(final MaxAd ad, @NonNull final MaxReward reward)
1437
1379
  {
@@ -1448,7 +1390,7 @@ public class AppLovinMAXModule
1448
1390
  WritableMap params = getAdInfo( ad );
1449
1391
  params.putString( "rewardLabel", rewardLabel );
1450
1392
  params.putInt( "rewardAmount", rewardAmount );
1451
- sendReactNativeEvent( "OnRewardedAdReceivedRewardEvent", params );
1393
+ sendReactNativeEvent( AppLovinMAXAdEvents.ON_REWARDED_AD_RECEIVED_REWARD_EVENT, params );
1452
1394
  }
1453
1395
 
1454
1396
  // INTERNAL METHODS
@@ -2369,47 +2311,47 @@ public class AppLovinMAXModule
2369
2311
  {
2370
2312
  final Map<String, Object> constants = new HashMap<>();
2371
2313
 
2372
- constants.put( "ON_MREC_AD_LOADED_EVENT", ON_MREC_AD_LOADED_EVENT );
2373
- constants.put( "ON_MREC_AD_LOAD_FAILED_EVENT", ON_MREC_AD_LOAD_FAILED_EVENT );
2374
- constants.put( "ON_MREC_AD_CLICKED_EVENT", ON_MREC_AD_CLICKED_EVENT );
2375
- constants.put( "ON_MREC_AD_COLLAPSED_EVENT", ON_MREC_AD_COLLAPSED_EVENT );
2376
- constants.put( "ON_MREC_AD_EXPANDED_EVENT", ON_MREC_AD_EXPANDED_EVENT );
2377
- constants.put( "ON_MREC_AD_REVENUE_PAID", ON_MREC_AD_REVENUE_PAID );
2378
-
2379
- constants.put( "ON_BANNER_AD_LOADED_EVENT", ON_BANNER_AD_LOADED_EVENT );
2380
- constants.put( "ON_BANNER_AD_LOAD_FAILED_EVENT", ON_BANNER_AD_LOAD_FAILED_EVENT );
2381
- constants.put( "ON_BANNER_AD_CLICKED_EVENT", ON_BANNER_AD_CLICKED_EVENT );
2382
- constants.put( "ON_BANNER_AD_COLLAPSED_EVENT", ON_BANNER_AD_COLLAPSED_EVENT );
2383
- constants.put( "ON_BANNER_AD_EXPANDED_EVENT", ON_BANNER_AD_EXPANDED_EVENT );
2384
- constants.put( "ON_BANNER_AD_REVENUE_PAID", ON_BANNER_AD_REVENUE_PAID );
2385
-
2386
- constants.put( "ON_INTERSTITIAL_LOADED_EVENT", ON_INTERSTITIAL_LOADED_EVENT );
2387
- constants.put( "ON_INTERSTITIAL_LOAD_FAILED_EVENT", ON_INTERSTITIAL_LOAD_FAILED_EVENT );
2388
- constants.put( "ON_INTERSTITIAL_CLICKED_EVENT", ON_INTERSTITIAL_CLICKED_EVENT );
2389
- constants.put( "ON_INTERSTITIAL_DISPLAYED_EVENT", ON_INTERSTITIAL_DISPLAYED_EVENT );
2390
- constants.put( "ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT", ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT );
2391
- constants.put( "ON_INTERSTITIAL_HIDDEN_EVENT", ON_INTERSTITIAL_HIDDEN_EVENT );
2392
- constants.put( "ON_INTERSTITIAL_AD_REVENUE_PAID", ON_INTERSTITIAL_AD_REVENUE_PAID );
2393
-
2394
- constants.put( "ON_REWARDED_AD_LOADED_EVENT", ON_REWARDED_AD_LOADED_EVENT );
2395
- constants.put( "ON_REWARDED_AD_LOAD_FAILED_EVENT", ON_REWARDED_AD_LOAD_FAILED_EVENT );
2396
- constants.put( "ON_REWARDED_AD_CLICKED_EVENT", ON_REWARDED_AD_CLICKED_EVENT );
2397
- constants.put( "ON_REWARDED_AD_DISPLAYED_EVENT", ON_REWARDED_AD_DISPLAYED_EVENT );
2398
- constants.put( "ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT", ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT );
2399
- constants.put( "ON_REWARDED_AD_HIDDEN_EVENT", ON_REWARDED_AD_HIDDEN_EVENT );
2400
- constants.put( "ON_REWARDED_AD_RECEIVED_REWARD_EVENT", ON_REWARDED_AD_RECEIVED_REWARD_EVENT );
2401
- constants.put( "ON_REWARDED_AD_REVENUE_PAID", ON_REWARDED_AD_REVENUE_PAID );
2402
-
2403
- constants.put( "ON_APPOPEN_AD_LOADED_EVENT", ON_APPOPEN_AD_LOADED_EVENT );
2404
- constants.put( "ON_APPOPEN_AD_LOAD_FAILED_EVENT", ON_APPOPEN_AD_LOAD_FAILED_EVENT );
2405
- constants.put( "ON_APPOPEN_AD_CLICKED_EVENT", ON_APPOPEN_AD_CLICKED_EVENT );
2406
- constants.put( "ON_APPOPEN_AD_DISPLAYED_EVENT", ON_APPOPEN_AD_DISPLAYED_EVENT );
2407
- constants.put( "ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT", ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT );
2408
- constants.put( "ON_APPOPEN_AD_HIDDEN_EVENT", ON_APPOPEN_AD_HIDDEN_EVENT );
2409
- constants.put( "ON_APPOPEN_AD_REVENUE_PAID", ON_APPOPEN_AD_REVENUE_PAID );
2410
-
2411
- constants.put( "ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT", ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT );
2412
- constants.put( "ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT", ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT );
2314
+ constants.put( "ON_MREC_AD_LOADED_EVENT", AppLovinMAXAdEvents.ON_MREC_AD_LOADED_EVENT );
2315
+ constants.put( "ON_MREC_AD_LOAD_FAILED_EVENT", AppLovinMAXAdEvents.ON_MREC_AD_LOAD_FAILED_EVENT );
2316
+ constants.put( "ON_MREC_AD_CLICKED_EVENT", AppLovinMAXAdEvents.ON_MREC_AD_CLICKED_EVENT );
2317
+ constants.put( "ON_MREC_AD_COLLAPSED_EVENT", AppLovinMAXAdEvents.ON_MREC_AD_COLLAPSED_EVENT );
2318
+ constants.put( "ON_MREC_AD_EXPANDED_EVENT", AppLovinMAXAdEvents.ON_MREC_AD_EXPANDED_EVENT );
2319
+ constants.put( "ON_MREC_AD_REVENUE_PAID", AppLovinMAXAdEvents.ON_MREC_AD_REVENUE_PAID );
2320
+
2321
+ constants.put( "ON_BANNER_AD_LOADED_EVENT", AppLovinMAXAdEvents.ON_BANNER_AD_LOADED_EVENT );
2322
+ constants.put( "ON_BANNER_AD_LOAD_FAILED_EVENT", AppLovinMAXAdEvents.ON_BANNER_AD_LOAD_FAILED_EVENT );
2323
+ constants.put( "ON_BANNER_AD_CLICKED_EVENT", AppLovinMAXAdEvents.ON_BANNER_AD_CLICKED_EVENT );
2324
+ constants.put( "ON_BANNER_AD_COLLAPSED_EVENT", AppLovinMAXAdEvents.ON_BANNER_AD_COLLAPSED_EVENT );
2325
+ constants.put( "ON_BANNER_AD_EXPANDED_EVENT", AppLovinMAXAdEvents.ON_BANNER_AD_EXPANDED_EVENT );
2326
+ constants.put( "ON_BANNER_AD_REVENUE_PAID", AppLovinMAXAdEvents.ON_BANNER_AD_REVENUE_PAID );
2327
+
2328
+ constants.put( "ON_INTERSTITIAL_LOADED_EVENT", AppLovinMAXAdEvents.ON_INTERSTITIAL_LOADED_EVENT );
2329
+ constants.put( "ON_INTERSTITIAL_LOAD_FAILED_EVENT", AppLovinMAXAdEvents.ON_INTERSTITIAL_LOAD_FAILED_EVENT );
2330
+ constants.put( "ON_INTERSTITIAL_CLICKED_EVENT", AppLovinMAXAdEvents.ON_INTERSTITIAL_CLICKED_EVENT );
2331
+ constants.put( "ON_INTERSTITIAL_DISPLAYED_EVENT", AppLovinMAXAdEvents.ON_INTERSTITIAL_DISPLAYED_EVENT );
2332
+ constants.put( "ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT", AppLovinMAXAdEvents.ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT );
2333
+ constants.put( "ON_INTERSTITIAL_HIDDEN_EVENT", AppLovinMAXAdEvents.ON_INTERSTITIAL_HIDDEN_EVENT );
2334
+ constants.put( "ON_INTERSTITIAL_AD_REVENUE_PAID", AppLovinMAXAdEvents.ON_INTERSTITIAL_AD_REVENUE_PAID );
2335
+
2336
+ constants.put( "ON_REWARDED_AD_LOADED_EVENT", AppLovinMAXAdEvents.ON_REWARDED_AD_LOADED_EVENT );
2337
+ constants.put( "ON_REWARDED_AD_LOAD_FAILED_EVENT", AppLovinMAXAdEvents.ON_REWARDED_AD_LOAD_FAILED_EVENT );
2338
+ constants.put( "ON_REWARDED_AD_CLICKED_EVENT", AppLovinMAXAdEvents.ON_REWARDED_AD_CLICKED_EVENT );
2339
+ constants.put( "ON_REWARDED_AD_DISPLAYED_EVENT", AppLovinMAXAdEvents.ON_REWARDED_AD_DISPLAYED_EVENT );
2340
+ constants.put( "ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT", AppLovinMAXAdEvents.ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT );
2341
+ constants.put( "ON_REWARDED_AD_HIDDEN_EVENT", AppLovinMAXAdEvents.ON_REWARDED_AD_HIDDEN_EVENT );
2342
+ constants.put( "ON_REWARDED_AD_RECEIVED_REWARD_EVENT", AppLovinMAXAdEvents.ON_REWARDED_AD_RECEIVED_REWARD_EVENT );
2343
+ constants.put( "ON_REWARDED_AD_REVENUE_PAID", AppLovinMAXAdEvents.ON_REWARDED_AD_REVENUE_PAID );
2344
+
2345
+ constants.put( "ON_APPOPEN_AD_LOADED_EVENT", AppLovinMAXAdEvents.ON_APPOPEN_AD_LOADED_EVENT );
2346
+ constants.put( "ON_APPOPEN_AD_LOAD_FAILED_EVENT", AppLovinMAXAdEvents.ON_APPOPEN_AD_LOAD_FAILED_EVENT );
2347
+ constants.put( "ON_APPOPEN_AD_CLICKED_EVENT", AppLovinMAXAdEvents.ON_APPOPEN_AD_CLICKED_EVENT );
2348
+ constants.put( "ON_APPOPEN_AD_DISPLAYED_EVENT", AppLovinMAXAdEvents.ON_APPOPEN_AD_DISPLAYED_EVENT );
2349
+ constants.put( "ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT", AppLovinMAXAdEvents.ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT );
2350
+ constants.put( "ON_APPOPEN_AD_HIDDEN_EVENT", AppLovinMAXAdEvents.ON_APPOPEN_AD_HIDDEN_EVENT );
2351
+ constants.put( "ON_APPOPEN_AD_REVENUE_PAID", AppLovinMAXAdEvents.ON_APPOPEN_AD_REVENUE_PAID );
2352
+
2353
+ constants.put( "ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT", AppLovinMAXAdEvents.ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT );
2354
+ constants.put( "ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT", AppLovinMAXAdEvents.ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT );
2413
2355
 
2414
2356
  constants.put( "TOP_CENTER_POSITION", TOP_CENTER );
2415
2357
  constants.put( "TOP_LEFT_POSITION", TOP_LEFT );
@@ -2424,6 +2366,22 @@ public class AppLovinMAXModule
2424
2366
  constants.put( "BANNER_AD_FORMAT_LABEL", MaxAdFormat.BANNER.getLabel() );
2425
2367
  constants.put( "MREC_AD_FORMAT_LABEL", MaxAdFormat.MREC.getLabel() );
2426
2368
 
2369
+ constants.put( "MAX_ERROR_CODE_UNSPECIFIED", MaxErrorCode.UNSPECIFIED );
2370
+ constants.put( "MAX_ERROR_CODE_NO_FILL", MaxErrorCode.NO_FILL );
2371
+ constants.put( "MAX_ERROR_CODE_AD_LOAD_FAILED", MaxErrorCode.AD_LOAD_FAILED );
2372
+ constants.put( "MAX_ERROR_CODE_AD_DISPLAY_FAILED", MaxAdapterError.ERROR_CODE_AD_DISPLAY_FAILED );
2373
+ constants.put( "MAX_ERROR_CODE_NETWORK_ERROR", MaxErrorCode.NETWORK_ERROR );
2374
+ constants.put( "MAX_ERROR_CODE_NETWORK_TIMEOUT", MaxErrorCode.NETWORK_TIMEOUT );
2375
+ constants.put( "MAX_ERROR_CODE_NO_NETWORK", MaxErrorCode.NO_NETWORK );
2376
+ constants.put( "MAX_ERROR_CODE_FULLSCREEN_AD_ALREADY_SHOWING", MaxErrorCode.FULLSCREEN_AD_ALREADY_SHOWING );
2377
+ constants.put( "MAX_ERROR_CODE_FULLSCREEN_AD_NOT_READY", MaxErrorCode.FULLSCREEN_AD_NOT_READY );
2378
+ constants.put( "MAX_ERROR_CODE_FULLSCREEN_AD_ALREADY_LOADING", MaxErrorCode.FULLSCREEN_AD_ALREADY_LOADING );
2379
+ constants.put( "MAX_ERROR_CODE_FULLSCREEN_AD_LOAD_WHILE_SHOWING", MaxErrorCode.FULLSCREEN_AD_LOAD_WHILE_SHOWING );
2380
+ constants.put( "MAX_ERROR_CODE_DONT_KEEP_ACTIVITIES_ENABLED", MaxErrorCode.DONT_KEEP_ACTIVITIES_ENABLED );
2381
+ constants.put( "MAX_ERROR_CODE_INVALID_AD_UNIT_ID", MaxErrorCode.INVALID_AD_UNIT_ID );
2382
+ // iOS only
2383
+ constants.put( "MAX_ERROR_CODE_FULLSCREEN_AD_INVALID_VIEW_CONTROLLER", -25 );
2384
+
2427
2385
  return constants;
2428
2386
  }
2429
2387
  }
@@ -188,7 +188,7 @@ public class AppLovinMAXNativeAdView
188
188
  AppLovinMAXModule.e( "Native ad is of template type, failing ad load..." );
189
189
 
190
190
  WritableMap loadFailedInfo = AppLovinMAXModule.getInstance().getAdLoadFailedInfo( adUnitId, null );
191
- reactContext.getJSModule( RCTEventEmitter.class ).receiveEvent( getId(), "onAdLoadFailedEvent", loadFailedInfo );
191
+ reactContext.getJSModule( RCTEventEmitter.class ).receiveEvent( getId(), AppLovinMAXAdEvents.ON_AD_LOAD_FAILED_EVENT, loadFailedInfo );
192
192
 
193
193
  return;
194
194
  }
@@ -211,14 +211,14 @@ public class AppLovinMAXNativeAdView
211
211
  AppLovinMAXModule.e( "Failed to load native ad for Ad Unit ID " + adUnitId + " with error: " + error );
212
212
 
213
213
  WritableMap loadFailedInfo = AppLovinMAXModule.getInstance().getAdLoadFailedInfo( adUnitId, error );
214
- reactContext.getJSModule( RCTEventEmitter.class ).receiveEvent( getId(), "onAdLoadFailedEvent", loadFailedInfo );
214
+ reactContext.getJSModule( RCTEventEmitter.class ).receiveEvent( getId(), AppLovinMAXAdEvents.ON_AD_LOAD_FAILED_EVENT, loadFailedInfo );
215
215
  }
216
216
 
217
217
  @Override
218
218
  public void onNativeAdClicked(@NonNull final MaxAd ad)
219
219
  {
220
220
  WritableMap adInfo = AppLovinMAXModule.getInstance().getAdInfo( ad );
221
- reactContext.getJSModule( RCTEventEmitter.class ).receiveEvent( getId(), "onAdClickedEvent", adInfo );
221
+ reactContext.getJSModule( RCTEventEmitter.class ).receiveEvent( getId(), AppLovinMAXAdEvents.ON_AD_CLICKED_EVENT, adInfo );
222
222
  }
223
223
  }
224
224
 
@@ -228,7 +228,7 @@ public class AppLovinMAXNativeAdView
228
228
  public void onAdRevenuePaid(@NonNull final MaxAd ad)
229
229
  {
230
230
  WritableMap adRevenueInfo = AppLovinMAXModule.getInstance().getAdRevenueInfo( ad );
231
- reactContext.getJSModule( RCTEventEmitter.class ).receiveEvent( getId(), "onAdRevenuePaidEvent", adRevenueInfo );
231
+ reactContext.getJSModule( RCTEventEmitter.class ).receiveEvent( getId(), AppLovinMAXAdEvents.ON_AD_REVENUE_PAID_EVENT, adRevenueInfo );
232
232
  }
233
233
 
234
234
  /// Native Ad Component Methods
@@ -380,7 +380,7 @@ public class AppLovinMAXNativeAdView
380
380
  }
381
381
 
382
382
  view.setTag( MEDIA_VIEW_CONTAINER_TAG );
383
- clickableViews.add( view );
383
+ clickableViews.add( mediaView );
384
384
 
385
385
  view.addOnLayoutChangeListener( this );
386
386
 
@@ -545,7 +545,7 @@ public class AppLovinMAXNativeAdView
545
545
  arg.putMap( "nativeAd", jsNativeAd );
546
546
 
547
547
  // Send to `AppLovinNativeAdView.js`
548
- reactContext.getJSModule( RCTEventEmitter.class ).receiveEvent( getId(), "onAdLoadedEvent", arg );
548
+ reactContext.getJSModule( RCTEventEmitter.class ).receiveEvent( getId(), AppLovinMAXAdEvents.ON_AD_LOADED_EVENT, arg );
549
549
  }
550
550
 
551
551
  private void maybeDestroyCurrentAd()
@@ -43,10 +43,10 @@ public class AppLovinMAXNativeAdViewManager
43
43
  {
44
44
  // mapping Android events to JavaScript events
45
45
  return MapBuilder.<String, Object>builder()
46
- .put( "onAdLoadedEvent", MapBuilder.of( "registrationName", "onAdLoadedEvent" ) )
47
- .put( "onAdLoadFailedEvent", MapBuilder.of( "registrationName", "onAdLoadFailedEvent" ) )
48
- .put( "onAdClickedEvent", MapBuilder.of( "registrationName", "onAdClickedEvent" ) )
49
- .put( "onAdRevenuePaidEvent", MapBuilder.of( "registrationName", "onAdRevenuePaidEvent" ) )
46
+ .put( AppLovinMAXAdEvents.ON_AD_LOADED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_LOADED_EVENT ) )
47
+ .put( AppLovinMAXAdEvents.ON_AD_LOAD_FAILED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_LOAD_FAILED_EVENT ) )
48
+ .put( AppLovinMAXAdEvents.ON_AD_CLICKED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_CLICKED_EVENT ) )
49
+ .put( AppLovinMAXAdEvents.ON_AD_REVENUE_PAID_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_REVENUE_PAID_EVENT ) )
50
50
  .build();
51
51
  }
52
52