@thealteroffice/react-native-adgeist 0.0.20 → 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.
Files changed (136) hide show
  1. package/Adgeist.podspec +1 -1
  2. package/README.md +70 -521
  3. package/android/build.gradle +6 -3
  4. package/android/generated/java/com/adgeist/NativeAdgeistSpec.java +11 -11
  5. package/android/generated/java/com/facebook/react/viewmanagers/HTML5AdNativeComponentManagerDelegate.java +55 -0
  6. package/android/generated/java/com/facebook/react/viewmanagers/HTML5AdNativeComponentManagerInterface.java +24 -0
  7. package/android/generated/jni/RNAdgeistSpec-generated.cpp +12 -12
  8. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/ComponentDescriptors.cpp +22 -0
  9. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/ComponentDescriptors.h +24 -0
  10. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/EventEmitters.cpp +60 -0
  11. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/EventEmitters.h +49 -0
  12. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/Props.cpp +28 -0
  13. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/Props.h +52 -0
  14. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/RNAdgeistSpecJSI-generated.cpp +14 -22
  15. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/RNAdgeistSpecJSI.h +36 -36
  16. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/ShadowNodes.cpp +17 -0
  17. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/ShadowNodes.h +32 -0
  18. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/States.cpp +16 -0
  19. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/States.h +29 -0
  20. package/android/src/main/java/com/adgeist/AdgeistPackage.kt +8 -7
  21. package/android/src/main/java/com/adgeist/components/HTML5AdViewManagerImpl.kt +125 -0
  22. package/android/src/main/java/com/adgeist/modules/AdgeistImpl.kt +114 -0
  23. package/android/src/main/java/com/adgeist/utils/CreativeExtensions.kt +151 -0
  24. package/android/src/newarch/java/com/Adgeist.kt +119 -0
  25. package/android/src/newarch/java/com/HTML5AdViewManager.kt +77 -0
  26. package/android/src/oldarch/java/com/Adgeist.kt +132 -0
  27. package/android/src/oldarch/java/com/HTML5AdViewManager.kt +63 -0
  28. package/ios/Adgeist-Bridging-Header.h +3 -0
  29. package/ios/Adgeist.h +1 -1
  30. package/ios/Adgeist.mm +71 -65
  31. package/ios/AdgeistImpl.swift +127 -132
  32. package/ios/NativeHTML5AdManager.h +9 -0
  33. package/ios/NativeHTML5AdManager.mm +178 -0
  34. package/ios/NativeHTML5AdView.swift +136 -0
  35. package/ios/generated/RNAdgeistSpec/ComponentDescriptors.cpp +22 -0
  36. package/ios/generated/RNAdgeistSpec/ComponentDescriptors.h +24 -0
  37. package/ios/generated/RNAdgeistSpec/EventEmitters.cpp +60 -0
  38. package/ios/generated/RNAdgeistSpec/EventEmitters.h +49 -0
  39. package/ios/generated/RNAdgeistSpec/Props.cpp +28 -0
  40. package/ios/generated/RNAdgeistSpec/Props.h +52 -0
  41. package/ios/generated/RNAdgeistSpec/RCTComponentViewHelpers.h +65 -0
  42. package/ios/generated/RNAdgeistSpec/RNAdgeistSpec-generated.mm +17 -17
  43. package/ios/generated/RNAdgeistSpec/RNAdgeistSpec.h +17 -25
  44. package/ios/generated/RNAdgeistSpec/ShadowNodes.cpp +17 -0
  45. package/ios/generated/RNAdgeistSpec/ShadowNodes.h +32 -0
  46. package/ios/generated/RNAdgeistSpec/States.cpp +16 -0
  47. package/ios/generated/RNAdgeistSpec/States.h +29 -0
  48. package/ios/generated/RNAdgeistSpecJSI-generated.cpp +14 -22
  49. package/ios/generated/RNAdgeistSpecJSI.h +36 -36
  50. package/lib/module/cdpclient/index.js +1 -25
  51. package/lib/module/cdpclient/index.js.map +1 -1
  52. package/lib/module/components/HTML5AdView.js +128 -0
  53. package/lib/module/components/HTML5AdView.js.map +1 -0
  54. package/lib/module/components/{BannerAd.js → deprecated/BannerAdView.js} +50 -79
  55. package/lib/module/components/deprecated/BannerAdView.js.map +1 -0
  56. package/lib/module/components/{ConsentModal.js → deprecated/ConsentModal.js} +2 -2
  57. package/lib/module/components/deprecated/ConsentModal.js.map +1 -0
  58. package/lib/module/constants.js +14 -0
  59. package/lib/module/constants.js.map +1 -0
  60. package/lib/module/index.js +3 -2
  61. package/lib/module/index.js.map +1 -1
  62. package/lib/module/{components → providers}/AdgeistProvider.js +10 -35
  63. package/lib/module/providers/AdgeistProvider.js.map +1 -0
  64. package/lib/module/specs/HTML5AdNativeComponent.ts +46 -0
  65. package/lib/module/specs/NativeAdgeist.js.map +1 -0
  66. package/lib/module/types/AdSize.js +2 -0
  67. package/lib/module/types/AdSize.js.map +1 -0
  68. package/lib/module/types/CPMAdResponse.js +2 -0
  69. package/lib/module/types/CPMAdResponse.js.map +1 -0
  70. package/lib/module/types/FixedAdResponse.js +2 -0
  71. package/lib/module/types/FixedAdResponse.js.map +1 -0
  72. package/lib/module/types/HTML5AdNativeComponentProps.js +4 -0
  73. package/lib/module/types/HTML5AdNativeComponentProps.js.map +1 -0
  74. package/lib/module/types/Provider.js +2 -0
  75. package/lib/module/types/Provider.js.map +1 -0
  76. package/lib/typescript/src/cdpclient/index.d.ts +1 -21
  77. package/lib/typescript/src/cdpclient/index.d.ts.map +1 -1
  78. package/lib/typescript/src/components/HTML5AdView.d.ts +3 -0
  79. package/lib/typescript/src/components/HTML5AdView.d.ts.map +1 -0
  80. package/lib/typescript/src/components/deprecated/BannerAdView.d.ts +17 -0
  81. package/lib/typescript/src/components/deprecated/BannerAdView.d.ts.map +1 -0
  82. package/lib/typescript/src/components/deprecated/ConsentModal.d.ts.map +1 -0
  83. package/lib/typescript/src/constants.d.ts +10 -0
  84. package/lib/typescript/src/constants.d.ts.map +1 -0
  85. package/lib/typescript/src/index.d.ts +3 -2
  86. package/lib/typescript/src/index.d.ts.map +1 -1
  87. package/lib/typescript/src/providers/AdgeistProvider.d.ts +9 -0
  88. package/lib/typescript/src/providers/AdgeistProvider.d.ts.map +1 -0
  89. package/lib/typescript/src/specs/HTML5AdNativeComponent.d.ts +29 -0
  90. package/lib/typescript/src/specs/HTML5AdNativeComponent.d.ts.map +1 -0
  91. package/lib/typescript/src/specs/NativeAdgeist.d.ts +28 -0
  92. package/lib/typescript/src/specs/NativeAdgeist.d.ts.map +1 -0
  93. package/lib/typescript/src/types/AdSize.d.ts +5 -0
  94. package/lib/typescript/src/types/AdSize.d.ts.map +1 -0
  95. package/lib/typescript/src/types/CPMAdResponse.d.ts +25 -0
  96. package/lib/typescript/src/types/CPMAdResponse.d.ts.map +1 -0
  97. package/lib/typescript/src/types/FixedAdResponse.d.ts +50 -0
  98. package/lib/typescript/src/types/FixedAdResponse.d.ts.map +1 -0
  99. package/lib/typescript/src/types/HTML5AdNativeComponentProps.d.ts +24 -0
  100. package/lib/typescript/src/types/HTML5AdNativeComponentProps.d.ts.map +1 -0
  101. package/lib/typescript/src/types/Provider.d.ts +16 -0
  102. package/lib/typescript/src/types/Provider.d.ts.map +1 -0
  103. package/package.json +8 -3
  104. package/react-native.config.js +1 -1
  105. package/src/cdpclient/index.ts +1 -21
  106. package/src/components/HTML5AdView.tsx +161 -0
  107. package/src/components/{BannerAd.tsx → deprecated/BannerAdView.tsx} +80 -115
  108. package/src/components/{ConsentModal.tsx → deprecated/ConsentModal.tsx} +2 -2
  109. package/src/constants.ts +8 -0
  110. package/src/index.tsx +4 -2
  111. package/src/{components → providers}/AdgeistProvider.tsx +26 -60
  112. package/src/specs/HTML5AdNativeComponent.ts +46 -0
  113. package/src/{NativeAdgeist.ts → specs/NativeAdgeist.ts} +26 -25
  114. package/src/types/AdSize.ts +4 -0
  115. package/src/types/CPMAdResponse.ts +26 -0
  116. package/src/types/FixedAdResponse.ts +51 -0
  117. package/src/types/HTML5AdNativeComponentProps.ts +28 -0
  118. package/src/types/Provider.ts +16 -0
  119. package/android/src/main/AndroidManifestNew.xml +0 -2
  120. package/android/src/main/java/com/adgeist/implementation/AdgeistModuleImpl.kt +0 -252
  121. package/android/src/newarch/java/com/AdgeistModule.kt +0 -135
  122. package/android/src/oldarch/java/com/AdgeistModule.kt +0 -148
  123. package/ios/adgeist-Bridging-Header.h +0 -1
  124. package/lib/module/NativeAdgeist.js.map +0 -1
  125. package/lib/module/components/AdgeistProvider.js.map +0 -1
  126. package/lib/module/components/BannerAd.js.map +0 -1
  127. package/lib/module/components/ConsentModal.js.map +0 -1
  128. package/lib/typescript/src/NativeAdgeist.d.ts +0 -28
  129. package/lib/typescript/src/NativeAdgeist.d.ts.map +0 -1
  130. package/lib/typescript/src/components/AdgeistProvider.d.ts +0 -50
  131. package/lib/typescript/src/components/AdgeistProvider.d.ts.map +0 -1
  132. package/lib/typescript/src/components/BannerAd.d.ts +0 -64
  133. package/lib/typescript/src/components/BannerAd.d.ts.map +0 -1
  134. package/lib/typescript/src/components/ConsentModal.d.ts.map +0 -1
  135. /package/lib/module/{NativeAdgeist.js → specs/NativeAdgeist.js} +0 -0
  136. /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
+ }
@@ -0,0 +1,3 @@
1
+ #import "React/RCTBridgeModule.h"
2
+ #import "React/RCTEventEmitter.h"
3
+ #import "React-RCTAppDelegate/RCTDefaultReactNativeFactoryDelegate.h"
package/ios/Adgeist.h CHANGED
@@ -1,5 +1,5 @@
1
1
  #ifdef RCT_NEW_ARCH_ENABLED
2
- #import "RNAdgeistSpec/RNAdgeistSpec.h"
2
+ #import "generated/RNAdgeistSpec/RNAdgeistSpec.h"
3
3
 
4
4
  NS_ASSUME_NONNULL_BEGIN
5
5
 
package/ios/Adgeist.mm CHANGED
@@ -20,31 +20,37 @@ RCT_EXPORT_MODULE(Adgeist)
20
20
  return self;
21
21
  }
22
22
 
23
- RCT_EXPORT_METHOD(initializeSdk:(NSString *)customDomain
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 initializeSdkWithCustomDomain:customDomain
28
- resolver:resolve
29
- rejecter:reject];
29
+ [adgeist initializeSdkWithCustomBidRequestBackendDomain:customBidRequestBackendDomain
30
+ customPackageOrBundleID:customPackageOrBundleID
31
+ customAdgeistAppID:customAdgeistAppID
32
+ resolver:resolve
33
+ rejecter:reject];
30
34
  }
31
35
 
32
- // Exported methods for JS
33
- RCT_EXPORT_METHOD(fetchCreative:(NSString *)apiKey
34
- origin:(NSString *)origin
35
- adSpaceId:(NSString *)adSpaceId
36
- publisherId:(NSString *)publisherId
36
+ RCT_EXPORT_METHOD(destroySdk:(RCTPromiseResolveBlock)resolve
37
+ reject:(RCTPromiseRejectBlock)reject) {
38
+ [adgeist destroySdkWithResolver:resolve
39
+ rejecter:reject];
40
+ }
41
+
42
+
43
+ RCT_EXPORT_METHOD(fetchCreative:(NSString *)adSpaceId
44
+ buyType:(NSString *)buyType
37
45
  isTestEnvironment:(BOOL)isTestEnvironment
38
46
  resolve:(RCTPromiseResolveBlock)resolve
39
47
  reject:(RCTPromiseRejectBlock)reject)
40
48
  {
41
- [adgeist fetchCreativeWithApiKey:apiKey
42
- origin:origin
43
- adSpaceId:adSpaceId
44
- publisherId:publisherId
45
- isTestEnvironment:isTestEnvironment
46
- resolver:resolve
47
- rejecter:reject];
49
+ [adgeist fetchCreativeWithAdSpaceId:adSpaceId
50
+ buyType:buyType
51
+ isTestEnvironment:isTestEnvironment
52
+ resolver:resolve
53
+ rejecter:reject];
48
54
  }
49
55
 
50
56
 
@@ -55,7 +61,7 @@ RCT_EXPORT_METHOD(setUserDetails:(NSObject *)userDetails) {
55
61
  RCT_EXPORT_METHOD(getConsentStatus:(RCTPromiseResolveBlock)resolve
56
62
  reject:(RCTPromiseRejectBlock)reject) {
57
63
  [adgeist getConsentStatusWithResolver:resolve
58
- rejecter:reject];
64
+ rejecter:reject];
59
65
  }
60
66
 
61
67
  RCT_EXPORT_METHOD(updateConsentStatus:(BOOL)consent) {
@@ -68,9 +74,9 @@ RCT_EXPORT_METHOD(logEvent:(NSDictionary *)eventDict) {
68
74
 
69
75
  RCT_EXPORT_METHOD(trackImpression:(NSString *)campaignId
70
76
  adSpaceId:(NSString *)adSpaceId
71
- publisherId:(NSString *)publisherId
72
- apiKey:(NSString *)apiKey
73
77
  bidId:(NSString *)bidId
78
+ bidMeta:(NSString *)bidMeta
79
+ buyType:(NSString *)buyType
74
80
  isTestEnvironment:(BOOL)isTestEnvironment
75
81
  renderTime:(double)renderTime
76
82
  resolve:(RCTPromiseResolveBlock)resolve
@@ -78,20 +84,20 @@ RCT_EXPORT_METHOD(trackImpression:(NSString *)campaignId
78
84
  {
79
85
  [adgeist trackImpressionWithCampaignId:campaignId
80
86
  adSpaceId:adSpaceId
81
- publisherId:publisherId
82
- apiKey:apiKey
83
87
  bidId:bidId
88
+ bidMeta:bidMeta
89
+ buyType:buyType
84
90
  isTestEnvironment:isTestEnvironment
85
- renderTime:renderTime
91
+ renderTime:(float)renderTime
86
92
  resolver:resolve
87
93
  rejecter:reject];
88
94
  }
89
95
 
90
96
  RCT_EXPORT_METHOD(trackView:(NSString *)campaignId
91
97
  adSpaceId:(NSString *)adSpaceId
92
- publisherId:(NSString *)publisherId
93
- apiKey:(NSString *)apiKey
94
98
  bidId:(NSString *)bidId
99
+ bidMeta:(NSString *)bidMeta
100
+ buyType:(NSString *)buyType
95
101
  isTestEnvironment:(BOOL)isTestEnvironment
96
102
  viewTime:(double)viewTime
97
103
  visibilityRatio:(double)visibilityRatio
@@ -102,23 +108,23 @@ RCT_EXPORT_METHOD(trackView:(NSString *)campaignId
102
108
  {
103
109
  [adgeist trackViewWithCampaignId:campaignId
104
110
  adSpaceId:adSpaceId
105
- publisherId:publisherId
106
- apiKey:apiKey
107
111
  bidId:bidId
112
+ bidMeta:bidMeta
113
+ buyType:buyType
108
114
  isTestEnvironment:isTestEnvironment
109
- viewTime:viewTime
110
- visibilityRatio:visibilityRatio
111
- scrollDepth:scrollDepth
112
- timeToVisible:timeToVisible
115
+ viewTime:(float)viewTime
116
+ visibilityRatio:(float)visibilityRatio
117
+ scrollDepth:(float)scrollDepth
118
+ timeToVisible:(float)timeToVisible
113
119
  resolver:resolve
114
120
  rejecter:reject];
115
121
  }
116
122
 
117
123
  RCT_EXPORT_METHOD(trackTotalView:(NSString *)campaignId
118
124
  adSpaceId:(NSString *)adSpaceId
119
- publisherId:(NSString *)publisherId
120
- apiKey:(NSString *)apiKey
121
125
  bidId:(NSString *)bidId
126
+ bidMeta:(NSString *)bidMeta
127
+ buyType:(NSString *)buyType
122
128
  isTestEnvironment:(BOOL)isTestEnvironment
123
129
  totalViewTime:(double)totalViewTime
124
130
  visibilityRatio:(double)visibilityRatio
@@ -127,30 +133,30 @@ RCT_EXPORT_METHOD(trackTotalView:(NSString *)campaignId
127
133
  {
128
134
  [adgeist trackTotalViewWithCampaignId:campaignId
129
135
  adSpaceId:adSpaceId
130
- publisherId:publisherId
131
- apiKey:apiKey
132
136
  bidId:bidId
137
+ bidMeta:bidMeta
138
+ buyType:buyType
133
139
  isTestEnvironment:isTestEnvironment
134
- totalViewTime:totalViewTime
135
- visibilityRatio:visibilityRatio
140
+ totalViewTime:(float)totalViewTime
141
+ visibilityRatio:(float)visibilityRatio
136
142
  resolver:resolve
137
143
  rejecter:reject];
138
144
  }
139
145
 
140
146
  RCT_EXPORT_METHOD(trackClick:(NSString *)campaignId
141
147
  adSpaceId:(NSString *)adSpaceId
142
- publisherId:(NSString *)publisherId
143
- apiKey:(NSString *)apiKey
144
148
  bidId:(NSString *)bidId
149
+ bidMeta:(NSString *)bidMeta
150
+ buyType:(NSString *)buyType
145
151
  isTestEnvironment:(BOOL)isTestEnvironment
146
152
  resolve:(RCTPromiseResolveBlock)resolve
147
153
  reject:(RCTPromiseRejectBlock)reject)
148
154
  {
149
155
  [adgeist trackClickWithCampaignId:campaignId
150
156
  adSpaceId:adSpaceId
151
- publisherId:publisherId
152
- apiKey:apiKey
153
157
  bidId:bidId
158
+ bidMeta:bidMeta
159
+ buyType:buyType
154
160
  isTestEnvironment:isTestEnvironment
155
161
  resolver:resolve
156
162
  rejecter:reject];
@@ -158,9 +164,9 @@ RCT_EXPORT_METHOD(trackClick:(NSString *)campaignId
158
164
 
159
165
  RCT_EXPORT_METHOD(trackVideoPlayback:(NSString *)campaignId
160
166
  adSpaceId:(NSString *)adSpaceId
161
- publisherId:(NSString *)publisherId
162
- apiKey:(NSString *)apiKey
163
167
  bidId:(NSString *)bidId
168
+ bidMeta:(NSString *)bidMeta
169
+ buyType:(NSString *)buyType
164
170
  isTestEnvironment:(BOOL)isTestEnvironment
165
171
  totalPlaybackTime:(double)totalPlaybackTime
166
172
  resolve:(RCTPromiseResolveBlock)resolve
@@ -168,35 +174,35 @@ RCT_EXPORT_METHOD(trackVideoPlayback:(NSString *)campaignId
168
174
  {
169
175
  [adgeist trackVideoPlaybackWithCampaignId:campaignId
170
176
  adSpaceId:adSpaceId
171
- publisherId:publisherId
172
- apiKey:apiKey
173
177
  bidId:bidId
178
+ bidMeta:bidMeta
179
+ buyType:buyType
174
180
  isTestEnvironment:isTestEnvironment
175
- totalPlaybackTime:totalPlaybackTime
181
+ totalPlaybackTime:(float)totalPlaybackTime
176
182
  resolver:resolve
177
183
  rejecter:reject];
178
184
  }
179
185
 
180
- RCT_EXPORT_METHOD(trackVideoQuartile:(NSString *)campaignId
181
- adSpaceId:(NSString *)adSpaceId
182
- publisherId:(NSString *)publisherId
183
- apiKey:(NSString *)apiKey
184
- bidId:(NSString *)bidId
185
- isTestEnvironment:(BOOL)isTestEnvironment
186
- quartile:(NSString *)quartile
187
- resolve:(RCTPromiseResolveBlock)resolve
188
- reject:(RCTPromiseRejectBlock)reject)
189
- {
190
- [adgeist trackVideoQuartileWithCampaignId:campaignId
191
- adSpaceId:adSpaceId
192
- publisherId:publisherId
193
- apiKey:apiKey
194
- bidId:bidId
195
- isTestEnvironment:isTestEnvironment
196
- quartile:quartile
197
- resolver:resolve
198
- rejecter:reject];
199
- }
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
+ // }
200
206
 
201
207
  // TurboModule support for the new architecture
202
208
  #ifdef RCT_NEW_ARCH_ENABLED