@thealteroffice/react-native-adgeist 0.0.19 → 0.0.22
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/Adgeist.podspec +1 -1
- package/README.md +70 -521
- package/android/build.gradle +6 -3
- package/android/generated/java/com/adgeist/NativeAdgeistSpec.java +11 -11
- package/android/generated/java/com/facebook/react/viewmanagers/HTML5AdNativeComponentManagerDelegate.java +55 -0
- package/android/generated/java/com/facebook/react/viewmanagers/HTML5AdNativeComponentManagerInterface.java +24 -0
- package/android/generated/jni/RNAdgeistSpec-generated.cpp +12 -12
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/ComponentDescriptors.cpp +22 -0
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/ComponentDescriptors.h +24 -0
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/EventEmitters.cpp +60 -0
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/EventEmitters.h +49 -0
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/Props.cpp +28 -0
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/Props.h +52 -0
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/RNAdgeistSpecJSI-generated.cpp +14 -22
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/RNAdgeistSpecJSI.h +36 -36
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/ShadowNodes.cpp +17 -0
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/ShadowNodes.h +32 -0
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/States.cpp +16 -0
- package/android/generated/jni/react/renderer/components/RNAdgeistSpec/States.h +29 -0
- package/android/src/main/java/com/adgeist/AdgeistPackage.kt +8 -7
- package/android/src/main/java/com/adgeist/components/HTML5AdViewManagerImpl.kt +125 -0
- package/android/src/main/java/com/adgeist/modules/AdgeistImpl.kt +114 -0
- package/android/src/main/java/com/adgeist/utils/CreativeExtensions.kt +151 -0
- package/android/src/newarch/java/com/Adgeist.kt +119 -0
- package/android/src/newarch/java/com/HTML5AdViewManager.kt +77 -0
- package/android/src/oldarch/java/com/Adgeist.kt +132 -0
- package/android/src/oldarch/java/com/HTML5AdViewManager.kt +63 -0
- package/ios/Adgeist-Bridging-Header.h +3 -0
- package/ios/Adgeist.h +1 -1
- package/ios/Adgeist.mm +154 -38
- package/ios/AdgeistImpl.swift +188 -53
- package/ios/NativeHTML5AdManager.h +9 -0
- package/ios/NativeHTML5AdManager.mm +178 -0
- package/ios/NativeHTML5AdView.swift +136 -0
- package/ios/generated/RNAdgeistSpec/ComponentDescriptors.cpp +22 -0
- package/ios/generated/RNAdgeistSpec/ComponentDescriptors.h +24 -0
- package/ios/generated/RNAdgeistSpec/EventEmitters.cpp +60 -0
- package/ios/generated/RNAdgeistSpec/EventEmitters.h +49 -0
- package/ios/generated/RNAdgeistSpec/Props.cpp +28 -0
- package/ios/generated/RNAdgeistSpec/Props.h +52 -0
- package/ios/generated/RNAdgeistSpec/RCTComponentViewHelpers.h +65 -0
- package/ios/generated/RNAdgeistSpec/RNAdgeistSpec-generated.mm +17 -17
- package/ios/generated/RNAdgeistSpec/RNAdgeistSpec.h +17 -25
- package/ios/generated/RNAdgeistSpec/ShadowNodes.cpp +17 -0
- package/ios/generated/RNAdgeistSpec/ShadowNodes.h +32 -0
- package/ios/generated/RNAdgeistSpec/States.cpp +16 -0
- package/ios/generated/RNAdgeistSpec/States.h +29 -0
- package/ios/generated/RNAdgeistSpecJSI-generated.cpp +14 -22
- package/ios/generated/RNAdgeistSpecJSI.h +36 -36
- package/lib/module/cdpclient/index.js +1 -25
- package/lib/module/cdpclient/index.js.map +1 -1
- package/lib/module/components/HTML5AdView.js +128 -0
- package/lib/module/components/HTML5AdView.js.map +1 -0
- package/lib/module/components/{BannerAd.js → deprecated/BannerAdView.js} +50 -79
- package/lib/module/components/deprecated/BannerAdView.js.map +1 -0
- package/lib/module/components/{ConsentModal.js → deprecated/ConsentModal.js} +2 -2
- package/lib/module/components/deprecated/ConsentModal.js.map +1 -0
- package/lib/module/constants.js +14 -0
- package/lib/module/constants.js.map +1 -0
- package/lib/module/index.js +3 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/{components → providers}/AdgeistProvider.js +10 -35
- package/lib/module/providers/AdgeistProvider.js.map +1 -0
- package/lib/module/specs/HTML5AdNativeComponent.ts +46 -0
- package/lib/module/specs/NativeAdgeist.js.map +1 -0
- package/lib/module/types/AdSize.js +2 -0
- package/lib/module/types/AdSize.js.map +1 -0
- package/lib/module/types/CPMAdResponse.js +2 -0
- package/lib/module/types/CPMAdResponse.js.map +1 -0
- package/lib/module/types/FixedAdResponse.js +2 -0
- package/lib/module/types/FixedAdResponse.js.map +1 -0
- package/lib/module/types/HTML5AdNativeComponentProps.js +4 -0
- package/lib/module/types/HTML5AdNativeComponentProps.js.map +1 -0
- package/lib/module/types/Provider.js +2 -0
- package/lib/module/types/Provider.js.map +1 -0
- package/lib/typescript/src/cdpclient/index.d.ts +1 -21
- package/lib/typescript/src/cdpclient/index.d.ts.map +1 -1
- package/lib/typescript/src/components/HTML5AdView.d.ts +3 -0
- package/lib/typescript/src/components/HTML5AdView.d.ts.map +1 -0
- package/lib/typescript/src/components/deprecated/BannerAdView.d.ts +17 -0
- package/lib/typescript/src/components/deprecated/BannerAdView.d.ts.map +1 -0
- package/lib/typescript/src/components/deprecated/ConsentModal.d.ts.map +1 -0
- package/lib/typescript/src/constants.d.ts +10 -0
- package/lib/typescript/src/constants.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/providers/AdgeistProvider.d.ts +9 -0
- package/lib/typescript/src/providers/AdgeistProvider.d.ts.map +1 -0
- package/lib/typescript/src/specs/HTML5AdNativeComponent.d.ts +29 -0
- package/lib/typescript/src/specs/HTML5AdNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeAdgeist.d.ts +28 -0
- package/lib/typescript/src/specs/NativeAdgeist.d.ts.map +1 -0
- package/lib/typescript/src/types/AdSize.d.ts +5 -0
- package/lib/typescript/src/types/AdSize.d.ts.map +1 -0
- package/lib/typescript/src/types/CPMAdResponse.d.ts +25 -0
- package/lib/typescript/src/types/CPMAdResponse.d.ts.map +1 -0
- package/lib/typescript/src/types/FixedAdResponse.d.ts +50 -0
- package/lib/typescript/src/types/FixedAdResponse.d.ts.map +1 -0
- package/lib/typescript/src/types/HTML5AdNativeComponentProps.d.ts +24 -0
- package/lib/typescript/src/types/HTML5AdNativeComponentProps.d.ts.map +1 -0
- package/lib/typescript/src/types/Provider.d.ts +16 -0
- package/lib/typescript/src/types/Provider.d.ts.map +1 -0
- package/package.json +8 -3
- package/plugin/build/android/withRNAdgeistMainApplication.d.ts +3 -0
- package/plugin/build/android/withRNAdgeistMainApplication.js +65 -0
- package/plugin/build/index.d.ts +3 -0
- package/plugin/build/index.js +25 -0
- package/plugin/build/ios/withRNAdgeistAppDelegate.d.ts +4 -0
- package/plugin/build/ios/withRNAdgeistAppDelegate.js +66 -0
- package/react-native.config.js +1 -1
- package/src/cdpclient/index.ts +1 -21
- package/src/components/HTML5AdView.tsx +161 -0
- package/src/components/{BannerAd.tsx → deprecated/BannerAdView.tsx} +80 -115
- package/src/components/{ConsentModal.tsx → deprecated/ConsentModal.tsx} +2 -2
- package/src/constants.ts +8 -0
- package/src/index.tsx +4 -2
- package/src/{components → providers}/AdgeistProvider.tsx +26 -60
- package/src/specs/HTML5AdNativeComponent.ts +46 -0
- package/src/{NativeAdgeist.ts → specs/NativeAdgeist.ts} +26 -25
- package/src/types/AdSize.ts +4 -0
- package/src/types/CPMAdResponse.ts +26 -0
- package/src/types/FixedAdResponse.ts +51 -0
- package/src/types/HTML5AdNativeComponentProps.ts +28 -0
- package/src/types/Provider.ts +16 -0
- package/android/src/main/AndroidManifestNew.xml +0 -2
- package/android/src/main/java/com/adgeist/implementation/AdgeistModuleImpl.kt +0 -252
- package/android/src/newarch/java/com/AdgeistModule.kt +0 -135
- package/android/src/oldarch/java/com/AdgeistModule.kt +0 -148
- package/ios/adgeist-Bridging-Header.h +0 -1
- package/lib/module/NativeAdgeist.js.map +0 -1
- package/lib/module/components/AdgeistProvider.js.map +0 -1
- package/lib/module/components/BannerAd.js.map +0 -1
- package/lib/module/components/ConsentModal.js.map +0 -1
- package/lib/typescript/src/NativeAdgeist.d.ts +0 -28
- package/lib/typescript/src/NativeAdgeist.d.ts.map +0 -1
- package/lib/typescript/src/components/AdgeistProvider.d.ts +0 -50
- package/lib/typescript/src/components/AdgeistProvider.d.ts.map +0 -1
- package/lib/typescript/src/components/BannerAd.d.ts +0 -64
- package/lib/typescript/src/components/BannerAd.d.ts.map +0 -1
- package/lib/typescript/src/components/ConsentModal.d.ts.map +0 -1
- /package/lib/module/{NativeAdgeist.js → specs/NativeAdgeist.js} +0 -0
- /package/lib/typescript/src/components/{ConsentModal.d.ts → deprecated/ConsentModal.d.ts} +0 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
package com.adgeist
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Promise
|
|
4
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
5
|
+
import com.adgeist.modules.AdgeistImpl
|
|
6
|
+
import com.adgeistkit.ads.network.AnalyticsRequestDEPRECATED
|
|
7
|
+
|
|
8
|
+
import com.facebook.react.bridge.ReadableMap
|
|
9
|
+
|
|
10
|
+
class Adgeist internal constructor(reactContext: ReactApplicationContext) :
|
|
11
|
+
NativeAdgeistSpec(reactContext) {
|
|
12
|
+
|
|
13
|
+
private var implementation: AdgeistImpl = AdgeistImpl(reactContext)
|
|
14
|
+
|
|
15
|
+
override fun getName(): String = AdgeistImpl.NAME
|
|
16
|
+
|
|
17
|
+
override fun initializeSdk(customBidRequestBackendDomain: String, customPackageOrBundleID: String, customAdgeistAppID: String, promise: Promise) {
|
|
18
|
+
implementation.initializeSdk(customBidRequestBackendDomain, customPackageOrBundleID, customAdgeistAppID, promise)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
override fun destroySdk(promise: Promise) {
|
|
22
|
+
implementation.destroySdk(promise)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
override fun fetchCreative(adSpaceId: String, buyType: String, isTestEnvironment: Boolean, promise: Promise) {
|
|
26
|
+
implementation.fetchCreative(adSpaceId, buyType, isTestEnvironment, promise)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
override fun trackImpression(campaignId: String, adSpaceId: String, bidId: String, bidMeta: String, buyType: String, isTestEnvironment: Boolean, renderTime: Double, promise: Promise) {
|
|
30
|
+
var builder = AnalyticsRequestDEPRECATED.AnalyticsRequestBuilderDEPRECATED(adSpaceId, isTestEnvironment)
|
|
31
|
+
|
|
32
|
+
builder = when (buyType.uppercase()) {
|
|
33
|
+
"CPM" -> builder.buildCPMRequest(campaignId, bidId)
|
|
34
|
+
"FIXED" -> builder.buildFIXEDRequest(bidMeta)
|
|
35
|
+
else -> builder
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
implementation.sendCreativeAnalytics(builder.trackImpression(renderTime.toFloat()).build(), promise)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
override fun trackView(campaignId: String, adSpaceId: String, bidId: String, bidMeta: String, buyType: String, isTestEnvironment: Boolean, viewTime: Double, visibilityRatio: Double, scrollDepth: Double, timeToVisible: Double, promise: Promise) {
|
|
42
|
+
var builder = AnalyticsRequestDEPRECATED.AnalyticsRequestBuilderDEPRECATED(adSpaceId, isTestEnvironment)
|
|
43
|
+
|
|
44
|
+
builder = when (buyType.uppercase()) {
|
|
45
|
+
"CPM" -> builder.buildCPMRequest(campaignId, bidId)
|
|
46
|
+
"FIXED" -> builder.buildFIXEDRequest(bidMeta)
|
|
47
|
+
else -> builder
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
implementation.sendCreativeAnalytics(
|
|
51
|
+
builder.trackViewableImpression(timeToVisible.toFloat(),
|
|
52
|
+
scrollDepth.toFloat(),
|
|
53
|
+
visibilityRatio.toFloat(),
|
|
54
|
+
viewTime.toFloat()).build(),
|
|
55
|
+
promise
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
override fun trackTotalView(campaignId: String, adSpaceId: String, bidId: String, bidMeta: String, buyType: String, isTestEnvironment: Boolean, totalViewTime: Double, promise: Promise) {
|
|
60
|
+
var builder = AnalyticsRequestDEPRECATED.AnalyticsRequestBuilderDEPRECATED(adSpaceId, isTestEnvironment)
|
|
61
|
+
|
|
62
|
+
builder = when (buyType.uppercase()) {
|
|
63
|
+
"CPM" -> builder.buildCPMRequest(campaignId, bidId)
|
|
64
|
+
"FIXED" -> builder.buildFIXEDRequest(bidMeta)
|
|
65
|
+
else -> builder
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
implementation.sendCreativeAnalytics(
|
|
69
|
+
builder.trackTotalViewTime(totalViewTime.toFloat()).build(),
|
|
70
|
+
promise
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
override fun trackClick(campaignId: String, adSpaceId: String, bidId: String, bidMeta: String, buyType: String, isTestEnvironment: Boolean, promise: Promise) {
|
|
75
|
+
var builder = AnalyticsRequestDEPRECATED.AnalyticsRequestBuilderDEPRECATED(adSpaceId, isTestEnvironment)
|
|
76
|
+
|
|
77
|
+
builder = when (buyType.uppercase()) {
|
|
78
|
+
"CPM" -> builder.buildCPMRequest(campaignId, bidId)
|
|
79
|
+
"FIXED" -> builder.buildFIXEDRequest(bidMeta)
|
|
80
|
+
else -> builder
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
implementation.sendCreativeAnalytics(
|
|
84
|
+
builder.trackClick().build(),
|
|
85
|
+
promise
|
|
86
|
+
)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
override fun trackVideoPlayback(campaignId: String, adSpaceId: String, bidId: String, bidMeta: String, buyType: String, isTestEnvironment: Boolean, totalPlaybackTime: Double, promise: Promise) {
|
|
90
|
+
var builder = AnalyticsRequestDEPRECATED.AnalyticsRequestBuilderDEPRECATED(adSpaceId, isTestEnvironment)
|
|
91
|
+
|
|
92
|
+
builder = when (buyType.uppercase()) {
|
|
93
|
+
"CPM" -> builder.buildCPMRequest(campaignId, bidId)
|
|
94
|
+
"FIXED" -> builder.buildFIXEDRequest(bidMeta)
|
|
95
|
+
else -> builder
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
implementation.sendCreativeAnalytics(
|
|
99
|
+
builder.trackTotalPlaybackTime(totalPlaybackTime.toFloat()).build(),
|
|
100
|
+
promise
|
|
101
|
+
)
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
override fun setUserDetails(userDetails: ReadableMap) {
|
|
105
|
+
implementation.setUserDetails(userDetails)
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
override fun logEvent(event: ReadableMap) {
|
|
109
|
+
implementation.logEvent(event)
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
override fun getConsentStatus(promise: Promise) {
|
|
113
|
+
implementation.getConsentStatus(promise)
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
override fun updateConsentStatus(consent: Boolean) {
|
|
117
|
+
implementation.updateConsentStatus(consent)
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
package com.adgeist.components
|
|
2
|
+
|
|
3
|
+
import android.content.res.Resources
|
|
4
|
+
import android.util.Log
|
|
5
|
+
import android.view.ViewGroup
|
|
6
|
+
import androidx.annotation.RequiresPermission
|
|
7
|
+
import com.adgeistkit.ads.AdView
|
|
8
|
+
import com.facebook.react.bridge.ReadableArray
|
|
9
|
+
import com.facebook.react.bridge.ReadableMap
|
|
10
|
+
import com.facebook.react.common.MapBuilder
|
|
11
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
12
|
+
import com.facebook.react.uimanager.SimpleViewManager
|
|
13
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
14
|
+
import com.facebook.react.uimanager.annotations.ReactProp
|
|
15
|
+
import com.facebook.react.uimanager.ViewManagerDelegate
|
|
16
|
+
import com.facebook.react.viewmanagers.HTML5AdNativeComponentManagerDelegate
|
|
17
|
+
import com.facebook.react.viewmanagers.HTML5AdNativeComponentManagerInterface
|
|
18
|
+
|
|
19
|
+
@ReactModule(name = HTML5AdViewManagerImpl.NAME)
|
|
20
|
+
class HTML5AdViewManager : SimpleViewManager<AdView>(), HTML5AdNativeComponentManagerInterface<AdView> {
|
|
21
|
+
|
|
22
|
+
private val mDelegate: ViewManagerDelegate<AdView> = HTML5AdNativeComponentManagerDelegate(this)
|
|
23
|
+
|
|
24
|
+
override fun getDelegate(): ViewManagerDelegate<AdView> {
|
|
25
|
+
return mDelegate
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
override fun getName(): String = HTML5AdViewManagerImpl.NAME
|
|
29
|
+
|
|
30
|
+
override fun createViewInstance(reactContext: ThemedReactContext): AdView {
|
|
31
|
+
return HTML5AdViewManagerImpl.createViewInstance(reactContext)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@ReactProp(name = "adUnitID")
|
|
35
|
+
override fun setAdUnitID(view: AdView, adUnitID: String?) {
|
|
36
|
+
HTML5AdViewManagerImpl.setAdUnitID(view, adUnitID)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@ReactProp(name = "adIsResponsive", defaultBoolean = false)
|
|
40
|
+
override fun setAdIsResponsive(view: AdView, adIsResponsive: Boolean) {
|
|
41
|
+
HTML5AdViewManagerImpl.setAdIsResponsive(view, adIsResponsive)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@ReactProp(name = "adSize")
|
|
45
|
+
override fun setAdSize(view: AdView, adSizeMap: ReadableMap?) {
|
|
46
|
+
HTML5AdViewManagerImpl.setAdSize(view, adSizeMap)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@ReactProp(name = "adType")
|
|
50
|
+
override fun setAdType(view: AdView, adType: String?) {
|
|
51
|
+
HTML5AdViewManagerImpl.setAdType(view, adType)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
override fun getExportedCustomDirectEventTypeConstants(): Map<String, Any>? {
|
|
55
|
+
return MapBuilder.of(
|
|
56
|
+
HTML5AdViewManagerImpl.EVENT_AD_LOADED, MapBuilder.of("registrationName", HTML5AdViewManagerImpl.EVENT_AD_LOADED),
|
|
57
|
+
HTML5AdViewManagerImpl.EVENT_AD_FAILED_TO_LOAD, MapBuilder.of("registrationName", HTML5AdViewManagerImpl.EVENT_AD_FAILED_TO_LOAD),
|
|
58
|
+
HTML5AdViewManagerImpl.EVENT_AD_OPENED, MapBuilder.of("registrationName", HTML5AdViewManagerImpl.EVENT_AD_OPENED),
|
|
59
|
+
HTML5AdViewManagerImpl.EVENT_AD_CLOSED, MapBuilder.of("registrationName", HTML5AdViewManagerImpl.EVENT_AD_CLOSED),
|
|
60
|
+
HTML5AdViewManagerImpl.EVENT_AD_CLICKED, MapBuilder.of("registrationName", HTML5AdViewManagerImpl.EVENT_AD_CLICKED)
|
|
61
|
+
)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@RequiresPermission("android.permission.INTERNET")
|
|
65
|
+
override fun loadAd(view: AdView, isTestMode: Boolean) {
|
|
66
|
+
HTML5AdViewManagerImpl.loadAd(view, isTestMode)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
override fun destroy(view: AdView) {
|
|
70
|
+
HTML5AdViewManagerImpl.destroyAd(view)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
override fun onDropViewInstance(view: AdView) {
|
|
74
|
+
super.onDropViewInstance(view)
|
|
75
|
+
HTML5AdViewManagerImpl.destroyAd(view)
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
package com.adgeist
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Promise
|
|
4
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
5
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
6
|
+
import com.facebook.react.bridge.ReactMethod
|
|
7
|
+
import com.adgeist.modules.AdgeistImpl
|
|
8
|
+
import com.adgeistkit.ads.network.AnalyticsRequestDEPRECATED
|
|
9
|
+
import com.facebook.react.bridge.ReadableMap
|
|
10
|
+
|
|
11
|
+
class Adgeist internal constructor(reactContext: ReactApplicationContext) :
|
|
12
|
+
ReactContextBaseJavaModule(reactContext) {
|
|
13
|
+
|
|
14
|
+
private var implementation: AdgeistImpl = AdgeistImpl(reactContext)
|
|
15
|
+
|
|
16
|
+
override fun getName(): String = AdgeistImpl.NAME
|
|
17
|
+
|
|
18
|
+
@ReactMethod
|
|
19
|
+
fun initializeSdk(customBidRequestBackendDomain: String, customPackageOrBundleID: String, customAdgeistAppID: String, promise: Promise) {
|
|
20
|
+
implementation.initializeSdk(customBidRequestBackendDomain, customPackageOrBundleID, customAdgeistAppID, promise)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@ReactMethod
|
|
24
|
+
fun destroySdk(promise: Promise) {
|
|
25
|
+
implementation.destroySdk(promise)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@ReactMethod
|
|
29
|
+
fun fetchCreative(adSpaceId: String, buyType: String, isTestEnvironment: Boolean, promise: Promise) {
|
|
30
|
+
implementation.fetchCreative(adSpaceId, buyType, isTestEnvironment, promise)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@ReactMethod
|
|
34
|
+
fun trackImpression(campaignId: String, adSpaceId: String, bidId: String, bidMeta: String, buyType: String, isTestEnvironment: Boolean, renderTime: Double, promise: Promise) {
|
|
35
|
+
var builder = AnalyticsRequestDEPRECATED.AnalyticsRequestBuilderDEPRECATED(adSpaceId, isTestEnvironment)
|
|
36
|
+
|
|
37
|
+
builder = when (buyType.uppercase()) {
|
|
38
|
+
"CPM" -> builder.buildCPMRequest(campaignId, bidId)
|
|
39
|
+
"FIXED" -> builder.buildFIXEDRequest(bidMeta)
|
|
40
|
+
else -> builder
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
implementation.sendCreativeAnalytics(builder.trackImpression(renderTime.toFloat()).build(), promise)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@ReactMethod
|
|
47
|
+
fun trackView(campaignId: String, adSpaceId: String, bidId: String, bidMeta: String, buyType: String, isTestEnvironment: Boolean, viewTime: Double, visibilityRatio: Double, scrollDepth: Double, timeToVisible: Double, promise: Promise) {
|
|
48
|
+
var builder = AnalyticsRequestDEPRECATED.AnalyticsRequestBuilderDEPRECATED(adSpaceId, isTestEnvironment)
|
|
49
|
+
|
|
50
|
+
builder = when (buyType.uppercase()) {
|
|
51
|
+
"CPM" -> builder.buildCPMRequest(campaignId, bidId)
|
|
52
|
+
"FIXED" -> builder.buildFIXEDRequest(bidMeta)
|
|
53
|
+
else -> builder
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
implementation.sendCreativeAnalytics(
|
|
57
|
+
builder.trackViewableImpression(timeToVisible.toFloat(),
|
|
58
|
+
scrollDepth.toFloat(),
|
|
59
|
+
visibilityRatio.toFloat(),
|
|
60
|
+
viewTime.toFloat()).build(),
|
|
61
|
+
promise
|
|
62
|
+
)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@ReactMethod
|
|
66
|
+
fun trackTotalView(campaignId: String, adSpaceId: String, bidId: String, bidMeta: String, buyType: String, isTestEnvironment: Boolean, totalViewTime: Double, visibilityRatio: Double, promise: Promise) {
|
|
67
|
+
var builder = AnalyticsRequestDEPRECATED.AnalyticsRequestBuilderDEPRECATED(adSpaceId, isTestEnvironment)
|
|
68
|
+
|
|
69
|
+
builder = when (buyType.uppercase()) {
|
|
70
|
+
"CPM" -> builder.buildCPMRequest(campaignId, bidId)
|
|
71
|
+
"FIXED" -> builder.buildFIXEDRequest(bidMeta)
|
|
72
|
+
else -> builder
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
implementation.sendCreativeAnalytics(
|
|
76
|
+
builder.trackTotalViewTime(totalViewTime.toFloat()).build(),
|
|
77
|
+
promise
|
|
78
|
+
)
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
@ReactMethod
|
|
82
|
+
fun trackClick(campaignId: String, adSpaceId: String, bidId: String, bidMeta: String, buyType: String, isTestEnvironment: Boolean, promise: Promise) {
|
|
83
|
+
var builder = AnalyticsRequestDEPRECATED.AnalyticsRequestBuilderDEPRECATED(adSpaceId, isTestEnvironment)
|
|
84
|
+
|
|
85
|
+
builder = when (buyType.uppercase()) {
|
|
86
|
+
"CPM" -> builder.buildCPMRequest(campaignId, bidId)
|
|
87
|
+
"FIXED" -> builder.buildFIXEDRequest(bidMeta)
|
|
88
|
+
else -> builder
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
implementation.sendCreativeAnalytics(
|
|
92
|
+
builder.trackClick().build(),
|
|
93
|
+
promise
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
@ReactMethod
|
|
98
|
+
fun trackVideoPlayback(campaignId: String, adSpaceId: String, bidId: String, bidMeta: String, buyType: String, isTestEnvironment: Boolean, totalPlaybackTime: Double, promise: Promise) {
|
|
99
|
+
var builder = AnalyticsRequestDEPRECATED.AnalyticsRequestBuilderDEPRECATED(adSpaceId, isTestEnvironment)
|
|
100
|
+
|
|
101
|
+
builder = when (buyType.uppercase()) {
|
|
102
|
+
"CPM" -> builder.buildCPMRequest(campaignId, bidId)
|
|
103
|
+
"FIXED" -> builder.buildFIXEDRequest(bidMeta)
|
|
104
|
+
else -> builder
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
implementation.sendCreativeAnalytics(
|
|
108
|
+
builder.trackTotalPlaybackTime(totalPlaybackTime.toFloat()).build(),
|
|
109
|
+
promise
|
|
110
|
+
)
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@ReactMethod
|
|
114
|
+
fun setUserDetails(userDetails: ReadableMap) {
|
|
115
|
+
implementation.setUserDetails(userDetails)
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@ReactMethod
|
|
119
|
+
fun logEvent(event: ReadableMap) {
|
|
120
|
+
implementation.logEvent(event)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
@ReactMethod
|
|
124
|
+
fun getConsentStatus(promise: Promise) {
|
|
125
|
+
implementation.getConsentStatus(promise)
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
@ReactMethod
|
|
129
|
+
fun updateConsentStatus(consent: Boolean) {
|
|
130
|
+
implementation.updateConsentStatus(consent)
|
|
131
|
+
}
|
|
132
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
package com.adgeist.components
|
|
2
|
+
|
|
3
|
+
import com.adgeistkit.ads.AdView
|
|
4
|
+
import com.facebook.react.bridge.ReadableMap
|
|
5
|
+
import com.facebook.react.common.MapBuilder
|
|
6
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
7
|
+
import com.facebook.react.uimanager.SimpleViewManager
|
|
8
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
9
|
+
import com.facebook.react.uimanager.annotations.ReactProp
|
|
10
|
+
|
|
11
|
+
class HTML5AdViewManager : SimpleViewManager<AdView>() {
|
|
12
|
+
|
|
13
|
+
override fun getName(): String = HTML5AdViewManagerImpl.NAME
|
|
14
|
+
|
|
15
|
+
override fun createViewInstance(reactContext: ThemedReactContext): AdView {
|
|
16
|
+
return HTML5AdViewManagerImpl.createViewInstance(reactContext)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@ReactProp(name = "adUnitID")
|
|
20
|
+
fun setAdUnitID(view: AdView, adUnitID: String?) {
|
|
21
|
+
HTML5AdViewManagerImpl.setAdUnitID(view, adUnitID)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@ReactProp(name = "adIsResponsive", defaultBoolean = false)
|
|
25
|
+
fun setAdIsResponsive(view: AdView, adIsResponsive: Boolean) {
|
|
26
|
+
HTML5AdViewManagerImpl.setAdIsResponsive(view, adIsResponsive)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@ReactProp(name = "adSize")
|
|
30
|
+
fun setAdSize(view: AdView, adSizeMap: ReadableMap?) {
|
|
31
|
+
HTML5AdViewManagerImpl.setAdSize(view, adSizeMap)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@ReactProp(name = "adType")
|
|
35
|
+
fun setAdType(view: AdView, adType: String?) {
|
|
36
|
+
HTML5AdViewManagerImpl.setAdType(view, adType)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
override fun getExportedCustomDirectEventTypeConstants(): Map<String, Any>? {
|
|
40
|
+
return MapBuilder.of(
|
|
41
|
+
HTML5AdViewManagerImpl.EVENT_AD_LOADED, MapBuilder.of("registrationName", HTML5AdViewManagerImpl.EVENT_AD_LOADED),
|
|
42
|
+
HTML5AdViewManagerImpl.EVENT_AD_FAILED_TO_LOAD, MapBuilder.of("registrationName", HTML5AdViewManagerImpl.EVENT_AD_FAILED_TO_LOAD),
|
|
43
|
+
HTML5AdViewManagerImpl.EVENT_AD_OPENED, MapBuilder.of("registrationName", HTML5AdViewManagerImpl.EVENT_AD_OPENED),
|
|
44
|
+
HTML5AdViewManagerImpl.EVENT_AD_CLOSED, MapBuilder.of("registrationName", HTML5AdViewManagerImpl.EVENT_AD_CLOSED),
|
|
45
|
+
HTML5AdViewManagerImpl.EVENT_AD_CLICKED, MapBuilder.of("registrationName", HTML5AdViewManagerImpl.EVENT_AD_CLICKED)
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@RequiresPermission("android.permission.INTERNET")
|
|
50
|
+
fun loadAd(view: AdView, args: ReadableArray?) {
|
|
51
|
+
val isTestMode = if (args != null && args.size() > 0) args.getBoolean(0) else false
|
|
52
|
+
HTML5AdViewManagerImpl.loadAd(view, isTestMode)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
override fun destroy(view: AdView) {
|
|
56
|
+
HTML5AdViewManagerImpl.destroyAd(view)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
override fun onDropViewInstance(view: AdView) {
|
|
60
|
+
super.onDropViewInstance(view)
|
|
61
|
+
HTML5AdViewManagerImpl.destroyAd(view)
|
|
62
|
+
}
|
|
63
|
+
}
|
package/ios/Adgeist.h
CHANGED
package/ios/Adgeist.mm
CHANGED
|
@@ -20,56 +20,40 @@ RCT_EXPORT_MODULE(Adgeist)
|
|
|
20
20
|
return self;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
RCT_EXPORT_METHOD(initializeSdk:(NSString *)
|
|
23
|
+
RCT_EXPORT_METHOD(initializeSdk:(NSString *)customBidRequestBackendDomain
|
|
24
|
+
customPackageOrBundleID:(NSString *)customPackageOrBundleID
|
|
25
|
+
customAdgeistAppID:(NSString *)customAdgeistAppID
|
|
24
26
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
25
27
|
reject:(RCTPromiseRejectBlock)reject)
|
|
26
28
|
{
|
|
27
|
-
[adgeist
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
[adgeist initializeSdkWithCustomBidRequestBackendDomain:customBidRequestBackendDomain
|
|
30
|
+
customPackageOrBundleID:customPackageOrBundleID
|
|
31
|
+
customAdgeistAppID:customAdgeistAppID
|
|
32
|
+
resolver:resolve
|
|
33
|
+
rejecter:reject];
|
|
30
34
|
}
|
|
31
35
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
publisherId:(NSString *)publisherId
|
|
37
|
-
isTestEnvironment:(BOOL)isTestEnvironment
|
|
38
|
-
resolve:(RCTPromiseResolveBlock)resolve
|
|
39
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
40
|
-
{
|
|
41
|
-
[adgeist fetchCreativeWithApiKey:apiKey
|
|
42
|
-
origin:origin
|
|
43
|
-
adSpaceId:adSpaceId
|
|
44
|
-
publisherId:publisherId
|
|
45
|
-
isTestEnvironment:isTestEnvironment
|
|
46
|
-
resolver:resolve
|
|
47
|
-
rejecter:reject];
|
|
36
|
+
RCT_EXPORT_METHOD(destroySdk:(RCTPromiseResolveBlock)resolve
|
|
37
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
38
|
+
[adgeist destroySdkWithResolver:resolve
|
|
39
|
+
rejecter:reject];
|
|
48
40
|
}
|
|
49
41
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
eventType:(NSString *)eventType
|
|
54
|
-
origin:(NSString *)origin
|
|
55
|
-
apiKey:(NSString *)apiKey
|
|
56
|
-
bidId:(NSString *)bidId
|
|
42
|
+
|
|
43
|
+
RCT_EXPORT_METHOD(fetchCreative:(NSString *)adSpaceId
|
|
44
|
+
buyType:(NSString *)buyType
|
|
57
45
|
isTestEnvironment:(BOOL)isTestEnvironment
|
|
58
46
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
59
47
|
reject:(RCTPromiseRejectBlock)reject)
|
|
60
48
|
{
|
|
61
|
-
[adgeist
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
apiKey:apiKey
|
|
67
|
-
bidId:bidId
|
|
68
|
-
isTestEnvironment:isTestEnvironment
|
|
69
|
-
resolver:resolve
|
|
70
|
-
rejecter:reject];
|
|
49
|
+
[adgeist fetchCreativeWithAdSpaceId:adSpaceId
|
|
50
|
+
buyType:buyType
|
|
51
|
+
isTestEnvironment:isTestEnvironment
|
|
52
|
+
resolver:resolve
|
|
53
|
+
rejecter:reject];
|
|
71
54
|
}
|
|
72
55
|
|
|
56
|
+
|
|
73
57
|
RCT_EXPORT_METHOD(setUserDetails:(NSObject *)userDetails) {
|
|
74
58
|
[adgeist setUserDetails:userDetails];
|
|
75
59
|
}
|
|
@@ -77,7 +61,7 @@ RCT_EXPORT_METHOD(setUserDetails:(NSObject *)userDetails) {
|
|
|
77
61
|
RCT_EXPORT_METHOD(getConsentStatus:(RCTPromiseResolveBlock)resolve
|
|
78
62
|
reject:(RCTPromiseRejectBlock)reject) {
|
|
79
63
|
[adgeist getConsentStatusWithResolver:resolve
|
|
80
|
-
|
|
64
|
+
rejecter:reject];
|
|
81
65
|
}
|
|
82
66
|
|
|
83
67
|
RCT_EXPORT_METHOD(updateConsentStatus:(BOOL)consent) {
|
|
@@ -88,6 +72,138 @@ RCT_EXPORT_METHOD(logEvent:(NSDictionary *)eventDict) {
|
|
|
88
72
|
[adgeist logEventWithEventDict:eventDict];
|
|
89
73
|
}
|
|
90
74
|
|
|
75
|
+
RCT_EXPORT_METHOD(trackImpression:(NSString *)campaignId
|
|
76
|
+
adSpaceId:(NSString *)adSpaceId
|
|
77
|
+
bidId:(NSString *)bidId
|
|
78
|
+
bidMeta:(NSString *)bidMeta
|
|
79
|
+
buyType:(NSString *)buyType
|
|
80
|
+
isTestEnvironment:(BOOL)isTestEnvironment
|
|
81
|
+
renderTime:(double)renderTime
|
|
82
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
83
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
84
|
+
{
|
|
85
|
+
[adgeist trackImpressionWithCampaignId:campaignId
|
|
86
|
+
adSpaceId:adSpaceId
|
|
87
|
+
bidId:bidId
|
|
88
|
+
bidMeta:bidMeta
|
|
89
|
+
buyType:buyType
|
|
90
|
+
isTestEnvironment:isTestEnvironment
|
|
91
|
+
renderTime:(float)renderTime
|
|
92
|
+
resolver:resolve
|
|
93
|
+
rejecter:reject];
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
RCT_EXPORT_METHOD(trackView:(NSString *)campaignId
|
|
97
|
+
adSpaceId:(NSString *)adSpaceId
|
|
98
|
+
bidId:(NSString *)bidId
|
|
99
|
+
bidMeta:(NSString *)bidMeta
|
|
100
|
+
buyType:(NSString *)buyType
|
|
101
|
+
isTestEnvironment:(BOOL)isTestEnvironment
|
|
102
|
+
viewTime:(double)viewTime
|
|
103
|
+
visibilityRatio:(double)visibilityRatio
|
|
104
|
+
scrollDepth:(double)scrollDepth
|
|
105
|
+
timeToVisible:(double)timeToVisible
|
|
106
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
107
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
108
|
+
{
|
|
109
|
+
[adgeist trackViewWithCampaignId:campaignId
|
|
110
|
+
adSpaceId:adSpaceId
|
|
111
|
+
bidId:bidId
|
|
112
|
+
bidMeta:bidMeta
|
|
113
|
+
buyType:buyType
|
|
114
|
+
isTestEnvironment:isTestEnvironment
|
|
115
|
+
viewTime:(float)viewTime
|
|
116
|
+
visibilityRatio:(float)visibilityRatio
|
|
117
|
+
scrollDepth:(float)scrollDepth
|
|
118
|
+
timeToVisible:(float)timeToVisible
|
|
119
|
+
resolver:resolve
|
|
120
|
+
rejecter:reject];
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
RCT_EXPORT_METHOD(trackTotalView:(NSString *)campaignId
|
|
124
|
+
adSpaceId:(NSString *)adSpaceId
|
|
125
|
+
bidId:(NSString *)bidId
|
|
126
|
+
bidMeta:(NSString *)bidMeta
|
|
127
|
+
buyType:(NSString *)buyType
|
|
128
|
+
isTestEnvironment:(BOOL)isTestEnvironment
|
|
129
|
+
totalViewTime:(double)totalViewTime
|
|
130
|
+
visibilityRatio:(double)visibilityRatio
|
|
131
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
132
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
133
|
+
{
|
|
134
|
+
[adgeist trackTotalViewWithCampaignId:campaignId
|
|
135
|
+
adSpaceId:adSpaceId
|
|
136
|
+
bidId:bidId
|
|
137
|
+
bidMeta:bidMeta
|
|
138
|
+
buyType:buyType
|
|
139
|
+
isTestEnvironment:isTestEnvironment
|
|
140
|
+
totalViewTime:(float)totalViewTime
|
|
141
|
+
visibilityRatio:(float)visibilityRatio
|
|
142
|
+
resolver:resolve
|
|
143
|
+
rejecter:reject];
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
RCT_EXPORT_METHOD(trackClick:(NSString *)campaignId
|
|
147
|
+
adSpaceId:(NSString *)adSpaceId
|
|
148
|
+
bidId:(NSString *)bidId
|
|
149
|
+
bidMeta:(NSString *)bidMeta
|
|
150
|
+
buyType:(NSString *)buyType
|
|
151
|
+
isTestEnvironment:(BOOL)isTestEnvironment
|
|
152
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
153
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
154
|
+
{
|
|
155
|
+
[adgeist trackClickWithCampaignId:campaignId
|
|
156
|
+
adSpaceId:adSpaceId
|
|
157
|
+
bidId:bidId
|
|
158
|
+
bidMeta:bidMeta
|
|
159
|
+
buyType:buyType
|
|
160
|
+
isTestEnvironment:isTestEnvironment
|
|
161
|
+
resolver:resolve
|
|
162
|
+
rejecter:reject];
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
RCT_EXPORT_METHOD(trackVideoPlayback:(NSString *)campaignId
|
|
166
|
+
adSpaceId:(NSString *)adSpaceId
|
|
167
|
+
bidId:(NSString *)bidId
|
|
168
|
+
bidMeta:(NSString *)bidMeta
|
|
169
|
+
buyType:(NSString *)buyType
|
|
170
|
+
isTestEnvironment:(BOOL)isTestEnvironment
|
|
171
|
+
totalPlaybackTime:(double)totalPlaybackTime
|
|
172
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
173
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
174
|
+
{
|
|
175
|
+
[adgeist trackVideoPlaybackWithCampaignId:campaignId
|
|
176
|
+
adSpaceId:adSpaceId
|
|
177
|
+
bidId:bidId
|
|
178
|
+
bidMeta:bidMeta
|
|
179
|
+
buyType:buyType
|
|
180
|
+
isTestEnvironment:isTestEnvironment
|
|
181
|
+
totalPlaybackTime:(float)totalPlaybackTime
|
|
182
|
+
resolver:resolve
|
|
183
|
+
rejecter:reject];
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// RCT_EXPORT_METHOD(trackVideoQuartile:(NSString *)campaignId
|
|
187
|
+
// adSpaceId:(NSString *)adSpaceId
|
|
188
|
+
// bidId:(NSString *)bidId
|
|
189
|
+
// bidMeta:(NSString *)bidMeta
|
|
190
|
+
// buyType:(NSString *)buyType
|
|
191
|
+
// isTestEnvironment:(BOOL)isTestEnvironment
|
|
192
|
+
// quartile:(NSString *)quartile
|
|
193
|
+
// resolve:(RCTPromiseResolveBlock)resolve
|
|
194
|
+
// reject:(RCTPromiseRejectBlock)reject)
|
|
195
|
+
// {
|
|
196
|
+
// [adgeist trackVideoQuartileWithCampaignId:campaignId
|
|
197
|
+
// adSpaceId:adSpaceId
|
|
198
|
+
// bidId:bidId
|
|
199
|
+
// bidMeta:bidMeta
|
|
200
|
+
// buyType:buyType
|
|
201
|
+
// isTestEnvironment:isTestEnvironment
|
|
202
|
+
// quartile:quartile
|
|
203
|
+
// resolver:resolve
|
|
204
|
+
// rejecter:reject];
|
|
205
|
+
// }
|
|
206
|
+
|
|
91
207
|
// TurboModule support for the new architecture
|
|
92
208
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
93
209
|
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|