react-native-applovin-max 6.5.0 → 7.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.
- package/android/build.gradle +46 -100
- package/android/gradle.properties +4 -4
- package/android/src/main/AndroidManifest.xml +2 -2
- package/android/src/main/AndroidManifestNew.xml +2 -0
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdView.java +123 -163
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewManager.java +24 -17
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewUiComponent.java +242 -0
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXModule.java +297 -336
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdView.java +13 -12
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdViewManager.java +11 -14
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXPackage.java +3 -3
- package/ios/AppLovinMAX.h +1 -1
- package/ios/AppLovinMAX.m +62 -12
- package/ios/AppLovinMAXAdView.h +12 -0
- package/ios/AppLovinMAXAdView.m +120 -142
- package/ios/AppLovinMAXAdViewUIComponent.h +27 -0
- package/ios/AppLovinMAXAdViewUIComponent.m +199 -0
- package/lib/commonjs/AdView.js +348 -0
- package/lib/commonjs/AdView.js.map +1 -0
- package/lib/commonjs/AppLovinMAX.js +52 -0
- package/lib/commonjs/AppLovinMAX.js.map +1 -0
- package/lib/commonjs/AppOpenAd.js +102 -0
- package/lib/commonjs/AppOpenAd.js.map +1 -0
- package/lib/commonjs/BannerAd.js +139 -0
- package/lib/commonjs/BannerAd.js.map +1 -0
- package/lib/commonjs/EventEmitter.js +32 -0
- package/lib/commonjs/EventEmitter.js.map +1 -0
- package/lib/commonjs/InterstitialAd.js +102 -0
- package/lib/commonjs/InterstitialAd.js.map +1 -0
- package/lib/commonjs/MRecAd.js +117 -0
- package/lib/commonjs/MRecAd.js.map +1 -0
- package/lib/commonjs/Privacy.js +12 -0
- package/lib/commonjs/Privacy.js.map +1 -0
- package/lib/commonjs/RewardedAd.js +116 -0
- package/lib/commonjs/RewardedAd.js.map +1 -0
- package/lib/commonjs/TargetingData.js +179 -0
- package/lib/commonjs/TargetingData.js.map +1 -0
- package/lib/commonjs/index.js +256 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/nativeAd/NativeAdView.js +147 -0
- package/lib/commonjs/nativeAd/NativeAdView.js.map +1 -0
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js +197 -0
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js.map +1 -0
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js +37 -0
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js.map +1 -0
- package/lib/commonjs/types/AdEvent.js +6 -0
- package/lib/commonjs/types/AdEvent.js.map +1 -0
- package/lib/commonjs/types/AdInfo.js +48 -0
- package/lib/commonjs/types/AdInfo.js.map +1 -0
- package/lib/commonjs/types/AdProps.js +6 -0
- package/lib/commonjs/types/AdProps.js.map +1 -0
- package/lib/commonjs/types/AdViewProps.js +6 -0
- package/lib/commonjs/types/AdViewProps.js.map +1 -0
- package/lib/commonjs/types/AppLovinMAX.js +6 -0
- package/lib/commonjs/types/AppLovinMAX.js.map +1 -0
- package/lib/commonjs/types/AppOpenAd.js +6 -0
- package/lib/commonjs/types/AppOpenAd.js.map +1 -0
- package/lib/commonjs/types/BannerAd.js +6 -0
- package/lib/commonjs/types/BannerAd.js.map +1 -0
- package/lib/commonjs/types/CMPError.js +6 -0
- package/lib/commonjs/types/CMPError.js.map +1 -0
- package/lib/commonjs/types/Configuration.js +6 -0
- package/lib/commonjs/types/Configuration.js.map +1 -0
- package/lib/commonjs/types/FullscreenAd.js +6 -0
- package/lib/commonjs/types/FullscreenAd.js.map +1 -0
- package/lib/commonjs/types/InterstitialAd.js +6 -0
- package/lib/commonjs/types/InterstitialAd.js.map +1 -0
- package/lib/commonjs/types/MRecAd.js +6 -0
- package/lib/commonjs/types/MRecAd.js.map +1 -0
- package/lib/commonjs/types/NativeAd.js +2 -0
- package/lib/commonjs/types/NativeAd.js.map +1 -0
- package/lib/commonjs/types/NativeAdViewProps.js +6 -0
- package/lib/commonjs/types/NativeAdViewProps.js.map +1 -0
- package/lib/commonjs/types/Privacy.js +2 -0
- package/lib/commonjs/types/Privacy.js.map +1 -0
- package/lib/commonjs/types/RewardedAd.js +6 -0
- package/lib/commonjs/types/RewardedAd.js.map +1 -0
- package/lib/commonjs/types/TargetingData.js +6 -0
- package/lib/commonjs/types/TargetingData.js.map +1 -0
- package/lib/commonjs/types/ViewAd.js +6 -0
- package/lib/commonjs/types/ViewAd.js.map +1 -0
- package/lib/commonjs/types/index.js +61 -0
- package/lib/commonjs/types/index.js.map +1 -0
- package/lib/module/AdView.js +335 -0
- package/lib/module/AdView.js.map +1 -0
- package/lib/module/AppLovinMAX.js +48 -0
- package/lib/module/AppLovinMAX.js.map +1 -0
- package/lib/module/AppOpenAd.js +96 -0
- package/lib/module/AppOpenAd.js.map +1 -0
- package/lib/module/BannerAd.js +133 -0
- package/lib/module/BannerAd.js.map +1 -0
- package/lib/module/EventEmitter.js +24 -0
- package/lib/module/EventEmitter.js.map +1 -0
- package/lib/module/InterstitialAd.js +96 -0
- package/lib/module/InterstitialAd.js.map +1 -0
- package/lib/module/MRecAd.js +111 -0
- package/lib/module/MRecAd.js.map +1 -0
- package/lib/module/Privacy.js +6 -0
- package/lib/module/Privacy.js.map +1 -0
- package/lib/module/RewardedAd.js +110 -0
- package/lib/module/RewardedAd.js.map +1 -0
- package/lib/module/TargetingData.js +175 -0
- package/lib/module/TargetingData.js.map +1 -0
- package/lib/module/index.js +14 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/nativeAd/NativeAdView.js +139 -0
- package/lib/module/nativeAd/NativeAdView.js.map +1 -0
- package/lib/module/nativeAd/NativeAdViewComponents.js +181 -0
- package/lib/module/nativeAd/NativeAdViewComponents.js.map +1 -0
- package/lib/module/nativeAd/NativeAdViewProvider.js +28 -0
- package/lib/module/nativeAd/NativeAdViewProvider.js.map +1 -0
- package/lib/module/types/AdEvent.js +2 -0
- package/lib/module/types/AdEvent.js.map +1 -0
- package/lib/module/types/AdInfo.js +52 -0
- package/lib/module/types/AdInfo.js.map +1 -0
- package/lib/module/types/AdProps.js +2 -0
- package/lib/module/types/AdProps.js.map +1 -0
- package/lib/module/types/AdViewProps.js +2 -0
- package/lib/module/types/AdViewProps.js.map +1 -0
- package/lib/module/types/AppLovinMAX.js +2 -0
- package/lib/module/types/AppLovinMAX.js.map +1 -0
- package/lib/module/types/AppOpenAd.js +2 -0
- package/lib/module/types/AppOpenAd.js.map +1 -0
- package/lib/module/types/BannerAd.js +2 -0
- package/lib/module/types/BannerAd.js.map +1 -0
- package/lib/module/types/CMPError.js +2 -0
- package/lib/module/types/CMPError.js.map +1 -0
- package/lib/module/types/Configuration.js +2 -0
- package/lib/module/types/Configuration.js.map +1 -0
- package/lib/module/types/FullscreenAd.js +2 -0
- package/lib/module/types/FullscreenAd.js.map +1 -0
- package/lib/module/types/InterstitialAd.js +2 -0
- package/lib/module/types/InterstitialAd.js.map +1 -0
- package/lib/module/types/MRecAd.js +2 -0
- package/lib/module/types/MRecAd.js.map +1 -0
- package/lib/module/types/NativeAd.js +2 -0
- package/lib/module/types/NativeAd.js.map +1 -0
- package/lib/module/types/NativeAdViewProps.js +2 -0
- package/lib/module/types/NativeAdViewProps.js.map +1 -0
- package/lib/module/types/Privacy.js +2 -0
- package/lib/module/types/Privacy.js.map +1 -0
- package/lib/module/types/RewardedAd.js +2 -0
- package/lib/module/types/RewardedAd.js.map +1 -0
- package/lib/module/types/TargetingData.js +2 -0
- package/lib/module/types/TargetingData.js.map +1 -0
- package/lib/module/types/ViewAd.js +2 -0
- package/lib/module/types/ViewAd.js.map +1 -0
- package/lib/module/types/index.js +6 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/typescript/src/AdView.d.ts +115 -0
- package/lib/typescript/src/AdView.d.ts.map +1 -0
- package/lib/typescript/src/AppLovinMAX.d.ts +73 -0
- package/lib/typescript/src/AppLovinMAX.d.ts.map +1 -0
- package/lib/typescript/src/AppOpenAd.d.ts +4 -0
- package/lib/typescript/src/AppOpenAd.d.ts.map +1 -0
- package/lib/typescript/src/BannerAd.d.ts +4 -0
- package/lib/typescript/src/BannerAd.d.ts.map +1 -0
- package/lib/typescript/src/EventEmitter.d.ts +4 -0
- package/lib/typescript/src/EventEmitter.d.ts.map +1 -0
- package/lib/typescript/src/InterstitialAd.d.ts +4 -0
- package/lib/typescript/src/InterstitialAd.d.ts.map +1 -0
- package/lib/typescript/src/MRecAd.d.ts +4 -0
- package/lib/typescript/src/MRecAd.d.ts.map +1 -0
- package/lib/typescript/src/Privacy.d.ts +3 -0
- package/lib/typescript/src/Privacy.d.ts.map +1 -0
- package/lib/typescript/src/RewardedAd.d.ts +4 -0
- package/lib/typescript/src/RewardedAd.d.ts.map +1 -0
- package/lib/typescript/src/TargetingData.d.ts +26 -0
- package/lib/typescript/src/TargetingData.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +14 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/nativeAd/NativeAdView.d.ts +42 -0
- package/lib/typescript/src/nativeAd/NativeAdView.d.ts.map +1 -0
- package/lib/typescript/src/nativeAd/NativeAdViewComponents.d.ts +11 -0
- package/lib/typescript/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -0
- package/lib/typescript/src/nativeAd/NativeAdViewProvider.d.ts +16 -0
- package/lib/typescript/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -0
- package/lib/typescript/src/types/AdEvent.d.ts +15 -0
- package/lib/typescript/src/types/AdEvent.d.ts.map +1 -0
- package/lib/typescript/src/types/AdInfo.d.ts +295 -0
- package/lib/typescript/src/types/AdInfo.d.ts.map +1 -0
- package/lib/typescript/src/types/AdProps.d.ts +58 -0
- package/lib/typescript/src/types/AdProps.d.ts.map +1 -0
- package/lib/typescript/src/types/AdViewProps.d.ts +73 -0
- package/lib/typescript/src/types/AdViewProps.d.ts.map +1 -0
- package/lib/typescript/src/types/AppLovinMAX.d.ts +133 -0
- package/lib/typescript/src/types/AppLovinMAX.d.ts.map +1 -0
- package/lib/typescript/src/types/AppOpenAd.d.ts +3 -0
- package/lib/typescript/src/types/AppOpenAd.d.ts.map +1 -0
- package/lib/typescript/src/types/BannerAd.d.ts +42 -0
- package/lib/typescript/src/types/BannerAd.d.ts.map +1 -0
- package/lib/typescript/src/types/CMPError.d.ts +20 -0
- package/lib/typescript/src/types/CMPError.d.ts.map +1 -0
- package/lib/typescript/src/types/Configuration.d.ts +33 -0
- package/lib/typescript/src/types/Configuration.d.ts.map +1 -0
- package/lib/typescript/src/types/FullscreenAd.d.ts +123 -0
- package/lib/typescript/src/types/FullscreenAd.d.ts.map +1 -0
- package/lib/typescript/src/types/InterstitialAd.d.ts +3 -0
- package/lib/typescript/src/types/InterstitialAd.d.ts.map +1 -0
- package/lib/typescript/src/types/MRecAd.d.ts +12 -0
- package/lib/typescript/src/types/MRecAd.d.ts.map +1 -0
- package/lib/typescript/src/types/NativeAd.d.ts +42 -0
- package/lib/typescript/src/types/NativeAd.d.ts.map +1 -0
- package/lib/typescript/src/types/NativeAdViewProps.d.ts +15 -0
- package/lib/typescript/src/types/NativeAdViewProps.d.ts.map +1 -0
- package/lib/typescript/src/types/Privacy.d.ts +35 -0
- package/lib/typescript/src/types/Privacy.d.ts.map +1 -0
- package/lib/typescript/src/types/RewardedAd.d.ts +18 -0
- package/lib/typescript/src/types/RewardedAd.d.ts.map +1 -0
- package/lib/typescript/src/types/TargetingData.d.ts +43 -0
- package/lib/typescript/src/types/TargetingData.d.ts.map +1 -0
- package/lib/typescript/src/types/ViewAd.d.ts +141 -0
- package/lib/typescript/src/types/ViewAd.d.ts.map +1 -0
- package/lib/typescript/src/types/index.d.ts +6 -0
- package/lib/typescript/src/types/index.d.ts.map +1 -0
- package/package.json +102 -21
- package/react-native-applovin-max.podspec +29 -5
- package/src/AdView.tsx +83 -26
- package/src/AppLovinMAX.ts +1 -1
- package/src/InterstitialAd.ts +1 -3
- package/src/MRecAd.ts +2 -8
- package/src/TargetingData.ts +2 -15
- package/src/index.ts +9 -10
- package/src/nativeAd/NativeAdView.tsx +33 -49
- package/src/nativeAd/NativeAdViewComponents.tsx +22 -31
- package/src/types/AdViewProps.ts +29 -1
- package/android/.project +0 -17
- package/android/.settings/org.eclipse.buildship.core.prefs +0 -13
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +0 -6
- package/android/gradlew +0 -172
- package/android/gradlew.bat +0 -84
- package/ios/AppLovinMAX.xcodeproj/project.pbxproj +0 -368
- package/ios/AppLovinMAX.xcodeproj/xcshareddata/xcschemes/AppLovinMAX.xcscheme +0 -67
- package/ios/AppLovinMAX.xcworkspace/contents.xcworkspacedata +0 -10
- package/ios/AppLovinMAX.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/Podfile +0 -40
- package/ios/Podfile.lock +0 -373
|
@@ -29,11 +29,12 @@ import java.util.List;
|
|
|
29
29
|
import java.util.Map;
|
|
30
30
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
31
31
|
|
|
32
|
+
import androidx.annotation.NonNull;
|
|
32
33
|
import androidx.annotation.Nullable;
|
|
33
34
|
|
|
34
35
|
public class AppLovinMAXNativeAdView
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
extends ReactViewGroup
|
|
37
|
+
implements MaxAdRevenueListener, View.OnLayoutChangeListener, ViewGroup.OnHierarchyChangeListener
|
|
37
38
|
{
|
|
38
39
|
private static final int TITLE_LABEL_TAG = 1;
|
|
39
40
|
private static final int MEDIA_VIEW_CONTAINER_TAG = 2;
|
|
@@ -172,10 +173,10 @@ public class AppLovinMAXNativeAdView
|
|
|
172
173
|
/// Ad Loader Listener
|
|
173
174
|
|
|
174
175
|
private class NativeAdListener
|
|
175
|
-
|
|
176
|
+
extends MaxNativeAdListener
|
|
176
177
|
{
|
|
177
178
|
@Override
|
|
178
|
-
public void onNativeAdLoaded(@Nullable final MaxNativeAdView nativeAdView, final MaxAd ad)
|
|
179
|
+
public void onNativeAdLoaded(@Nullable final MaxNativeAdView nativeAdView, @NonNull final MaxAd ad)
|
|
179
180
|
{
|
|
180
181
|
AppLovinMAXModule.d( "Native ad loaded: " + ad );
|
|
181
182
|
|
|
@@ -203,7 +204,7 @@ public class AppLovinMAXNativeAdView
|
|
|
203
204
|
}
|
|
204
205
|
|
|
205
206
|
@Override
|
|
206
|
-
public void onNativeAdLoadFailed(final String adUnitId, final MaxError error)
|
|
207
|
+
public void onNativeAdLoadFailed(@NonNull final String adUnitId, @NonNull final MaxError error)
|
|
207
208
|
{
|
|
208
209
|
isLoading.set( false );
|
|
209
210
|
|
|
@@ -214,7 +215,7 @@ public class AppLovinMAXNativeAdView
|
|
|
214
215
|
}
|
|
215
216
|
|
|
216
217
|
@Override
|
|
217
|
-
public void onNativeAdClicked(final MaxAd ad)
|
|
218
|
+
public void onNativeAdClicked(@NonNull final MaxAd ad)
|
|
218
219
|
{
|
|
219
220
|
WritableMap adInfo = AppLovinMAXModule.getInstance().getAdInfo( ad );
|
|
220
221
|
reactContext.getJSModule( RCTEventEmitter.class ).receiveEvent( getId(), "onAdClickedEvent", adInfo );
|
|
@@ -224,7 +225,7 @@ public class AppLovinMAXNativeAdView
|
|
|
224
225
|
/// Ad Revenue Listener
|
|
225
226
|
|
|
226
227
|
@Override
|
|
227
|
-
public void onAdRevenuePaid(final MaxAd ad)
|
|
228
|
+
public void onAdRevenuePaid(@NonNull final MaxAd ad)
|
|
228
229
|
{
|
|
229
230
|
WritableMap adRevenueInfo = AppLovinMAXModule.getInstance().getAdRevenueInfo( ad );
|
|
230
231
|
reactContext.getJSModule( RCTEventEmitter.class ).receiveEvent( getId(), "onAdRevenuePaidEvent", adRevenueInfo );
|
|
@@ -406,9 +407,9 @@ public class AppLovinMAXNativeAdView
|
|
|
406
407
|
}
|
|
407
408
|
|
|
408
409
|
static class RenderNativeAdTask
|
|
409
|
-
|
|
410
|
+
implements Runnable
|
|
410
411
|
{
|
|
411
|
-
private AppLovinMAXNativeAdView nativeAdView;
|
|
412
|
+
private final AppLovinMAXNativeAdView nativeAdView;
|
|
412
413
|
|
|
413
414
|
RenderNativeAdTask(AppLovinMAXNativeAdView nativeAdView) { this.nativeAdView = nativeAdView; }
|
|
414
415
|
|
|
@@ -443,7 +444,7 @@ public class AppLovinMAXNativeAdView
|
|
|
443
444
|
{
|
|
444
445
|
// Renders the ad only after the last asset view is set
|
|
445
446
|
renderNativeAdHandler.removeCallbacksAndMessages( null );
|
|
446
|
-
renderNativeAdHandler.postDelayed( renderNativeAdTask,
|
|
447
|
+
renderNativeAdHandler.postDelayed( renderNativeAdTask, 50 );
|
|
447
448
|
}
|
|
448
449
|
}
|
|
449
450
|
|
|
@@ -493,7 +494,7 @@ public class AppLovinMAXNativeAdView
|
|
|
493
494
|
|
|
494
495
|
if ( ad.getStarRating() != null )
|
|
495
496
|
{
|
|
496
|
-
nativeAdInfo.putDouble( "starRating", ad.getStarRating()
|
|
497
|
+
nativeAdInfo.putDouble( "starRating", ad.getStarRating() );
|
|
497
498
|
}
|
|
498
499
|
|
|
499
500
|
// The aspect ratio can be 0.0f when it is not provided by the network.
|
|
@@ -520,7 +521,7 @@ public class AppLovinMAXNativeAdView
|
|
|
520
521
|
|
|
521
522
|
if ( ad.getStarRating() != null )
|
|
522
523
|
{
|
|
523
|
-
jsNativeAd.putDouble( "starRating", ad.getStarRating()
|
|
524
|
+
jsNativeAd.putDouble( "starRating", ad.getStarRating() );
|
|
524
525
|
}
|
|
525
526
|
|
|
526
527
|
MaxNativeAdImage icon = ad.getIcon();
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
package com.applovin.reactnative;
|
|
2
2
|
|
|
3
|
-
import com.facebook.react.bridge.ReactApplicationContext;
|
|
4
3
|
import com.facebook.react.bridge.ReadableArray;
|
|
5
4
|
import com.facebook.react.bridge.ReadableMap;
|
|
6
5
|
import com.facebook.react.common.MapBuilder;
|
|
@@ -14,13 +13,13 @@ import androidx.annotation.NonNull;
|
|
|
14
13
|
import androidx.annotation.Nullable;
|
|
15
14
|
|
|
16
15
|
public class AppLovinMAXNativeAdViewManager
|
|
17
|
-
|
|
16
|
+
extends ViewGroupManager<AppLovinMAXNativeAdView>
|
|
18
17
|
{
|
|
19
18
|
public static final String REACT_CLASS = "AppLovinMAXNativeAdView";
|
|
20
19
|
|
|
21
20
|
public final int COMMAND_LOAD_AD = 1;
|
|
22
21
|
|
|
23
|
-
public AppLovinMAXNativeAdViewManager(
|
|
22
|
+
public AppLovinMAXNativeAdViewManager() { }
|
|
24
23
|
|
|
25
24
|
@NonNull
|
|
26
25
|
@Override
|
|
@@ -44,11 +43,11 @@ public class AppLovinMAXNativeAdViewManager
|
|
|
44
43
|
{
|
|
45
44
|
// mapping Android events to JavaScript events
|
|
46
45
|
return MapBuilder.<String, Object>builder()
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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" ) )
|
|
50
|
+
.build();
|
|
52
51
|
}
|
|
53
52
|
|
|
54
53
|
/// Call from JavaScript
|
|
@@ -58,7 +57,7 @@ public class AppLovinMAXNativeAdViewManager
|
|
|
58
57
|
public Map<String, Integer> getCommandsMap()
|
|
59
58
|
{
|
|
60
59
|
return MapBuilder.of(
|
|
61
|
-
|
|
60
|
+
"loadAd", COMMAND_LOAD_AD
|
|
62
61
|
);
|
|
63
62
|
}
|
|
64
63
|
|
|
@@ -66,11 +65,9 @@ public class AppLovinMAXNativeAdViewManager
|
|
|
66
65
|
@Override
|
|
67
66
|
public void receiveCommand(@NonNull final AppLovinMAXNativeAdView root, final int commandId, @Nullable final ReadableArray args)
|
|
68
67
|
{
|
|
69
|
-
|
|
68
|
+
if ( commandId == COMMAND_LOAD_AD )
|
|
70
69
|
{
|
|
71
|
-
|
|
72
|
-
root.loadAd();
|
|
73
|
-
break;
|
|
70
|
+
root.loadAd();
|
|
74
71
|
}
|
|
75
72
|
}
|
|
76
73
|
|
|
@@ -149,7 +146,7 @@ public class AppLovinMAXNativeAdViewManager
|
|
|
149
146
|
}
|
|
150
147
|
|
|
151
148
|
@Override
|
|
152
|
-
public void onAfterUpdateTransaction(final AppLovinMAXNativeAdView view)
|
|
149
|
+
public void onAfterUpdateTransaction(@NonNull final AppLovinMAXNativeAdView view)
|
|
153
150
|
{
|
|
154
151
|
super.onAfterUpdateTransaction( view );
|
|
155
152
|
|
|
@@ -14,7 +14,7 @@ import androidx.annotation.NonNull;
|
|
|
14
14
|
* Created by Thomas So on July 11 2020
|
|
15
15
|
*/
|
|
16
16
|
public class AppLovinMAXPackage
|
|
17
|
-
|
|
17
|
+
implements ReactPackage
|
|
18
18
|
{
|
|
19
19
|
@Override
|
|
20
20
|
public @NonNull List<NativeModule> createNativeModules(@NonNull final ReactApplicationContext reactContext)
|
|
@@ -28,8 +28,8 @@ public class AppLovinMAXPackage
|
|
|
28
28
|
public @NonNull List<ViewManager> createViewManagers(@NonNull final ReactApplicationContext reactContext)
|
|
29
29
|
{
|
|
30
30
|
List<ViewManager> viewManagers = new ArrayList<>( 2 );
|
|
31
|
-
viewManagers.add( new AppLovinMAXAdViewManager(
|
|
32
|
-
viewManagers.add( new AppLovinMAXNativeAdViewManager(
|
|
31
|
+
viewManagers.add( new AppLovinMAXAdViewManager() );
|
|
32
|
+
viewManagers.add( new AppLovinMAXNativeAdViewManager() );
|
|
33
33
|
return viewManagers;
|
|
34
34
|
}
|
|
35
35
|
}
|
package/ios/AppLovinMAX.h
CHANGED
|
@@ -49,7 +49,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
49
49
|
/**
|
|
50
50
|
* Returns a dictionay value of adLoadFailedInfo for the specified error.
|
|
51
51
|
*/
|
|
52
|
-
- (NSDictionary<NSString *, id> *)adLoadFailedInfoForAd:(NSString *)adUnitIdentifier withError:(MAError *)error;
|
|
52
|
+
- (NSDictionary<NSString *, id> *)adLoadFailedInfoForAd:(NSString *)adUnitIdentifier withError:(nullable MAError *)error;
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
55
|
* Returns a dictionay value of adDisplayFailedInfo for the specified ad and error.
|
package/ios/AppLovinMAX.m
CHANGED
|
@@ -136,6 +136,9 @@ static NSString *const ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT = @"OnAppOpenAdFail
|
|
|
136
136
|
static NSString *const ON_APPOPEN_AD_HIDDEN_EVENT = @"OnAppOpenAdHiddenEvent";
|
|
137
137
|
static NSString *const ON_APPOPEN_AD_REVENUE_PAID = @"OnAppOpenAdRevenuePaid";
|
|
138
138
|
|
|
139
|
+
static NSString *const ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT = @"OnNativeUIComponentAdviewAdLoadedEvent";
|
|
140
|
+
static NSString *const ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT = @"OnNativeUIComponentAdviewAdLoadFailedEvent";
|
|
141
|
+
|
|
139
142
|
static NSString *const TOP_CENTER = @"top_center";
|
|
140
143
|
static NSString *const TOP_LEFT = @"top_left";
|
|
141
144
|
static NSString *const TOP_RIGHT = @"top_right";
|
|
@@ -577,7 +580,7 @@ RCT_EXPORT_METHOD(showCmpForExistingUser:(RCTPromiseResolveBlock)resolve :(RCTPr
|
|
|
577
580
|
[self logUninitializedAccessError: @"showCmpForExistingUser" withPromiseReject: reject];
|
|
578
581
|
return;
|
|
579
582
|
}
|
|
580
|
-
|
|
583
|
+
|
|
581
584
|
[self.sdk.cmpService showCMPForExistingUserWithCompletion:^(ALCMPError * _Nullable error) {
|
|
582
585
|
|
|
583
586
|
if ( !error )
|
|
@@ -585,7 +588,7 @@ RCT_EXPORT_METHOD(showCmpForExistingUser:(RCTPromiseResolveBlock)resolve :(RCTPr
|
|
|
585
588
|
resolve(nil);
|
|
586
589
|
return;
|
|
587
590
|
}
|
|
588
|
-
|
|
591
|
+
|
|
589
592
|
resolve(@{@"code" : @(error.code),
|
|
590
593
|
@"message" : error.message ?: @"",
|
|
591
594
|
@"cmpCode" : @(error.cmpCode),
|
|
@@ -600,7 +603,7 @@ RCT_EXPORT_METHOD(hasSupportedCmp:(RCTPromiseResolveBlock)resolve :(RCTPromiseRe
|
|
|
600
603
|
[self logUninitializedAccessError: @"hasSupportedCmp" withPromiseReject: reject];
|
|
601
604
|
return;
|
|
602
605
|
}
|
|
603
|
-
|
|
606
|
+
|
|
604
607
|
resolve(@([self.sdk.cmpService hasSupportedCMP]));
|
|
605
608
|
}
|
|
606
609
|
|
|
@@ -1266,6 +1269,34 @@ RCT_EXPORT_METHOD(setAppOpenAdLocalExtraParameter:(NSString *)adUnitIdentifier :
|
|
|
1266
1269
|
[appOpenAd setLocalExtraParameterForKey: key value: value];
|
|
1267
1270
|
}
|
|
1268
1271
|
|
|
1272
|
+
#pragma mark - AdView Preloading
|
|
1273
|
+
|
|
1274
|
+
RCT_EXPORT_METHOD(preloadNativeUIComponentAdView:(NSString *)adUnitIdentifier :(NSString *)adFormatStr :(NSString *)placement :(NSString *)customData :(NSDictionary<NSString *, id> *)extraParameterDict :(NSDictionary<NSString *, id> *)localExtraParameterDict :(RCTPromiseResolveBlock)resolve :(RCTPromiseRejectBlock)reject)
|
|
1275
|
+
{
|
|
1276
|
+
MAAdFormat *adFormat;
|
|
1277
|
+
|
|
1278
|
+
if ( [MAAdFormat.banner.label isEqualToString: adFormatStr] )
|
|
1279
|
+
{
|
|
1280
|
+
adFormat = DEVICE_SPECIFIC_ADVIEW_AD_FORMAT;
|
|
1281
|
+
}
|
|
1282
|
+
else if ( [MAAdFormat.mrec.label isEqualToString: adFormatStr] )
|
|
1283
|
+
{
|
|
1284
|
+
adFormat = MAAdFormat.mrec;
|
|
1285
|
+
}
|
|
1286
|
+
else
|
|
1287
|
+
{
|
|
1288
|
+
[self logInvalidAdFormat: adFormat withPromiseReject: reject];
|
|
1289
|
+
return;
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
[AppLovinMAXAdView preloadNativeUIComponentAdView:adUnitIdentifier adFormat:adFormat placement:placement customData:customData extraParameters:extraParameterDict localExtraParameters:localExtraParameterDict withPromiseResolver:resolve withPromiseRejecter:reject];
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1295
|
+
RCT_EXPORT_METHOD(destroyNativeUIComponentAdView:(NSString *)adUnitIdentifier :(RCTPromiseResolveBlock)resolve :(RCTPromiseRejectBlock)reject)
|
|
1296
|
+
{
|
|
1297
|
+
[AppLovinMAXAdView destroyNativeUIComponentAdView:adUnitIdentifier withPromiseResolver:resolve withPromiseRejecter:reject];
|
|
1298
|
+
}
|
|
1299
|
+
|
|
1269
1300
|
#pragma mark - Ad Callbacks
|
|
1270
1301
|
|
|
1271
1302
|
- (void)didLoadAd:(MAAd *)ad
|
|
@@ -2040,7 +2071,20 @@ RCT_EXPORT_METHOD(setAppOpenAdLocalExtraParameter:(NSString *)adUnitIdentifier :
|
|
|
2040
2071
|
|
|
2041
2072
|
- (void)logInvalidAdFormat:(MAAdFormat *)adFormat
|
|
2042
2073
|
{
|
|
2043
|
-
[self
|
|
2074
|
+
[self logInvalidAdFormat: adFormat withPromiseReject: nil];
|
|
2075
|
+
}
|
|
2076
|
+
|
|
2077
|
+
- (void)logInvalidAdFormat:(MAAdFormat *)adFormat withPromiseReject:(nullable RCTPromiseRejectBlock)reject
|
|
2078
|
+
{
|
|
2079
|
+
NSString *message = [NSString stringWithFormat:@"invalid ad format: %@, from %@", adFormat, [NSThread callStackSymbols]];
|
|
2080
|
+
|
|
2081
|
+
if ( !reject )
|
|
2082
|
+
{
|
|
2083
|
+
NSLog(@"[%@] [%@] %@", SDK_TAG, TAG, message);
|
|
2084
|
+
return;
|
|
2085
|
+
}
|
|
2086
|
+
|
|
2087
|
+
reject(TAG, message, nil);
|
|
2044
2088
|
}
|
|
2045
2089
|
|
|
2046
2090
|
- (void)logUninitializedAccessError:(NSString *)callingMethod
|
|
@@ -2051,13 +2095,13 @@ RCT_EXPORT_METHOD(setAppOpenAdLocalExtraParameter:(NSString *)adUnitIdentifier :
|
|
|
2051
2095
|
- (void)logUninitializedAccessError:(NSString *)callingMethod withPromiseReject:(nullable RCTPromiseRejectBlock)reject
|
|
2052
2096
|
{
|
|
2053
2097
|
NSString *message = [NSString stringWithFormat:@"ERROR: Failed to execute %@() - please ensure the AppLovin MAX React Native module has been initialized by calling 'AppLovinMAX.initialize(...);'!", callingMethod];
|
|
2054
|
-
|
|
2098
|
+
|
|
2055
2099
|
if ( !reject )
|
|
2056
2100
|
{
|
|
2057
2101
|
NSLog(@"[%@] [%@] %@", SDK_TAG, TAG, message);
|
|
2058
2102
|
return;
|
|
2059
2103
|
}
|
|
2060
|
-
|
|
2104
|
+
|
|
2061
2105
|
reject(TAG, message, nil);
|
|
2062
2106
|
}
|
|
2063
2107
|
|
|
@@ -2196,10 +2240,10 @@ RCT_EXPORT_METHOD(setAppOpenAdLocalExtraParameter:(NSString *)adUnitIdentifier :
|
|
|
2196
2240
|
@"dspName" : ad.DSPName ?: @"",
|
|
2197
2241
|
@"size" : @{@"width" : @(ad.size.width),
|
|
2198
2242
|
@"height" : @(ad.size.height)}
|
|
2199
|
-
|
|
2243
|
+
};
|
|
2200
2244
|
}
|
|
2201
2245
|
|
|
2202
|
-
- (NSDictionary<NSString *, id> *)adLoadFailedInfoForAd:(NSString *)adUnitIdentifier withError:(MAError *)error
|
|
2246
|
+
- (NSDictionary<NSString *, id> *)adLoadFailedInfoForAd:(NSString *)adUnitIdentifier withError:(nullable MAError *)error
|
|
2203
2247
|
{
|
|
2204
2248
|
return ( error ) ?
|
|
2205
2249
|
@{@"adUnitId": adUnitIdentifier,
|
|
@@ -2343,7 +2387,7 @@ RCT_EXPORT_METHOD(setAppOpenAdLocalExtraParameter:(NSString *)adUnitIdentifier :
|
|
|
2343
2387
|
[self log: @"Failed to set Amazon result - unable to find interstitial"];
|
|
2344
2388
|
return;
|
|
2345
2389
|
}
|
|
2346
|
-
|
|
2390
|
+
|
|
2347
2391
|
[interstitial setLocalExtraParameterForKey: key value: result];
|
|
2348
2392
|
}
|
|
2349
2393
|
else if ( adFormat == MAAdFormat.rewarded )
|
|
@@ -2354,13 +2398,13 @@ RCT_EXPORT_METHOD(setAppOpenAdLocalExtraParameter:(NSString *)adUnitIdentifier :
|
|
|
2354
2398
|
[self log: @"Failed to set Amazon result - unable to find rewarded ad"];
|
|
2355
2399
|
return;
|
|
2356
2400
|
}
|
|
2357
|
-
|
|
2401
|
+
|
|
2358
2402
|
[rewardedAd setLocalExtraParameterForKey: key value: result];
|
|
2359
2403
|
}
|
|
2360
2404
|
else // MAAdFormat.banner or MAAdFormat.mrec
|
|
2361
2405
|
{
|
|
2362
2406
|
MAAdView *adView = [AppLovinMAXAdView sharedWithAdUnitIdentifier: adUnitIdentifier];
|
|
2363
|
-
|
|
2407
|
+
|
|
2364
2408
|
if ( !adView )
|
|
2365
2409
|
{
|
|
2366
2410
|
adView = [self retrieveAdViewForAdUnitIdentifier: adUnitIdentifier adFormat: adFormat];
|
|
@@ -2430,7 +2474,10 @@ RCT_EXPORT_METHOD(setAppOpenAdLocalExtraParameter:(NSString *)adUnitIdentifier :
|
|
|
2430
2474
|
ON_APPOPEN_AD_DISPLAYED_EVENT,
|
|
2431
2475
|
ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT,
|
|
2432
2476
|
ON_APPOPEN_AD_HIDDEN_EVENT,
|
|
2433
|
-
ON_APPOPEN_AD_REVENUE_PAID
|
|
2477
|
+
ON_APPOPEN_AD_REVENUE_PAID,
|
|
2478
|
+
|
|
2479
|
+
ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT,
|
|
2480
|
+
ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT];
|
|
2434
2481
|
}
|
|
2435
2482
|
|
|
2436
2483
|
- (NSDictionary *)constantsToExport
|
|
@@ -2474,6 +2521,9 @@ RCT_EXPORT_METHOD(setAppOpenAdLocalExtraParameter:(NSString *)adUnitIdentifier :
|
|
|
2474
2521
|
@"ON_APPOPEN_AD_HIDDEN_EVENT" : ON_APPOPEN_AD_HIDDEN_EVENT,
|
|
2475
2522
|
@"ON_APPOPEN_AD_REVENUE_PAID" : ON_APPOPEN_AD_REVENUE_PAID,
|
|
2476
2523
|
|
|
2524
|
+
@"ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT" : ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT,
|
|
2525
|
+
@"ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT" : ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT,
|
|
2526
|
+
|
|
2477
2527
|
@"TOP_CENTER_POSITION" : TOP_CENTER,
|
|
2478
2528
|
@"TOP_LEFT_POSITION" : TOP_LEFT,
|
|
2479
2529
|
@"TOP_RIGHT_POSITION" : TOP_RIGHT,
|
package/ios/AppLovinMAXAdView.h
CHANGED
|
@@ -13,8 +13,20 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
13
13
|
|
|
14
14
|
@interface AppLovinMAXAdView : UIView
|
|
15
15
|
|
|
16
|
+
@property (nonatomic, copy) RCTDirectEventBlock onAdLoadedEvent;
|
|
17
|
+
@property (nonatomic, copy) RCTDirectEventBlock onAdLoadFailedEvent;
|
|
18
|
+
@property (nonatomic, copy) RCTDirectEventBlock onAdDisplayFailedEvent;
|
|
19
|
+
@property (nonatomic, copy) RCTDirectEventBlock onAdClickedEvent;
|
|
20
|
+
@property (nonatomic, copy) RCTDirectEventBlock onAdExpandedEvent;
|
|
21
|
+
@property (nonatomic, copy) RCTDirectEventBlock onAdCollapsedEvent;
|
|
22
|
+
@property (nonatomic, copy) RCTDirectEventBlock onAdRevenuePaidEvent;
|
|
23
|
+
|
|
16
24
|
+ (MAAdView *)sharedWithAdUnitIdentifier:(NSString *)adUnitIdentifier;
|
|
17
25
|
|
|
26
|
+
+ (void)preloadNativeUIComponentAdView:(NSString *)adUnitIdentifier adFormat:(MAAdFormat *)adFormat placement:(NSString *)placement customData:(NSString *)customData extraParameters:(NSDictionary<NSString *, NSString *> *)extraParameters localExtraParameters:(NSDictionary<NSString *, NSString *> *)localExtraParameters withPromiseResolver:(RCTPromiseResolveBlock)resolve withPromiseRejecter:(RCTPromiseRejectBlock)reject;
|
|
27
|
+
|
|
28
|
+
+ (void)destroyNativeUIComponentAdView:(NSString *)adUnitIdentifier withPromiseResolver:(RCTPromiseResolveBlock)resolve withPromiseRejecter:(RCTPromiseRejectBlock)reject;
|
|
29
|
+
|
|
18
30
|
- (void)loadAd;
|
|
19
31
|
|
|
20
32
|
@end
|