react-native-applovin-max 8.2.0 → 9.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.
- package/android/build.gradle +13 -2
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdView.java +33 -26
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewManagerImpl.java +110 -0
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewUiComponent.java +15 -13
- package/android/src/main/java/com/applovin/reactnative/{AppLovinMAXModule.java → AppLovinMAXModuleImpl.java} +107 -168
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdView.java +84 -56
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdViewManagerImpl.java +101 -0
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXPackage.java +44 -11
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXUtils.java +56 -0
- package/android/src/newarch/com/applovin/reactnative/AppLovinMAXAdViewManager.java +151 -0
- package/android/src/newarch/com/applovin/reactnative/AppLovinMAXModule.java +453 -0
- package/android/src/newarch/com/applovin/reactnative/AppLovinMAXNativeAdViewManager.java +130 -0
- package/android/src/oldarch/com/applovin/reactnative/AppLovinMAXAdViewManager.java +128 -0
- package/android/src/oldarch/com/applovin/reactnative/AppLovinMAXModule.java +453 -0
- package/android/src/oldarch/com/applovin/reactnative/AppLovinMAXNativeAdViewManager.java +93 -0
- package/ios/AppLovinMAX.h +8 -3
- package/ios/{AppLovinMAX.m → AppLovinMAX.mm} +66 -53
- package/ios/AppLovinMAXAdView.h +7 -2
- package/ios/AppLovinMAXAdView.mm +747 -0
- package/ios/{AppLovinMAXAdViewManager.m → AppLovinMAXAdViewManager.mm} +3 -2
- package/ios/{AppLovinMAXAdViewUIComponent.m → AppLovinMAXAdViewUIComponent.mm} +2 -1
- package/ios/AppLovinMAXNativeAdView.h +15 -4
- package/ios/AppLovinMAXNativeAdView.mm +745 -0
- package/ios/AppLovinMAXNativeAdViewManager.mm +116 -0
- package/lib/commonjs/AdView.js +61 -85
- package/lib/commonjs/AdView.js.map +1 -1
- package/lib/commonjs/AppLovinMAX.js +11 -10
- package/lib/commonjs/AppLovinMAX.js.map +1 -1
- package/lib/commonjs/AppOpenAd.js +8 -10
- package/lib/commonjs/AppOpenAd.js.map +1 -1
- package/lib/commonjs/BannerAd.js +19 -21
- package/lib/commonjs/BannerAd.js.map +1 -1
- package/lib/commonjs/ErrorCode.js +3 -5
- package/lib/commonjs/ErrorCode.js.map +1 -1
- package/lib/commonjs/EventEmitter.js +3 -5
- package/lib/commonjs/EventEmitter.js.map +1 -1
- package/lib/commonjs/InterstitialAd.js +8 -10
- package/lib/commonjs/InterstitialAd.js.map +1 -1
- package/lib/commonjs/MRecAd.js +14 -16
- package/lib/commonjs/MRecAd.js.map +1 -1
- package/lib/commonjs/Privacy.js +3 -5
- package/lib/commonjs/Privacy.js.map +1 -1
- package/lib/commonjs/RewardedAd.js +8 -10
- package/lib/commonjs/RewardedAd.js.map +1 -1
- package/lib/commonjs/Utils.js +25 -0
- package/lib/commonjs/Utils.js.map +1 -0
- package/lib/commonjs/nativeAd/NativeAdView.js +65 -42
- package/lib/commonjs/nativeAd/NativeAdView.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js +51 -47
- package/lib/commonjs/nativeAd/NativeAdViewComponents.js.map +1 -1
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js +38 -8
- package/lib/commonjs/nativeAd/NativeAdViewProvider.js.map +1 -1
- package/lib/commonjs/nativeAd/img/blank_icon.png +0 -0
- package/lib/commonjs/specs/AppLovinMAXAdViewNativeComponent.js +14 -0
- package/lib/commonjs/specs/AppLovinMAXAdViewNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/AppLovinMAXNativeAdViewNativeComponent.js +14 -0
- package/lib/commonjs/specs/AppLovinMAXNativeAdViewNativeComponent.js.map +1 -0
- package/lib/commonjs/specs/NativeAppLovinMAXModule.js +9 -0
- package/lib/commonjs/specs/NativeAppLovinMAXModule.js.map +1 -0
- package/lib/module/AdView.js +56 -81
- package/lib/module/AdView.js.map +1 -1
- package/lib/module/AppLovinMAX.js +7 -7
- package/lib/module/AppLovinMAX.js.map +1 -1
- package/lib/module/AppOpenAd.js +1 -4
- package/lib/module/AppOpenAd.js.map +1 -1
- package/lib/module/BannerAd.js +1 -4
- package/lib/module/BannerAd.js.map +1 -1
- package/lib/module/ErrorCode.js +1 -4
- package/lib/module/ErrorCode.js.map +1 -1
- package/lib/module/EventEmitter.js +2 -4
- package/lib/module/EventEmitter.js.map +1 -1
- package/lib/module/InterstitialAd.js +2 -5
- package/lib/module/InterstitialAd.js.map +1 -1
- package/lib/module/MRecAd.js +1 -4
- package/lib/module/MRecAd.js.map +1 -1
- package/lib/module/Privacy.js +1 -4
- package/lib/module/Privacy.js.map +1 -1
- package/lib/module/RewardedAd.js +2 -5
- package/lib/module/RewardedAd.js.map +1 -1
- package/lib/module/Utils.js +17 -0
- package/lib/module/Utils.js.map +1 -0
- package/lib/module/nativeAd/NativeAdView.js +63 -40
- package/lib/module/nativeAd/NativeAdView.js.map +1 -1
- package/lib/module/nativeAd/NativeAdViewComponents.js +53 -49
- package/lib/module/nativeAd/NativeAdViewComponents.js.map +1 -1
- package/lib/module/nativeAd/NativeAdViewProvider.js +39 -9
- package/lib/module/nativeAd/NativeAdViewProvider.js.map +1 -1
- package/lib/module/nativeAd/img/blank_icon.png +0 -0
- package/lib/module/specs/AppLovinMAXAdViewNativeComponent.js +7 -0
- package/lib/module/specs/AppLovinMAXAdViewNativeComponent.js.map +1 -0
- package/lib/module/specs/AppLovinMAXNativeAdViewNativeComponent.js +7 -0
- package/lib/module/specs/AppLovinMAXNativeAdViewNativeComponent.js.map +1 -0
- package/lib/module/specs/NativeAppLovinMAXModule.js +3 -0
- package/lib/module/specs/NativeAppLovinMAXModule.js.map +1 -0
- package/lib/typescript/src/AdView.d.ts +11 -11
- package/lib/typescript/src/AdView.d.ts.map +1 -1
- package/lib/typescript/src/AppLovinMAX.d.ts.map +1 -1
- package/lib/typescript/src/AppOpenAd.d.ts.map +1 -1
- package/lib/typescript/src/BannerAd.d.ts.map +1 -1
- package/lib/typescript/src/ErrorCode.d.ts.map +1 -1
- package/lib/typescript/src/EventEmitter.d.ts.map +1 -1
- package/lib/typescript/src/InterstitialAd.d.ts.map +1 -1
- package/lib/typescript/src/MRecAd.d.ts.map +1 -1
- package/lib/typescript/src/Privacy.d.ts.map +1 -1
- package/lib/typescript/src/RewardedAd.d.ts.map +1 -1
- package/lib/typescript/src/Utils.d.ts +16 -0
- package/lib/typescript/src/Utils.d.ts.map +1 -0
- package/lib/typescript/src/nativeAd/NativeAdView.d.ts.map +1 -1
- package/lib/typescript/src/nativeAd/NativeAdViewComponents.d.ts.map +1 -1
- package/lib/typescript/src/nativeAd/NativeAdViewProvider.d.ts +14 -5
- package/lib/typescript/src/nativeAd/NativeAdViewProvider.d.ts.map +1 -1
- package/lib/typescript/src/specs/AppLovinMAXAdViewNativeComponent.d.ts +86 -0
- package/lib/typescript/src/specs/AppLovinMAXAdViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/AppLovinMAXNativeAdViewNativeComponent.d.ts +80 -0
- package/lib/typescript/src/specs/AppLovinMAXNativeAdViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeAppLovinMAXModule.d.ts +132 -0
- package/lib/typescript/src/specs/NativeAppLovinMAXModule.d.ts.map +1 -0
- package/lib/typescript/src/types/AdInfo.d.ts +1 -1
- package/lib/typescript/src/types/AdInfo.d.ts.map +1 -1
- package/lib/typescript/src/types/AdProps.d.ts +2 -2
- package/lib/typescript/src/types/AdProps.d.ts.map +1 -1
- package/lib/typescript/src/types/NativeAd.d.ts +4 -0
- package/lib/typescript/src/types/NativeAd.d.ts.map +1 -1
- package/package.json +9 -1
- package/react-native-applovin-max.podspec +2 -2
- package/src/AdView.tsx +56 -121
- package/src/AppLovinMAX.ts +7 -8
- package/src/AppOpenAd.ts +1 -3
- package/src/BannerAd.ts +1 -3
- package/src/ErrorCode.ts +1 -3
- package/src/EventEmitter.ts +2 -3
- package/src/InterstitialAd.ts +2 -4
- package/src/MRecAd.ts +1 -3
- package/src/Privacy.ts +1 -3
- package/src/RewardedAd.ts +2 -4
- package/src/Utils.ts +26 -0
- package/src/nativeAd/NativeAdView.tsx +65 -65
- package/src/nativeAd/NativeAdViewComponents.tsx +32 -60
- package/src/nativeAd/NativeAdViewProvider.tsx +37 -12
- package/src/nativeAd/img/blank_icon.png +0 -0
- package/src/specs/AppLovinMAXAdViewNativeComponent.ts +96 -0
- package/src/specs/AppLovinMAXNativeAdViewNativeComponent.ts +89 -0
- package/src/specs/NativeAppLovinMAXModule.ts +208 -0
- package/src/types/AdInfo.ts +1 -1
- package/src/types/AdProps.ts +2 -2
- package/src/types/NativeAd.ts +5 -0
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXAdViewManager.java +0 -149
- package/android/src/main/java/com/applovin/reactnative/AppLovinMAXNativeAdViewManager.java +0 -163
- package/ios/AppLovinMAXAdView.m +0 -325
- package/ios/AppLovinMAXNativeAdView.m +0 -432
- package/ios/AppLovinMAXNativeAdViewManager.m +0 -64
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { HostComponent, ViewProps } from 'react-native';
|
|
2
|
+
import type { Double, DirectEventHandler } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
+
import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
|
|
4
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
5
|
+
|
|
6
|
+
export type AdInfoEvent = Readonly<{
|
|
7
|
+
adUnitId: string;
|
|
8
|
+
adFormat: string;
|
|
9
|
+
networkName: string;
|
|
10
|
+
networkPlacement: string;
|
|
11
|
+
creativeId?: string | null;
|
|
12
|
+
placement?: string | null;
|
|
13
|
+
revenue: Double;
|
|
14
|
+
revenuePrecision: string;
|
|
15
|
+
latencyMillis: Double;
|
|
16
|
+
dspName?: string | null;
|
|
17
|
+
size: Readonly<{
|
|
18
|
+
width: Double;
|
|
19
|
+
height: Double;
|
|
20
|
+
}>;
|
|
21
|
+
nativeAd?: Readonly<{
|
|
22
|
+
title?: string;
|
|
23
|
+
advertiser?: string;
|
|
24
|
+
body?: string;
|
|
25
|
+
callToAction?: string;
|
|
26
|
+
starRating?: Double;
|
|
27
|
+
mediaContentAspectRatio?: Double;
|
|
28
|
+
isIconImageAvailable: boolean;
|
|
29
|
+
isOptionsViewAvailable: boolean;
|
|
30
|
+
isMediaViewAvailable: boolean;
|
|
31
|
+
}>;
|
|
32
|
+
nativeAdImpl: Readonly<{
|
|
33
|
+
title?: string | null;
|
|
34
|
+
advertiser?: string | null;
|
|
35
|
+
body?: string | null;
|
|
36
|
+
callToAction?: string | null;
|
|
37
|
+
image?: boolean;
|
|
38
|
+
imageSource?: string | null;
|
|
39
|
+
url?: string;
|
|
40
|
+
starRating?: Double;
|
|
41
|
+
isOptionsViewAvailable: boolean;
|
|
42
|
+
isMediaViewAvailable: boolean;
|
|
43
|
+
}>;
|
|
44
|
+
}>;
|
|
45
|
+
|
|
46
|
+
export type AdLoadFailedEvent = Readonly<{
|
|
47
|
+
adUnitId: string;
|
|
48
|
+
code: Double;
|
|
49
|
+
message?: string | null;
|
|
50
|
+
mediatedNetworkErrorCode: Double;
|
|
51
|
+
mediatedNetworkErrorMessage: string;
|
|
52
|
+
adLoadFailureInfo?: string | null;
|
|
53
|
+
}>;
|
|
54
|
+
|
|
55
|
+
export interface NativeProps extends ViewProps {
|
|
56
|
+
adUnitId: string;
|
|
57
|
+
placement?: string | null;
|
|
58
|
+
customData?: string | null;
|
|
59
|
+
extraParameters?: ReadonlyArray<{
|
|
60
|
+
key: string;
|
|
61
|
+
value: string | null;
|
|
62
|
+
}> | null;
|
|
63
|
+
strLocalExtraParameters?: ReadonlyArray<{
|
|
64
|
+
key: string;
|
|
65
|
+
value: string | null;
|
|
66
|
+
}> | null;
|
|
67
|
+
boolLocalExtraParameters?: ReadonlyArray<{
|
|
68
|
+
key: string;
|
|
69
|
+
value: boolean | null;
|
|
70
|
+
}> | null;
|
|
71
|
+
onAdLoadedEvent: DirectEventHandler<AdInfoEvent>;
|
|
72
|
+
onAdLoadFailedEvent: DirectEventHandler<AdLoadFailedEvent>;
|
|
73
|
+
onAdClickedEvent: DirectEventHandler<AdInfoEvent>;
|
|
74
|
+
onAdRevenuePaidEvent: DirectEventHandler<AdInfoEvent>;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
type AppLovinMAXNativeAdViewNativeComponentType = HostComponent<NativeProps>;
|
|
78
|
+
|
|
79
|
+
interface NativeCommands {
|
|
80
|
+
loadAd: (viewRef: React.ElementRef<AppLovinMAXNativeAdViewNativeComponentType>) => void;
|
|
81
|
+
updateAssetView: (viewRef: React.ElementRef<AppLovinMAXNativeAdViewNativeComponentType>, assetViewTag: Double, assetViewName: string) => void;
|
|
82
|
+
renderNativeAd: (viewRef: React.ElementRef<AppLovinMAXNativeAdViewNativeComponentType>) => void;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|
86
|
+
supportedCommands: ['loadAd', 'updateAssetView', 'renderNativeAd'],
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
export default codegenNativeComponent<NativeProps>('AppLovinMAXNativeAdView') as HostComponent<NativeProps>;
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
2
|
+
import type { TurboModule } from 'react-native';
|
|
3
|
+
import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
|
|
4
|
+
import type { Configuration } from '../types';
|
|
5
|
+
import type { CMPError } from '../types';
|
|
6
|
+
import type { AdViewId } from '../types';
|
|
7
|
+
|
|
8
|
+
export interface Spec extends TurboModule {
|
|
9
|
+
readonly getConstants: () => {
|
|
10
|
+
ON_INTERSTITIAL_LOADED_EVENT: string;
|
|
11
|
+
ON_INTERSTITIAL_LOAD_FAILED_EVENT: string;
|
|
12
|
+
ON_INTERSTITIAL_CLICKED_EVENT: string;
|
|
13
|
+
ON_INTERSTITIAL_DISPLAYED_EVENT: string;
|
|
14
|
+
ON_INTERSTITIAL_AD_FAILED_TO_DISPLAY_EVENT: string;
|
|
15
|
+
ON_INTERSTITIAL_HIDDEN_EVENT: string;
|
|
16
|
+
ON_INTERSTITIAL_AD_REVENUE_PAID: string;
|
|
17
|
+
ON_REWARDED_AD_LOADED_EVENT: string;
|
|
18
|
+
ON_REWARDED_AD_LOAD_FAILED_EVENT: string;
|
|
19
|
+
ON_REWARDED_AD_CLICKED_EVENT: string;
|
|
20
|
+
ON_REWARDED_AD_DISPLAYED_EVENT: string;
|
|
21
|
+
ON_REWARDED_AD_FAILED_TO_DISPLAY_EVENT: string;
|
|
22
|
+
ON_REWARDED_AD_HIDDEN_EVENT: string;
|
|
23
|
+
ON_REWARDED_AD_RECEIVED_REWARD_EVENT: string;
|
|
24
|
+
ON_REWARDED_AD_REVENUE_PAID: string;
|
|
25
|
+
ON_BANNER_AD_LOADED_EVENT: string;
|
|
26
|
+
ON_BANNER_AD_LOAD_FAILED_EVENT: string;
|
|
27
|
+
ON_BANNER_AD_CLICKED_EVENT: string;
|
|
28
|
+
ON_BANNER_AD_COLLAPSED_EVENT: string;
|
|
29
|
+
ON_BANNER_AD_EXPANDED_EVENT: string;
|
|
30
|
+
ON_BANNER_AD_REVENUE_PAID: string;
|
|
31
|
+
ON_MREC_AD_LOADED_EVENT: string;
|
|
32
|
+
ON_MREC_AD_LOAD_FAILED_EVENT: string;
|
|
33
|
+
ON_MREC_AD_CLICKED_EVENT: string;
|
|
34
|
+
ON_MREC_AD_COLLAPSED_EVENT: string;
|
|
35
|
+
ON_MREC_AD_EXPANDED_EVENT: string;
|
|
36
|
+
ON_MREC_AD_REVENUE_PAID: string;
|
|
37
|
+
ON_APPOPEN_AD_LOADED_EVENT: string;
|
|
38
|
+
ON_APPOPEN_AD_LOAD_FAILED_EVENT: string;
|
|
39
|
+
ON_APPOPEN_AD_CLICKED_EVENT: string;
|
|
40
|
+
ON_APPOPEN_AD_DISPLAYED_EVENT: string;
|
|
41
|
+
ON_APPOPEN_AD_FAILED_TO_DISPLAY_EVENT: string;
|
|
42
|
+
ON_APPOPEN_AD_HIDDEN_EVENT: string;
|
|
43
|
+
ON_APPOPEN_AD_REVENUE_PAID: string;
|
|
44
|
+
ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOADED_EVENT: string;
|
|
45
|
+
ON_NATIVE_UI_COMPONENT_ADVIEW_AD_LOAD_FAILED_EVENT: string;
|
|
46
|
+
MAX_ERROR_CODE_UNSPECIFIED: number;
|
|
47
|
+
MAX_ERROR_CODE_NO_FILL: number;
|
|
48
|
+
MAX_ERROR_CODE_AD_LOAD_FAILED: number;
|
|
49
|
+
MAX_ERROR_CODE_AD_DISPLAY_FAILED: number;
|
|
50
|
+
MAX_ERROR_CODE_NETWORK_ERROR: number;
|
|
51
|
+
MAX_ERROR_CODE_NETWORK_TIMEOUT: number;
|
|
52
|
+
MAX_ERROR_CODE_NO_NETWORK: number;
|
|
53
|
+
MAX_ERROR_CODE_FULLSCREEN_AD_ALREADY_SHOWING: number;
|
|
54
|
+
MAX_ERROR_CODE_FULLSCREEN_AD_NOT_READY: number;
|
|
55
|
+
MAX_ERROR_CODE_FULLSCREEN_AD_INVALID_VIEW_CONTROLLER: number;
|
|
56
|
+
MAX_ERROR_CODE_DONT_KEEP_ACTIVITIES_ENABLED: number;
|
|
57
|
+
MAX_ERROR_CODE_INVALID_AD_UNIT_ID: number;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
isInitialized(): Promise<boolean>;
|
|
61
|
+
|
|
62
|
+
initialize(pluginVersion: string, sdkKey: string): Promise<Configuration>;
|
|
63
|
+
|
|
64
|
+
isTablet(): Promise<boolean>;
|
|
65
|
+
|
|
66
|
+
showMediationDebugger(): void;
|
|
67
|
+
|
|
68
|
+
setHasUserConsent(hasUserConsent: boolean): void;
|
|
69
|
+
|
|
70
|
+
hasUserConsent(): Promise<boolean>;
|
|
71
|
+
|
|
72
|
+
setDoNotSell(doNotSell: boolean): void;
|
|
73
|
+
|
|
74
|
+
isDoNotSell(): Promise<boolean>;
|
|
75
|
+
|
|
76
|
+
setUserId(userId: string): void;
|
|
77
|
+
|
|
78
|
+
setMuted(muted: boolean): void;
|
|
79
|
+
|
|
80
|
+
isMuted(): Promise<boolean>;
|
|
81
|
+
|
|
82
|
+
setVerboseLogging(enabled: boolean): void;
|
|
83
|
+
|
|
84
|
+
setCreativeDebuggerEnabled(enabled: boolean): void;
|
|
85
|
+
|
|
86
|
+
setTestDeviceAdvertisingIds(ids: string[]): void;
|
|
87
|
+
|
|
88
|
+
setExtraParameter(key: string, value: string | null): void;
|
|
89
|
+
|
|
90
|
+
setInitializationAdUnitIds(adUnitIds: string[]): void;
|
|
91
|
+
|
|
92
|
+
setTermsAndPrivacyPolicyFlowEnabled(enabled: boolean): void;
|
|
93
|
+
|
|
94
|
+
setPrivacyPolicyUrl(url: string): void;
|
|
95
|
+
|
|
96
|
+
setTermsOfServiceUrl(url: string): void;
|
|
97
|
+
|
|
98
|
+
setConsentFlowDebugUserGeography(userGeography: string): void;
|
|
99
|
+
|
|
100
|
+
showCmpForExistingUser(): Promise<CMPError | null>;
|
|
101
|
+
|
|
102
|
+
hasSupportedCmp(): Promise<boolean>;
|
|
103
|
+
|
|
104
|
+
addSegment(key: number, values: number[]): Promise<void>;
|
|
105
|
+
|
|
106
|
+
getSegments(): Promise<{ [key: string]: number[] } | null>;
|
|
107
|
+
|
|
108
|
+
createBanner(adUnitId: string, position: string): void;
|
|
109
|
+
|
|
110
|
+
createBannerWithOffsets(adUnitId: string, position: string, xOffset: number, yOffset: number): void;
|
|
111
|
+
|
|
112
|
+
setBannerBackgroundColor(adUnitId: string, hexColorCode: string): void;
|
|
113
|
+
|
|
114
|
+
setBannerPlacement(adUnitId: string, placement: string | null): void;
|
|
115
|
+
|
|
116
|
+
setBannerCustomData(adUnitId: string, customData: string | null): void;
|
|
117
|
+
|
|
118
|
+
setBannerWidth(adUnitId: string, width: number): void;
|
|
119
|
+
|
|
120
|
+
updateBannerPosition(adUnitId: string, position: string): void;
|
|
121
|
+
|
|
122
|
+
updateBannerOffsets(adUnitId: string, xOffset: number, yOffset: number): void;
|
|
123
|
+
|
|
124
|
+
setBannerExtraParameter(adUnitId: string, key: string, value: string | null): void;
|
|
125
|
+
|
|
126
|
+
setBannerLocalExtraParameter(adUnitId: string, parameters: UnsafeObject): void;
|
|
127
|
+
|
|
128
|
+
startBannerAutoRefresh(adUnitId: string): void;
|
|
129
|
+
|
|
130
|
+
stopBannerAutoRefresh(adUnitId: string): void;
|
|
131
|
+
|
|
132
|
+
showBanner(adUnitId: string): void;
|
|
133
|
+
|
|
134
|
+
hideBanner(adUnitId: string): void;
|
|
135
|
+
|
|
136
|
+
destroyBanner(adUnitId: string): void;
|
|
137
|
+
|
|
138
|
+
getAdaptiveBannerHeightForWidth(width: number): Promise<number>;
|
|
139
|
+
|
|
140
|
+
createMRec(adUnitId: string, position: string): void;
|
|
141
|
+
|
|
142
|
+
setMRecPlacement(adUnitId: string, placement: string | null): void;
|
|
143
|
+
|
|
144
|
+
setMRecCustomData(adUnitId: string, customData: string | null): void;
|
|
145
|
+
|
|
146
|
+
updateMRecPosition(adUnitId: string, position: string): void;
|
|
147
|
+
|
|
148
|
+
setMRecExtraParameter(adUnitId: string, key: string, value: string | null): void;
|
|
149
|
+
|
|
150
|
+
setMRecLocalExtraParameter(adUnitId: string, parameters: UnsafeObject): void;
|
|
151
|
+
|
|
152
|
+
startMRecAutoRefresh(adUnitId: string): void;
|
|
153
|
+
|
|
154
|
+
stopMRecAutoRefresh(adUnitId: string): void;
|
|
155
|
+
|
|
156
|
+
showMRec(adUnitId: string): void;
|
|
157
|
+
|
|
158
|
+
hideMRec(adUnitId: string): void;
|
|
159
|
+
|
|
160
|
+
destroyMRec(adUnitId: string): void;
|
|
161
|
+
|
|
162
|
+
loadInterstitial(adUnitId: string): void;
|
|
163
|
+
|
|
164
|
+
isInterstitialReady(adUnitId: string): Promise<boolean>;
|
|
165
|
+
|
|
166
|
+
showInterstitial(adUnitId: string, placement?: string | null, customData?: string | null): void;
|
|
167
|
+
|
|
168
|
+
setInterstitialExtraParameter(adUnitId: string, key: string, value: string | null): void;
|
|
169
|
+
|
|
170
|
+
setInterstitialLocalExtraParameter(adUnitId: string, parameters: UnsafeObject): void;
|
|
171
|
+
|
|
172
|
+
loadRewardedAd(adUnitId: string): void;
|
|
173
|
+
|
|
174
|
+
isRewardedAdReady(adUnitId: string): Promise<boolean>;
|
|
175
|
+
|
|
176
|
+
showRewardedAd(adUnitId: string, placement?: string | null, customData?: string | null): void;
|
|
177
|
+
|
|
178
|
+
setRewardedAdExtraParameter(adUnitId: string, key: string, value: string | null): void;
|
|
179
|
+
|
|
180
|
+
setRewardedAdLocalExtraParameter(adUnitId: string, parameters: UnsafeObject): void;
|
|
181
|
+
|
|
182
|
+
loadAppOpenAd(adUnitId: string): void;
|
|
183
|
+
|
|
184
|
+
isAppOpenAdReady(adUnitId: string): Promise<boolean>;
|
|
185
|
+
|
|
186
|
+
showAppOpenAd(adUnitId: string, placement?: string | null, customData?: string | null): void;
|
|
187
|
+
|
|
188
|
+
setAppOpenAdExtraParameter(adUnitId: string, key: string, value: string | null): void;
|
|
189
|
+
|
|
190
|
+
setAppOpenAdLocalExtraParameter(adUnitId: string, parameters: UnsafeObject): void;
|
|
191
|
+
|
|
192
|
+
preloadNativeUIComponentAdView(
|
|
193
|
+
adUnitId: string,
|
|
194
|
+
adFormat: string,
|
|
195
|
+
placement?: string | null,
|
|
196
|
+
customData?: string | null,
|
|
197
|
+
extraParameters?: UnsafeObject | null,
|
|
198
|
+
localExtraParameters?: UnsafeObject | null
|
|
199
|
+
): Promise<AdViewId>;
|
|
200
|
+
|
|
201
|
+
destroyNativeUIComponentAdView(adViewId: number): Promise<void>;
|
|
202
|
+
|
|
203
|
+
addListener(eventType: string): void;
|
|
204
|
+
|
|
205
|
+
removeListeners(count: number): void;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export default TurboModuleRegistry.getEnforcing<Spec>('AppLovinMAX');
|
package/src/types/AdInfo.ts
CHANGED
package/src/types/AdProps.ts
CHANGED
|
@@ -29,13 +29,13 @@ export type AdProps = {
|
|
|
29
29
|
* A dictionary value representing the extra parameters to set a list of key-value string pairs
|
|
30
30
|
* for the ad.
|
|
31
31
|
*/
|
|
32
|
-
extraParameters?: { [key: string]: string
|
|
32
|
+
extraParameters?: { [key: string]: string };
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* A dictionary value representing the local extra parameters to set a list of key-value pairs
|
|
36
36
|
* to pass to the adapter instances.
|
|
37
37
|
*/
|
|
38
|
-
localExtraParameters?: { [key: string]:
|
|
38
|
+
localExtraParameters?: { [key: string]: string | boolean };
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
41
|
* A callback fuction that {@link AdView} or {@link NativeAdView} fires when it loads a new ad.
|
package/src/types/NativeAd.ts
CHANGED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
package com.applovin.reactnative;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableArray;
|
|
4
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
5
|
-
import com.facebook.react.common.MapBuilder;
|
|
6
|
-
import com.facebook.react.uimanager.SimpleViewManager;
|
|
7
|
-
import com.facebook.react.uimanager.ThemedReactContext;
|
|
8
|
-
import com.facebook.react.uimanager.annotations.ReactProp;
|
|
9
|
-
|
|
10
|
-
import java.util.Map;
|
|
11
|
-
|
|
12
|
-
import androidx.annotation.NonNull;
|
|
13
|
-
import androidx.annotation.Nullable;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Created by Thomas So on September 26 2020
|
|
17
|
-
*/
|
|
18
|
-
class AppLovinMAXAdViewManager
|
|
19
|
-
extends SimpleViewManager<AppLovinMAXAdView>
|
|
20
|
-
{
|
|
21
|
-
private static final int COMMAND_LOAD_AD = 1;
|
|
22
|
-
|
|
23
|
-
public AppLovinMAXAdViewManager() { }
|
|
24
|
-
|
|
25
|
-
@NonNull
|
|
26
|
-
@Override
|
|
27
|
-
public String getName()
|
|
28
|
-
{
|
|
29
|
-
return "AppLovinMAXAdView";
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
@Nullable
|
|
33
|
-
@Override
|
|
34
|
-
public Map<String, Object> getExportedCustomDirectEventTypeConstants()
|
|
35
|
-
{
|
|
36
|
-
// mapping Android events to JavaScript events
|
|
37
|
-
return MapBuilder.<String, Object>builder()
|
|
38
|
-
.put( AppLovinMAXAdEvents.ON_AD_LOADED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_LOADED_EVENT ) )
|
|
39
|
-
.put( AppLovinMAXAdEvents.ON_AD_LOAD_FAILED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_LOAD_FAILED_EVENT ) )
|
|
40
|
-
.put( AppLovinMAXAdEvents.ON_AD_DISPLAY_FAILED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_DISPLAY_FAILED_EVENT ) )
|
|
41
|
-
.put( AppLovinMAXAdEvents.ON_AD_CLICKED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_CLICKED_EVENT ) )
|
|
42
|
-
.put( AppLovinMAXAdEvents.ON_AD_EXPANDED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_EXPANDED_EVENT ) )
|
|
43
|
-
.put( AppLovinMAXAdEvents.ON_AD_COLLAPSED_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_COLLAPSED_EVENT ) )
|
|
44
|
-
.put( AppLovinMAXAdEvents.ON_AD_REVENUE_PAID_EVENT, MapBuilder.of( "registrationName", AppLovinMAXAdEvents.ON_AD_REVENUE_PAID_EVENT ) )
|
|
45
|
-
.build();
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
@Nullable
|
|
49
|
-
@Override
|
|
50
|
-
public Map<String, Integer> getCommandsMap()
|
|
51
|
-
{
|
|
52
|
-
return MapBuilder.of(
|
|
53
|
-
"loadAd", COMMAND_LOAD_AD
|
|
54
|
-
);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
@Override
|
|
58
|
-
public void receiveCommand(@NonNull final AppLovinMAXAdView view, final int commandId, @Nullable final ReadableArray args)
|
|
59
|
-
{
|
|
60
|
-
if ( commandId == COMMAND_LOAD_AD )
|
|
61
|
-
{
|
|
62
|
-
view.loadAd();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
@NonNull
|
|
67
|
-
@Override
|
|
68
|
-
protected AppLovinMAXAdView createViewInstance(@NonNull final ThemedReactContext reactContext)
|
|
69
|
-
{
|
|
70
|
-
// NOTE: Do not set frame or backgroundColor as RN will overwrite the values set by your custom class in order to match your JavaScript component's layout props - hence wrapper
|
|
71
|
-
return new AppLovinMAXAdView( reactContext );
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
@ReactProp(name = "adUnitId")
|
|
75
|
-
public void setAdUnitId(final AppLovinMAXAdView view, final String adUnitId)
|
|
76
|
-
{
|
|
77
|
-
view.setAdUnitId( adUnitId );
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
@ReactProp(name = "adFormat")
|
|
81
|
-
public void setAdFormat(final AppLovinMAXAdView view, final String adFormatStr)
|
|
82
|
-
{
|
|
83
|
-
view.setAdFormat( adFormatStr );
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
@ReactProp(name = "adViewId")
|
|
87
|
-
public void setAdViewId(final AppLovinMAXAdView view, final int adViewId)
|
|
88
|
-
{
|
|
89
|
-
view.setAdViewId( adViewId );
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
@ReactProp(name = "placement")
|
|
93
|
-
public void setPlacement(final AppLovinMAXAdView view, @Nullable final String placement)
|
|
94
|
-
{
|
|
95
|
-
view.setPlacement( placement );
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
@ReactProp(name = "customData")
|
|
99
|
-
public void setCustomData(final AppLovinMAXAdView view, @Nullable final String customData)
|
|
100
|
-
{
|
|
101
|
-
view.setCustomData( customData );
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
@ReactProp(name = "adaptiveBannerEnabled")
|
|
105
|
-
public void setAdaptiveBannerEnabled(final AppLovinMAXAdView view, final boolean enabled)
|
|
106
|
-
{
|
|
107
|
-
view.setAdaptiveBannerEnabled( enabled );
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
@ReactProp(name = "autoRefresh")
|
|
111
|
-
public void setAutoRefresh(final AppLovinMAXAdView view, final boolean enabled)
|
|
112
|
-
{
|
|
113
|
-
view.setAutoRefreshEnabled( enabled );
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
@ReactProp(name = "loadOnMount")
|
|
117
|
-
public void setLoadOnMount(final AppLovinMAXAdView view, final boolean enabled)
|
|
118
|
-
{
|
|
119
|
-
view.setLoadOnMount( enabled );
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
@ReactProp(name = "extraParameters")
|
|
123
|
-
public void setExtraParameters(final AppLovinMAXAdView view, @Nullable final ReadableMap value)
|
|
124
|
-
{
|
|
125
|
-
view.setExtraParameters( value );
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
@ReactProp(name = "localExtraParameters")
|
|
129
|
-
public void setLocalExtraParameters(final AppLovinMAXAdView view, @Nullable final ReadableMap value)
|
|
130
|
-
{
|
|
131
|
-
view.setLocalExtraParameters( value );
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
@Override
|
|
135
|
-
public void onAfterUpdateTransaction(@NonNull final AppLovinMAXAdView view)
|
|
136
|
-
{
|
|
137
|
-
super.onAfterUpdateTransaction( view );
|
|
138
|
-
|
|
139
|
-
view.onSetProps();
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
@Override
|
|
143
|
-
public void onDropViewInstance(AppLovinMAXAdView view)
|
|
144
|
-
{
|
|
145
|
-
view.destroy();
|
|
146
|
-
|
|
147
|
-
super.onDropViewInstance( view );
|
|
148
|
-
}
|
|
149
|
-
}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
package com.applovin.reactnative;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableArray;
|
|
4
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
5
|
-
import com.facebook.react.common.MapBuilder;
|
|
6
|
-
import com.facebook.react.uimanager.ThemedReactContext;
|
|
7
|
-
import com.facebook.react.uimanager.ViewGroupManager;
|
|
8
|
-
import com.facebook.react.uimanager.annotations.ReactProp;
|
|
9
|
-
|
|
10
|
-
import java.util.Map;
|
|
11
|
-
|
|
12
|
-
import androidx.annotation.NonNull;
|
|
13
|
-
import androidx.annotation.Nullable;
|
|
14
|
-
|
|
15
|
-
public class AppLovinMAXNativeAdViewManager
|
|
16
|
-
extends ViewGroupManager<AppLovinMAXNativeAdView>
|
|
17
|
-
{
|
|
18
|
-
public static final String REACT_CLASS = "AppLovinMAXNativeAdView";
|
|
19
|
-
|
|
20
|
-
public final int COMMAND_LOAD_AD = 1;
|
|
21
|
-
|
|
22
|
-
public AppLovinMAXNativeAdViewManager() { }
|
|
23
|
-
|
|
24
|
-
@NonNull
|
|
25
|
-
@Override
|
|
26
|
-
protected AppLovinMAXNativeAdView createViewInstance(@NonNull final ThemedReactContext reactContext)
|
|
27
|
-
{
|
|
28
|
-
return new AppLovinMAXNativeAdView( reactContext );
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
@NonNull
|
|
32
|
-
@Override
|
|
33
|
-
public String getName()
|
|
34
|
-
{
|
|
35
|
-
return REACT_CLASS;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/// Callback to JavaScript
|
|
39
|
-
|
|
40
|
-
@Nullable
|
|
41
|
-
@Override
|
|
42
|
-
public Map<String, Object> getExportedCustomDirectEventTypeConstants()
|
|
43
|
-
{
|
|
44
|
-
// mapping Android events to JavaScript events
|
|
45
|
-
return MapBuilder.<String, Object>builder()
|
|
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
|
-
.build();
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/// Call from JavaScript
|
|
54
|
-
|
|
55
|
-
@Nullable
|
|
56
|
-
@Override
|
|
57
|
-
public Map<String, Integer> getCommandsMap()
|
|
58
|
-
{
|
|
59
|
-
return MapBuilder.of(
|
|
60
|
-
"loadAd", COMMAND_LOAD_AD
|
|
61
|
-
);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// NOTE: the method is deprecated but the new version won't work
|
|
65
|
-
@Override
|
|
66
|
-
public void receiveCommand(@NonNull final AppLovinMAXNativeAdView root, final int commandId, @Nullable final ReadableArray args)
|
|
67
|
-
{
|
|
68
|
-
if ( commandId == COMMAND_LOAD_AD )
|
|
69
|
-
{
|
|
70
|
-
root.loadAd();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/// Property Setters
|
|
75
|
-
|
|
76
|
-
@ReactProp(name = "adUnitId")
|
|
77
|
-
public void setAdUnitId(final AppLovinMAXNativeAdView view, final String value)
|
|
78
|
-
{
|
|
79
|
-
view.setAdUnitId( value );
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
@ReactProp(name = "placement")
|
|
83
|
-
public void setPlacement(final AppLovinMAXNativeAdView view, @Nullable final String value)
|
|
84
|
-
{
|
|
85
|
-
view.setPlacement( value );
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
@ReactProp(name = "customData")
|
|
89
|
-
public void setCustomData(final AppLovinMAXNativeAdView view, @Nullable final String value)
|
|
90
|
-
{
|
|
91
|
-
view.setCustomData( value );
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
@ReactProp(name = "extraParameters")
|
|
95
|
-
public void setExtraParameters(final AppLovinMAXNativeAdView view, @Nullable final ReadableMap value)
|
|
96
|
-
{
|
|
97
|
-
view.setExtraParameters( value );
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
@ReactProp(name = "localExtraParameters")
|
|
101
|
-
public void setLocalExtraParameters(final AppLovinMAXNativeAdView view, @Nullable final ReadableMap value)
|
|
102
|
-
{
|
|
103
|
-
view.setLocalExtraParameters( value );
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
@ReactProp(name = "titleView")
|
|
107
|
-
public void setTitleView(final AppLovinMAXNativeAdView view, final int value)
|
|
108
|
-
{
|
|
109
|
-
view.setTitleView( value );
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
@ReactProp(name = "advertiserView")
|
|
113
|
-
public void setAdvertiserView(final AppLovinMAXNativeAdView view, final int value)
|
|
114
|
-
{
|
|
115
|
-
view.setAdvertiserView( value );
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
@ReactProp(name = "bodyView")
|
|
119
|
-
public void setBodyView(final AppLovinMAXNativeAdView view, final int value)
|
|
120
|
-
{
|
|
121
|
-
view.setBodyView( value );
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
@ReactProp(name = "callToActionView")
|
|
125
|
-
public void setCallToActionView(final AppLovinMAXNativeAdView view, final int value)
|
|
126
|
-
{
|
|
127
|
-
view.setCallToActionView( value );
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
@ReactProp(name = "iconView")
|
|
131
|
-
public void setIconView(final AppLovinMAXNativeAdView view, final int value)
|
|
132
|
-
{
|
|
133
|
-
view.setIconView( value );
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
@ReactProp(name = "optionsView")
|
|
137
|
-
public void setOptionsView(final AppLovinMAXNativeAdView view, final int value)
|
|
138
|
-
{
|
|
139
|
-
view.setOptionsView( value );
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
@ReactProp(name = "mediaView")
|
|
143
|
-
public void setMediaView(final AppLovinMAXNativeAdView view, final int value)
|
|
144
|
-
{
|
|
145
|
-
view.setMediaView( value );
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
@Override
|
|
149
|
-
public void onAfterUpdateTransaction(@NonNull final AppLovinMAXNativeAdView view)
|
|
150
|
-
{
|
|
151
|
-
super.onAfterUpdateTransaction( view );
|
|
152
|
-
|
|
153
|
-
view.onSetProps();
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
@Override
|
|
157
|
-
public void onDropViewInstance(@NonNull final AppLovinMAXNativeAdView view)
|
|
158
|
-
{
|
|
159
|
-
view.destroy();
|
|
160
|
-
|
|
161
|
-
super.onDropViewInstance( view );
|
|
162
|
-
}
|
|
163
|
-
}
|