@thealteroffice/react-native-adgeist 0.0.10 → 0.0.12

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 (42) hide show
  1. package/Adgeist.podspec +1 -1
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/adgeist/implementation/AdgeistModuleImpl.kt +47 -1
  4. package/android/src/newarch/java/com/AdgeistModule.kt +18 -0
  5. package/android/src/oldarch/java/com/AdgeistModule.kt +20 -0
  6. package/ios/Adgeist.mm +13 -1
  7. package/ios/AdgeistImpl.swift +27 -0
  8. package/lib/module/NativeAdgeist.js.map +1 -1
  9. package/lib/module/cdpclient/index.js +16 -0
  10. package/lib/module/cdpclient/index.js.map +1 -0
  11. package/lib/module/components/AdgeistProvider.js +18 -7
  12. package/lib/module/components/AdgeistProvider.js.map +1 -1
  13. package/lib/module/components/BannerAd.js +3 -2
  14. package/lib/module/components/BannerAd.js.map +1 -1
  15. package/lib/module/components/ConsentModal.js +96 -0
  16. package/lib/module/components/ConsentModal.js.map +1 -0
  17. package/lib/module/index.js +1 -0
  18. package/lib/module/index.js.map +1 -1
  19. package/lib/typescript/src/NativeAdgeist.d.ts +14 -0
  20. package/lib/typescript/src/NativeAdgeist.d.ts.map +1 -1
  21. package/lib/typescript/src/cdpclient/index.d.ts +6 -0
  22. package/lib/typescript/src/cdpclient/index.d.ts.map +1 -0
  23. package/lib/typescript/src/components/AdgeistProvider.d.ts +1 -0
  24. package/lib/typescript/src/components/AdgeistProvider.d.ts.map +1 -1
  25. package/lib/typescript/src/components/BannerAd.d.ts.map +1 -1
  26. package/lib/typescript/src/components/ConsentModal.d.ts +6 -0
  27. package/lib/typescript/src/components/ConsentModal.d.ts.map +1 -0
  28. package/lib/typescript/src/index.d.ts +1 -0
  29. package/lib/typescript/src/index.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/src/NativeAdgeist.ts +21 -0
  32. package/src/cdpclient/index.ts +17 -0
  33. package/src/components/AdgeistProvider.tsx +27 -4
  34. package/src/components/BannerAd.tsx +2 -1
  35. package/src/components/ConsentModal.tsx +92 -0
  36. package/src/index.tsx +2 -0
  37. package/android/app/build/generated/source/codegen/java/com/facebook/fbreact/specs/NativeAdgeistSpec.java +0 -46
  38. package/android/app/build/generated/source/codegen/jni/CMakeLists.txt +0 -36
  39. package/android/app/build/generated/source/codegen/jni/RNAdgeistSpec-generated.cpp +0 -44
  40. package/android/app/build/generated/source/codegen/jni/RNAdgeistSpec.h +0 -31
  41. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNAdgeistSpec/RNAdgeistSpecJSI-generated.cpp +0 -52
  42. package/android/app/build/generated/source/codegen/jni/react/renderer/components/RNAdgeistSpec/RNAdgeistSpecJSI.h +0 -89
package/Adgeist.podspec CHANGED
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
16
16
  s.source_files = "ios/**/*.{h,m,mm,cpp,swift}"
17
17
  s.private_header_files = "ios/**/*.h"
18
18
 
19
- s.dependency "AdgeistKit", '= 0.0.4'
19
+ s.dependency "AdgeistKit", '= 0.0.6'
20
20
 
21
21
  # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
22
22
  # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
@@ -101,7 +101,7 @@ def kotlin_version = getExtOrDefault("kotlinVersion")
101
101
 
102
102
  dependencies {
103
103
  implementation "com.facebook.react:react-android"
104
- implementation "ai.adgeist:adgeistkit:0.0.7"
104
+ implementation "ai.adgeist:adgeistkit:1.0.1"
105
105
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
106
106
  }
107
107
 
@@ -12,7 +12,9 @@ import com.adgeistkit.BidResponseData
12
12
  import com.adgeistkit.SeatBid
13
13
  import com.adgeistkit.Bid
14
14
  import com.adgeistkit.BidExtension
15
-
15
+ import com.adgeistkit.UserDetails
16
+ import com.adgeistkit.Event
17
+ import com.facebook.react.bridge.ReadableMap
16
18
 
17
19
  class AdgeistModuleImpl internal constructor(private val context: ReactApplicationContext) {
18
20
 
@@ -51,11 +53,55 @@ class AdgeistModuleImpl internal constructor(private val context: ReactApplicati
51
53
  } ?: promise.reject("NOT_INITIALIZED", "SDK not initialized")
52
54
  }
53
55
 
56
+ fun setUserDetails(userDetailsMap: ReadableMap) {
57
+ val userDetails = UserDetails(
58
+ userId = userDetailsMap.getStringSafe("userId"),
59
+ userName = userDetailsMap.getStringSafe("userName"),
60
+ email = userDetailsMap.getStringSafe("email"),
61
+ phone = userDetailsMap.getStringSafe("phone")
62
+ )
63
+ adgeistInstance?.setUserDetails(userDetails)
64
+ }
65
+
66
+ fun logEvent(eventMap: ReadableMap) {
67
+ val eventType = eventMap.getStringSafe("eventType")
68
+
69
+ if (eventType.isNullOrEmpty()) {
70
+ throw IllegalArgumentException("Event must have a non-empty eventType")
71
+ }
72
+
73
+ val props = if (eventMap.hasKey("eventProperties")) eventMap.getMap("eventProperties") else null
74
+ val eventProps = props?.toHashMap() ?: emptyMap<String, Any>()
75
+
76
+ val event = Event(
77
+ eventType = eventType,
78
+ eventProperties = eventProps
79
+ )
80
+ adgeistInstance?.logEvent(event)
81
+ }
82
+
83
+ fun getConsentStatus(promise: Promise) {
84
+ try {
85
+ val consent = adgeistInstance?.getConsentStatus() ?: false
86
+ promise.resolve(consent)
87
+ } catch (e: Exception) {
88
+ promise.reject("CONSENT_ERROR", "Failed to get consent status", e)
89
+ }
90
+ }
91
+
92
+ fun updateConsentStatus(consent: Boolean) {
93
+ adgeistInstance?.updateConsentStatus(consent)
94
+ }
95
+
54
96
  companion object {
55
97
  const val NAME = "Adgeist"
56
98
  }
57
99
  }
58
100
 
101
+ fun ReadableMap.getStringSafe(key: String): String? =
102
+ if (this.hasKey(key) && !this.isNull(key)) this.getString(key) else null
103
+
104
+
59
105
  // Extension function to convert CreativeDataModel to WritableMap
60
106
  fun CreativeDataModel.toWritableMap(): WritableMap {
61
107
  val map = Arguments.createMap()
@@ -3,6 +3,9 @@ package com.adgeist
3
3
  import com.facebook.react.bridge.Promise
4
4
  import com.facebook.react.bridge.ReactApplicationContext
5
5
  import com.adgeist.implementation.AdgeistModuleImpl
6
+ import com.adgeistkit.UserDetails
7
+ import com.adgeistkit.Event
8
+ import com.facebook.react.bridge.ReadableMap
6
9
 
7
10
  class AdgeistModule internal constructor(reactContext: ReactApplicationContext) :
8
11
  NativeAdgeistSpec(reactContext) {
@@ -23,4 +26,19 @@ class AdgeistModule internal constructor(reactContext: ReactApplicationContext)
23
26
  implementation.sendCreativeAnalytic(campaignId, adSpaceId, publisherId, eventType, origin, apiKey, bidId, isTestEnvironment, promise)
24
27
  }
25
28
 
29
+ override fun setUserDetails(userDetails: ReadableMap) {
30
+ implementation.setUserDetails(userDetails)
31
+ }
32
+
33
+ override fun logEvent(event: ReadableMap) {
34
+ implementation.logEvent(event)
35
+ }
36
+
37
+ override fun getConsentStatus(promise: Promise) {
38
+ implementation.getConsentStatus(promise)
39
+ }
40
+
41
+ override fun updateConsentStatus(consent: Boolean) {
42
+ implementation.updateConsentStatus(consent)
43
+ }
26
44
  }
@@ -5,6 +5,7 @@ import com.facebook.react.bridge.ReactApplicationContext
5
5
  import com.facebook.react.bridge.ReactContextBaseJavaModule
6
6
  import com.facebook.react.bridge.ReactMethod
7
7
  import com.adgeist.implementation.AdgeistModuleImpl
8
+ import com.facebook.react.bridge.ReadableMap
8
9
 
9
10
  class AdgeistModule internal constructor(reactContext: ReactApplicationContext) :
10
11
  ReactContextBaseJavaModule(reactContext) {
@@ -28,4 +29,23 @@ class AdgeistModule internal constructor(reactContext: ReactApplicationContext)
28
29
  implementation.sendCreativeAnalytic(campaignId, adSpaceId, publisherId, eventType, origin, apiKey, bidId, isTestEnvironment, promise)
29
30
  }
30
31
 
32
+ @ReactMethod
33
+ fun setUserDetails(userDetails: ReadableMap) {
34
+ implementation.setUserDetails(userDetails)
35
+ }
36
+
37
+ @ReactMethod
38
+ fun logEvent(event: ReadableMap) {
39
+ implementation.logEvent(event)
40
+ }
41
+
42
+ @ReactMethod
43
+ fun getConsentStatus(promise: Promise) {
44
+ implementation.getConsentStatus(promise)
45
+ }
46
+
47
+ @ReactMethod
48
+ fun updateConsentStatus(consent: Boolean) {
49
+ implementation.updateConsentStatus(consent)
50
+ }
31
51
  }
package/ios/Adgeist.mm CHANGED
@@ -70,6 +70,18 @@ RCT_EXPORT_METHOD(sendCreativeAnalytic:(NSString *)campaignId
70
70
  rejecter:reject];
71
71
  }
72
72
 
73
+ RCT_EXPORT_METHOD(setUserDetails:(NSObject *)userDetails) {
74
+ [adgeist setUserDetails:userDetails];
75
+ }
76
+
77
+ RCT_EXPORT_METHOD(updateConsentStatus:(BOOL)consent) {
78
+ [adgeist updateConsentStatus:consent];
79
+ }
80
+
81
+ RCT_EXPORT_METHOD(logEvent:(NSObject *)eventDict) {
82
+ [adgeist logEvent:eventDict];
83
+ }
84
+
73
85
  // TurboModule support for the new architecture
74
86
  #ifdef RCT_NEW_ARCH_ENABLED
75
87
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
@@ -79,4 +91,4 @@ RCT_EXPORT_METHOD(sendCreativeAnalytic:(NSString *)campaignId
79
91
  }
80
92
  #endif
81
93
 
82
- @end
94
+ @end
@@ -96,6 +96,33 @@ import React
96
96
  }
97
97
  }
98
98
 
99
+ @objc public func setUserDetails(_ userDetailsDict: [String: Any]) {
100
+ let userDetails = UserDetails(
101
+ userId: userDetailsDict["userId"] as? String,
102
+ userName: userDetailsDict["userName"] as? String,
103
+ email: userDetailsDict["email"] as? String,
104
+ phone: userDetailsDict["phone"] as? String
105
+ )
106
+ adgeistInstance?.setUserDetails(userDetails)
107
+ }
108
+
109
+ @objc public func updateConsentStatus(_ consent: Bool) {
110
+ adgeistInstance?.updateConsentStatus(consent)
111
+ }
112
+
113
+
114
+ @objc public func logEvent(_ eventDict: NSDictionary) {
115
+ print("Event must have a non-empty eventType")
116
+ guard let eventType = eventDict["eventType"] as? String, !eventType.isEmpty else {
117
+ print("Event must have a non-empty eventType")
118
+ return
119
+ }
120
+
121
+ let eventProps = eventDict["eventProperties"] as? [String: Any] ?? [:]
122
+ let event = Event(eventType: eventType, eventProperties: eventProps)
123
+ adgeistInstance?.logEvent(event)
124
+ }
125
+
99
126
  @objc public static func requiresMainQueueSetup() -> Bool {
100
127
  return true
101
128
  }
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeAdgeist.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAuBlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeAdgeist.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AA4ClD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,SAAS,CAAC","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ import Adgeist from "../NativeAdgeist.js";
4
+ export const setUserDetails = userDetails => {
5
+ Adgeist.setUserDetails(userDetails);
6
+ };
7
+ export const logEvent = event => {
8
+ Adgeist.logEvent(event);
9
+ };
10
+ export const getConsentStatus = async () => {
11
+ return (await Adgeist.getConsentStatus()) === true ? 'ACCEPTED' : 'DENIED';
12
+ };
13
+ export const updateConsentStatus = consent => {
14
+ Adgeist.updateConsentStatus(consent);
15
+ };
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Adgeist","setUserDetails","userDetails","logEvent","event","getConsentStatus","updateConsentStatus","consent"],"sourceRoot":"../../../src","sources":["cdpclient/index.ts"],"mappings":";;AAAA,OAAOA,OAAO,MAAwC,qBAAkB;AAExE,OAAO,MAAMC,cAAc,GAAIC,WAAwB,IAAK;EAC1DF,OAAO,CAACC,cAAc,CAACC,WAAW,CAAC;AACrC,CAAC;AAED,OAAO,MAAMC,QAAQ,GAAIC,KAAY,IAAK;EACxCJ,OAAO,CAACG,QAAQ,CAACC,KAAK,CAAC;AACzB,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAG,MAAAA,CAAA,KAAY;EAC1C,OAAO,CAAC,MAAML,OAAO,CAACK,gBAAgB,CAAC,CAAC,MAAM,IAAI,GAAG,UAAU,GAAG,QAAQ;AAC5E,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAIC,OAAgB,IAAK;EACvDP,OAAO,CAACM,mBAAmB,CAACC,OAAO,CAAC;AACtC,CAAC","ignoreList":[]}
@@ -2,13 +2,15 @@
2
2
 
3
3
  import React, { createContext, useContext, useEffect, useState } from 'react';
4
4
  import Adgeist from "../NativeAdgeist.js";
5
- import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { ConsentModal } from "./ConsentModal.js";
6
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
7
  const AdgeistContext = /*#__PURE__*/createContext({
7
8
  publisherId: '',
8
9
  apiKey: '',
9
10
  domain: '',
10
11
  isTestEnvironment: true,
11
- isInitialized: false
12
+ isInitialized: false,
13
+ setAdgeistConsentModal: () => {}
12
14
  });
13
15
  export const AdgeistProvider = ({
14
16
  children,
@@ -19,27 +21,36 @@ export const AdgeistProvider = ({
19
21
  isTestEnvironment = true
20
22
  }) => {
21
23
  const [isInitialized, setIsInitialized] = useState(false);
24
+ const [adgeistConsentModal, setAdgeistConsentModal] = useState(false);
25
+ const [isKotlinInitializationFailed, setIsKotlinInitializationFailed] = useState(false);
22
26
  useEffect(() => {
23
27
  const initializeAdgeist = async () => {
28
+ setIsKotlinInitializationFailed(false);
29
+ setIsInitialized(false);
24
30
  try {
25
31
  await Adgeist.initializeSdk(customAdgeistApiOrigin);
26
32
  setIsInitialized(true);
27
- } catch (error) {
28
- console.error('Error initializing Adgeist SDK:', error);
33
+ } catch {
34
+ setIsKotlinInitializationFailed(true);
29
35
  setIsInitialized(false);
30
36
  }
31
37
  };
32
38
  initializeAdgeist();
33
39
  }, [customAdgeistApiOrigin]);
34
- return /*#__PURE__*/_jsx(AdgeistContext.Provider, {
40
+ return /*#__PURE__*/_jsxs(AdgeistContext.Provider, {
35
41
  value: {
36
42
  publisherId,
37
43
  apiKey,
38
44
  domain,
39
45
  isTestEnvironment,
40
- isInitialized
46
+ isInitialized,
47
+ setAdgeistConsentModal
41
48
  },
42
- children: children
49
+ children: [isKotlinInitializationFailed && /*#__PURE__*/_jsx(_Fragment, {
50
+ children: children
51
+ }), isInitialized && /*#__PURE__*/_jsxs(_Fragment, {
52
+ children: [adgeistConsentModal && /*#__PURE__*/_jsx(ConsentModal, {}), children]
53
+ })]
43
54
  });
44
55
  };
45
56
  export const useAdgeistContext = () => useContext(AdgeistContext);
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","useEffect","useState","Adgeist","jsx","_jsx","AdgeistContext","publisherId","apiKey","domain","isTestEnvironment","isInitialized","AdgeistProvider","children","customAdgeistApiOrigin","setIsInitialized","initializeAdgeist","initializeSdk","error","console","Provider","value","useAdgeistContext"],"sourceRoot":"../../../src","sources":["components/AdgeistProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC7E,OAAOC,OAAO,MAAM,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAmBvC,MAAMC,cAAc,gBAAGP,aAAa,CAAqB;EACvDQ,WAAW,EAAE,EAAE;EACfC,MAAM,EAAE,EAAE;EACVC,MAAM,EAAE,EAAE;EACVC,iBAAiB,EAAE,IAAI;EACvBC,aAAa,EAAE;AACjB,CAAC,CAAC;AAEF,OAAO,MAAMC,eAAmD,GAAGA,CAAC;EAClEC,QAAQ;EACRN,WAAW,GAAG,EAAE;EAChBC,MAAM,GAAG,EAAE;EACXC,MAAM,GAAG,EAAE;EACXK,sBAAsB,GAAG,+BAA+B;EACxDJ,iBAAiB,GAAG;AACtB,CAAC,KAAK;EACJ,MAAM,CAACC,aAAa,EAAEI,gBAAgB,CAAC,GAAGb,QAAQ,CAAC,KAAK,CAAC;EAEzDD,SAAS,CAAC,MAAM;IACd,MAAMe,iBAAiB,GAAG,MAAAA,CAAA,KAAY;MACpC,IAAI;QACF,MAAMb,OAAO,CAACc,aAAa,CAACH,sBAAsB,CAAC;QACnDC,gBAAgB,CAAC,IAAI,CAAC;MACxB,CAAC,CAAC,OAAOG,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;QACvDH,gBAAgB,CAAC,KAAK,CAAC;MACzB;IACF,CAAC;IAEDC,iBAAiB,CAAC,CAAC;EACrB,CAAC,EAAE,CAACF,sBAAsB,CAAC,CAAC;EAE5B,oBACET,IAAA,CAACC,cAAc,CAACc,QAAQ;IACtBC,KAAK,EAAE;MAAEd,WAAW;MAAEC,MAAM;MAAEC,MAAM;MAAEC,iBAAiB;MAAEC;IAAc,CAAE;IAAAE,QAAA,EAExEA;EAAQ,CACc,CAAC;AAE9B,CAAC;AAED,OAAO,MAAMS,iBAAiB,GAAGA,CAAA,KAAMtB,UAAU,CAACM,cAAc,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","useEffect","useState","Adgeist","ConsentModal","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","AdgeistContext","publisherId","apiKey","domain","isTestEnvironment","isInitialized","setAdgeistConsentModal","AdgeistProvider","children","customAdgeistApiOrigin","setIsInitialized","adgeistConsentModal","isKotlinInitializationFailed","setIsKotlinInitializationFailed","initializeAdgeist","initializeSdk","Provider","value","useAdgeistContext"],"sourceRoot":"../../../src","sources":["components/AdgeistProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC7E,OAAOC,OAAO,MAAM,qBAAkB;AACtC,SAASC,YAAY,QAAQ,mBAAgB;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAoB9C,MAAMC,cAAc,gBAAGZ,aAAa,CAAqB;EACvDa,WAAW,EAAE,EAAE;EACfC,MAAM,EAAE,EAAE;EACVC,MAAM,EAAE,EAAE;EACVC,iBAAiB,EAAE,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,sBAAsB,EAAEA,CAAA,KAAM,CAAC;AACjC,CAAC,CAAC;AAEF,OAAO,MAAMC,eAAmD,GAAGA,CAAC;EAClEC,QAAQ;EACRP,WAAW,GAAG,EAAE;EAChBC,MAAM,GAAG,EAAE;EACXC,MAAM,GAAG,EAAE;EACXM,sBAAsB,GAAG,+BAA+B;EACxDL,iBAAiB,GAAG;AACtB,CAAC,KAAK;EACJ,MAAM,CAACC,aAAa,EAAEK,gBAAgB,CAAC,GAAGnB,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAACoB,mBAAmB,EAAEL,sBAAsB,CAAC,GAAGf,QAAQ,CAAC,KAAK,CAAC;EACrE,MAAM,CAACqB,4BAA4B,EAAEC,+BAA+B,CAAC,GACnEtB,QAAQ,CAAC,KAAK,CAAC;EAEjBD,SAAS,CAAC,MAAM;IACd,MAAMwB,iBAAiB,GAAG,MAAAA,CAAA,KAAY;MACpCD,+BAA+B,CAAC,KAAK,CAAC;MACtCH,gBAAgB,CAAC,KAAK,CAAC;MAEvB,IAAI;QACF,MAAMlB,OAAO,CAACuB,aAAa,CAACN,sBAAsB,CAAC;QACnDC,gBAAgB,CAAC,IAAI,CAAC;MACxB,CAAC,CAAC,MAAM;QACNG,+BAA+B,CAAC,IAAI,CAAC;QACrCH,gBAAgB,CAAC,KAAK,CAAC;MACzB;IACF,CAAC;IAEDI,iBAAiB,CAAC,CAAC;EACrB,CAAC,EAAE,CAACL,sBAAsB,CAAC,CAAC;EAE5B,oBACEV,KAAA,CAACC,cAAc,CAACgB,QAAQ;IACtBC,KAAK,EAAE;MACLhB,WAAW;MACXC,MAAM;MACNC,MAAM;MACNC,iBAAiB;MACjBC,aAAa;MACbC;IACF,CAAE;IAAAE,QAAA,GAEDI,4BAA4B,iBAAIf,IAAA,CAAAF,SAAA;MAAAa,QAAA,EAAGA;IAAQ,CAAG,CAAC,EAE/CH,aAAa,iBACZN,KAAA,CAAAJ,SAAA;MAAAa,QAAA,GACGG,mBAAmB,iBAAId,IAAA,CAACJ,YAAY,IAAE,CAAC,EACvCe,QAAQ;IAAA,CACT,CACH;EAAA,CACsB,CAAC;AAE9B,CAAC;AAED,OAAO,MAAMU,iBAAiB,GAAGA,CAAA,KAAM7B,UAAU,CAACW,cAAc,CAAC","ignoreList":[]}
@@ -59,7 +59,7 @@ export const BannerAd = ({
59
59
  accessibilityLabel: "Ad Banner",
60
60
  children: /*#__PURE__*/_jsxs(View, {
61
61
  style: styles.adContainer,
62
- children: [dataSlotType == 'banner' ? /*#__PURE__*/_jsx(Image, {
62
+ children: [dataSlotType === 'banner' ? /*#__PURE__*/_jsx(Image, {
63
63
  style: [styles.creative, {
64
64
  width: '100%',
65
65
  height: 300
@@ -75,7 +75,8 @@ export const BannerAd = ({
75
75
  style: {
76
76
  width: '100%',
77
77
  height: 300
78
- }
78
+ },
79
+ repeat: true
79
80
  }), /*#__PURE__*/_jsxs(View, {
80
81
  style: styles.adContent,
81
82
  children: [/*#__PURE__*/_jsxs(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","Dimensions","Image","Linking","StyleSheet","Text","View","TouchableWithoutFeedback","ActivityIndicator","Adgeist","useAdgeistContext","Video","jsx","_jsx","jsxs","_jsxs","BannerAd","dataAdSlot","dataSlotType","adData","setAdData","isLoading","setIsLoading","isInitialized","publisherId","apiKey","domain","isTestEnvironment","creativeData","seatBid","bid","ext","response","fetchCreative","creative","data","length","sendCreativeAnalytic","id","error","console","handleClick","openURL","ctaUrl","catch","err","style","styles","loadingOverlayContainer","children","size","color","creativeUrl","accessible","accessibilityLabel","adContainer","width","height","source","uri","resizeMode","adContent","contentContainer","title","numberOfLines","ellipsizeMode","creativeTitle","description","creativeDescription","brandName","creativeBrandName","onPress","linkButton","create","get","backgroundColor","borderRadius","alignItems","justifyContent","borderTopLeftRadius","borderTopRightRadius","flexDirection","paddingVertical","paddingHorizontal","borderBottomLeftRadius","borderBottomRightRadius","fontSize","fontWeight","opacity","marginTop"],"sourceRoot":"../../../src","sources":["components/BannerAd.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SACEC,UAAU,EACVC,KAAK,EACLC,OAAO,EACPC,UAAU,EACVC,IAAI,EACJC,IAAI,EACJC,wBAAwB,EACxBC,iBAAiB,QACZ,cAAc;AACrB,OAAOC,OAAO,MAAM,qBAAkB;AACtC,SAASC,iBAAiB,QAAQ,sBAAmB;AACrD,OAAOC,KAAK,MAAM,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAmCvC,OAAO,MAAMC,QAAiC,GAAGA,CAAC;EAChDC,UAAU;EACVC,YAAY,GAAG;AACjB,CAAC,KAAK;EACJ,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGpB,QAAQ,CAAgB,IAAI,CAAC;EACzD,MAAM,CAACqB,SAAS,EAAEC,YAAY,CAAC,GAAGtB,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM;IAAEuB,aAAa;IAAEC,WAAW;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAkB,CAAC,GACrEjB,iBAAiB,CAAC,CAAC;EAErB,MAAMkB,YAAY,GAAGT,MAAM,EAAEU,OAAO,GAAG,CAAC,CAAC,EAAEC,GAAG,GAAG,CAAC,CAAC,EAAEC,GAAmB;EAExEhC,SAAS,CAAC,MAAM;IACd,CAAC,YAAY;MACX,IAAI;QACF,IAAIwB,aAAa,EAAE;UACjBD,YAAY,CAAC,IAAI,CAAC;UAClB,MAAMU,QAAgB,GAAG,MAAMvB,OAAO,CAACwB,aAAa,CAClDR,MAAM,EACNC,MAAM,EACNT,UAAU,EACVO,WAAW,EACXG,iBACF,CAAC;UAED,MAAMO,QAA0B,GAAGF,QAA4B;UAC/DZ,SAAS,CAACc,QAAQ,CAACC,IAAI,CAAC;UACxBb,YAAY,CAAC,KAAK,CAAC;UAEnB,IAAIY,QAAQ,CAACC,IAAI,CAACN,OAAO,CAACO,MAAM,GAAG,CAAC,EAAE;YACpC,MAAM3B,OAAO,CAAC4B,oBAAoB,CAChCH,QAAQ,CAACC,IAAI,CAACN,OAAO,GAAG,CAAC,CAAC,EAAEC,GAAG,GAAG,CAAC,CAAC,EAAEQ,EAAE,IAAI,EAAE,EAC9CrB,UAAU,EACVO,WAAW,EACX,YAAY,EACZE,MAAM,EACND,MAAM,EACNS,QAAQ,CAACC,IAAI,CAACG,EAAE,EAChBX,iBACF,CAAC;UACH;QACF;MACF,CAAC,CAAC,OAAOY,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;MACzC;IACF,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,CACDhB,aAAa,EACbC,WAAW,EACXP,UAAU,EACVQ,MAAM,EACNC,MAAM,EACNC,iBAAiB,CAClB,CAAC;EAEF,MAAMc,WAAW,GAAG,MAAAA,CAAA,KAAY;IAC9B,IAAItB,MAAM,IAAIA,MAAM,EAAEU,OAAO,CAACO,MAAM,GAAG,CAAC,EAAE;MACxC,MAAM3B,OAAO,CAAC4B,oBAAoB,CAChClB,MAAM,EAAEU,OAAO,GAAG,CAAC,CAAC,EAAEC,GAAG,GAAG,CAAC,CAAC,EAAEQ,EAAE,IAAI,EAAE,EACxCrB,UAAU,EACVO,WAAW,EACX,OAAO,EACPE,MAAM,EACND,MAAM,EACNN,MAAM,CAACmB,EAAE,EACTX,iBACF,CAAC;MACDxB,OAAO,CAACuC,OAAO,CAACd,YAAY,CAACe,MAAM,CAAC,CAACC,KAAK,CAAEC,GAAG,IAC7CL,OAAO,CAACD,KAAK,CAAC,qBAAqB,EAAEM,GAAG,CAC1C,CAAC;IACH;EACF,CAAC;EAED,IAAIxB,SAAS,EAAE;IACb,oBACER,IAAA,CAACP,IAAI;MAACwC,KAAK,EAAEC,MAAM,CAACC,uBAAwB;MAAAC,QAAA,eAC1CpC,IAAA,CAACL,iBAAiB;QAAC0C,IAAI,EAAC,OAAO;QAACC,KAAK,EAAC;MAAS,CAAE;IAAC,CAC9C,CAAC;EAEX;EAEA,IAAI,CAACvB,YAAY,EAAEwB,WAAW,EAAE,OAAO,IAAI;EAE3C,oBACEvC,IAAA,CAACN,wBAAwB;IAAC8C,UAAU;IAACC,kBAAkB,EAAC,WAAW;IAAAL,QAAA,eACjElC,KAAA,CAACT,IAAI;MAACwC,KAAK,EAAEC,MAAM,CAACQ,WAAY;MAAAN,QAAA,GAC7B/B,YAAY,IAAI,QAAQ,gBACvBL,IAAA,CAACX,KAAK;QACJ4C,KAAK,EAAE,CAACC,MAAM,CAACb,QAAQ,EAAE;UAAEsB,KAAK,EAAE,MAAM;UAAEC,MAAM,EAAE;QAAI,CAAC,CAAE;QACzDC,MAAM,EAAE;UAAEC,GAAG,EAAE/B,YAAY,CAACwB;QAAY;MAAE,CAC3C,CAAC,gBAEFvC,IAAA,CAACF,KAAK;QACJ+C,MAAM,EAAE;UAAEC,GAAG,EAAE/B,YAAY,CAACwB;QAAY,CAAE;QAC1CQ,UAAU,EAAC,SAAS;QACpBd,KAAK,EAAE;UAAEU,KAAK,EAAE,MAAM;UAAEC,MAAM,EAAE;QAAI;MAAE,CACvC,CACF,eAED1C,KAAA,CAACT,IAAI;QAACwC,KAAK,EAAEC,MAAM,CAACc,SAAU;QAAAZ,QAAA,gBAC5BlC,KAAA,CAACT,IAAI;UAACwC,KAAK,EAAEC,MAAM,CAACe,gBAAiB;UAAAb,QAAA,gBACnCpC,IAAA,CAACR,IAAI;YAACyC,KAAK,EAAEC,MAAM,CAACgB,KAAM;YAACC,aAAa,EAAE,CAAE;YAACC,aAAa,EAAC,MAAM;YAAAhB,QAAA,EAC9DrB,YAAY,CAACsC;UAAa,CACvB,CAAC,eAEPrD,IAAA,CAACR,IAAI;YACHyC,KAAK,EAAEC,MAAM,CAACoB,WAAY;YAC1BH,aAAa,EAAE,CAAE;YACjBC,aAAa,EAAC,MAAM;YAAAhB,QAAA,EAEnBrB,YAAY,CAACwC;UAAmB,CAC7B,CAAC,eAEPvD,IAAA,CAACR,IAAI;YACHyC,KAAK,EAAEC,MAAM,CAACsB,SAAU;YACxBL,aAAa,EAAE,CAAE;YACjBC,aAAa,EAAC,MAAM;YAAAhB,QAAA,EAEnBrB,YAAY,EAAE0C,iBAAiB,IAAI;UAAY,CAC5C,CAAC;QAAA,CACH,CAAC,eACPzD,IAAA,CAACN,wBAAwB;UACvBgE,OAAO,EAAEA,CAAA,KAAM;YACb9B,WAAW,CAAC,CAAC;UACf,CAAE;UACFY,UAAU;UACVC,kBAAkB,EAAC,mBAAmB;UAAAL,QAAA,eAEtCpC,IAAA,CAACX,KAAK;YACJ4C,KAAK,EAAE,CAACC,MAAM,CAACyB,UAAU,CAAE;YAC3Bd,MAAM,EAAE;cACNC,GAAG,EAAE;YACP;UAAE,CACH;QAAC,CACsB,CAAC;MAAA,CACvB,CAAC;IAAA,CACH;EAAC,CACiB,CAAC;AAE/B,CAAC;AAED,MAAMZ,MAAM,GAAG3C,UAAU,CAACqE,MAAM,CAAC;EAC/BlB,WAAW,EAAE;IACXC,KAAK,EAAEvD,UAAU,CAACyE,GAAG,CAAC,QAAQ,CAAC,CAAClB,KAAK;IACrCmB,eAAe,EAAE,OAAO;IACxBC,YAAY,EAAE;EAChB,CAAC;EACD5B,uBAAuB,EAAE;IACvBQ,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,GAAG;IACXoB,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACD5C,QAAQ,EAAE;IACR0B,UAAU,EAAE,OAAO;IACnBmB,mBAAmB,EAAE,CAAC;IACtBC,oBAAoB,EAAE;EACxB,CAAC;EACDnB,SAAS,EAAE;IACTL,KAAK,EAAE,MAAM;IACbmB,eAAe,EAAE,OAAO;IACxBM,aAAa,EAAE,KAAK;IACpBH,cAAc,EAAE,eAAe;IAC/BI,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBN,UAAU,EAAE,QAAQ;IACpBO,sBAAsB,EAAE,CAAC;IACzBC,uBAAuB,EAAE;EAC3B,CAAC;EACDvB,gBAAgB,EAAE;IAChBN,KAAK,EAAEvD,UAAU,CAACyE,GAAG,CAAC,QAAQ,CAAC,CAAClB,KAAK,GAAG;EAC1C,CAAC;EACDO,KAAK,EAAE;IACLZ,KAAK,EAAE,OAAO;IACdmC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDpB,WAAW,EAAE;IACXhB,KAAK,EAAE,OAAO;IACdmC,QAAQ,EAAE;EACZ,CAAC;EACDjB,SAAS,EAAE;IACTlB,KAAK,EAAE,OAAO;IACdmC,QAAQ,EAAE,EAAE;IACZE,OAAO,EAAE,GAAG;IACZC,SAAS,EAAE,CAAC;IACZF,UAAU,EAAE;EACd,CAAC;EACDf,UAAU,EAAE;IACVhB,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","Dimensions","Image","Linking","StyleSheet","Text","View","TouchableWithoutFeedback","ActivityIndicator","Adgeist","useAdgeistContext","Video","jsx","_jsx","jsxs","_jsxs","BannerAd","dataAdSlot","dataSlotType","adData","setAdData","isLoading","setIsLoading","isInitialized","publisherId","apiKey","domain","isTestEnvironment","creativeData","seatBid","bid","ext","response","fetchCreative","creative","data","length","sendCreativeAnalytic","id","error","console","handleClick","openURL","ctaUrl","catch","err","style","styles","loadingOverlayContainer","children","size","color","creativeUrl","accessible","accessibilityLabel","adContainer","width","height","source","uri","resizeMode","repeat","adContent","contentContainer","title","numberOfLines","ellipsizeMode","creativeTitle","description","creativeDescription","brandName","creativeBrandName","onPress","linkButton","create","get","backgroundColor","borderRadius","alignItems","justifyContent","borderTopLeftRadius","borderTopRightRadius","flexDirection","paddingVertical","paddingHorizontal","borderBottomLeftRadius","borderBottomRightRadius","fontSize","fontWeight","opacity","marginTop"],"sourceRoot":"../../../src","sources":["components/BannerAd.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, View, Text, Pressable } from 'react-native';
5
+ import { useAdgeistContext } from "./AdgeistProvider.js";
6
+ import Adgeist from "../NativeAdgeist.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export const ConsentModal = () => {
9
+ const {
10
+ setAdgeistConsentModal
11
+ } = useAdgeistContext();
12
+ return /*#__PURE__*/_jsx(View, {
13
+ style: styles.modalContainer,
14
+ children: /*#__PURE__*/_jsxs(View, {
15
+ style: styles.modalInnerContainer,
16
+ children: [/*#__PURE__*/_jsx(Text, {
17
+ style: styles.headerContainer,
18
+ children: "Your privacy matters"
19
+ }), /*#__PURE__*/_jsx(Text, {
20
+ style: styles.textContainer,
21
+ children: "We use data to provide and improve our services, deliver safer and more relevant ads, and measure performance."
22
+ }), /*#__PURE__*/_jsxs(View, {
23
+ style: styles.buttonContainer,
24
+ children: [/*#__PURE__*/_jsx(Pressable, {
25
+ style: styles.button,
26
+ onPress: () => setAdgeistConsentModal(false),
27
+ children: /*#__PURE__*/_jsx(Text, {
28
+ style: styles.buttonText,
29
+ children: "Decline"
30
+ })
31
+ }), /*#__PURE__*/_jsx(Pressable, {
32
+ style: styles.button,
33
+ onPress: () => {
34
+ Adgeist.updateConsentStatus(true);
35
+ setAdgeistConsentModal(false);
36
+ },
37
+ children: /*#__PURE__*/_jsx(Text, {
38
+ style: styles.buttonText,
39
+ children: "Accept"
40
+ })
41
+ })]
42
+ })]
43
+ })
44
+ });
45
+ };
46
+ const styles = StyleSheet.create({
47
+ modalContainer: {
48
+ width: '100%',
49
+ height: '100%',
50
+ position: 'absolute',
51
+ top: 0,
52
+ left: 0,
53
+ zIndex: 1000,
54
+ backgroundColor: '#000000DD',
55
+ flex: 1,
56
+ justifyContent: 'center',
57
+ alignItems: 'center'
58
+ },
59
+ modalInnerContainer: {
60
+ width: '95%',
61
+ maxWidth: 375,
62
+ backgroundColor: 'white',
63
+ borderRadius: 10,
64
+ padding: 15
65
+ },
66
+ headerContainer: {
67
+ fontSize: 20,
68
+ fontWeight: '600',
69
+ marginBottom: 5,
70
+ opacity: 0.8
71
+ },
72
+ textContainer: {
73
+ fontSize: 15,
74
+ marginBottom: 5,
75
+ opacity: 0.8
76
+ },
77
+ buttonContainer: {
78
+ flexDirection: 'row',
79
+ justifyContent: 'flex-end',
80
+ gap: 10
81
+ },
82
+ button: {
83
+ backgroundColor: '#000000CC',
84
+ paddingVertical: 10,
85
+ paddingHorizontal: 25,
86
+ borderRadius: 5,
87
+ marginVertical: 5,
88
+ marginTop: 10
89
+ },
90
+ buttonText: {
91
+ color: '#FFFFFF',
92
+ fontWeight: '500',
93
+ fontSize: 15
94
+ }
95
+ });
96
+ //# sourceMappingURL=ConsentModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","Text","Pressable","useAdgeistContext","Adgeist","jsx","_jsx","jsxs","_jsxs","ConsentModal","setAdgeistConsentModal","style","styles","modalContainer","children","modalInnerContainer","headerContainer","textContainer","buttonContainer","button","onPress","buttonText","updateConsentStatus","create","width","height","position","top","left","zIndex","backgroundColor","flex","justifyContent","alignItems","maxWidth","borderRadius","padding","fontSize","fontWeight","marginBottom","opacity","flexDirection","gap","paddingVertical","paddingHorizontal","marginVertical","marginTop","color"],"sourceRoot":"../../../src","sources":["components/ConsentModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,4 +2,5 @@
2
2
 
3
3
  export * from "./components/BannerAd.js";
4
4
  export * from "./components/AdgeistProvider.js";
5
+ export * from "./cdpclient/index.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,cAAc,0BAAuB;AACrC,cAAc,iCAA8B","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,cAAc,0BAAuB;AACrC,cAAc,iCAA8B;AAE5C,cAAc,sBAAmB","ignoreList":[]}
@@ -1,8 +1,22 @@
1
1
  import type { TurboModule } from 'react-native';
2
+ export interface UserDetails {
3
+ userId?: string;
4
+ userName?: string;
5
+ email?: string;
6
+ phone?: string;
7
+ }
8
+ export interface Event {
9
+ eventType: string;
10
+ eventProperties: Object;
11
+ }
2
12
  export interface Spec extends TurboModule {
3
13
  initializeSdk(customDomain: string): Promise<boolean>;
4
14
  fetchCreative(apiKey: string, origin: string, adSpaceId: string, publisherId: string, isTestEnvironment: boolean): Promise<Object>;
5
15
  sendCreativeAnalytic(campaignId: string, adSpaceId: string, publisherId: string, eventType: string, origin: string, apiKey: string, bidId: string, isTestEnvironment: boolean): Promise<Object>;
16
+ setUserDetails(user: UserDetails): void;
17
+ logEvent(event: Event): void;
18
+ getConsentStatus(): Promise<boolean>;
19
+ updateConsentStatus(consent: boolean): void;
6
20
  }
7
21
  declare const _default: Spec;
8
22
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeAdgeist.d.ts","sourceRoot":"","sources":["../../../src/NativeAdgeist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,aAAa,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,oBAAoB,CAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;;AAED,wBAAiE"}
1
+ {"version":3,"file":"NativeAdgeist.d.ts","sourceRoot":"","sources":["../../../src/NativeAdgeist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD,aAAa,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,oBAAoB,CAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAExC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAE7B,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7C;;AAED,wBAAiE"}
@@ -0,0 +1,6 @@
1
+ import { type UserDetails, type Event } from '../NativeAdgeist';
2
+ export declare const setUserDetails: (userDetails: UserDetails) => void;
3
+ export declare const logEvent: (event: Event) => void;
4
+ export declare const getConsentStatus: () => Promise<"ACCEPTED" | "DENIED">;
5
+ export declare const updateConsentStatus: (consent: boolean) => void;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cdpclient/index.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzE,eAAO,MAAM,cAAc,GAAI,aAAa,WAAW,SAEtD,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,SAEpC,CAAC;AAEF,eAAO,MAAM,gBAAgB,sCAE5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,SAEnD,CAAC"}
@@ -5,6 +5,7 @@ interface AdgeistContextType {
5
5
  domain: string;
6
6
  isTestEnvironment: boolean;
7
7
  isInitialized: boolean;
8
+ setAdgeistConsentModal: (value: boolean) => void;
8
9
  }
9
10
  interface AdgeistProviderPropsType {
10
11
  children: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"AdgeistProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/AdgeistProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,UAAU,kBAAkB;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,wBAAwB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAUD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA+B9D,CAAC;AAEF,eAAO,MAAM,iBAAiB,0BAAmC,CAAC"}
1
+ {"version":3,"file":"AdgeistProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/AdgeistProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAI9E,UAAU,kBAAkB;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,sBAAsB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED,UAAU,wBAAwB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAWD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAmD9D,CAAC;AAEF,eAAO,MAAM,iBAAiB,0BAAmC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BannerAd.d.ts","sourceRoot":"","sources":["../../../../src/components/BannerAd.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAyCnD,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA0I5C,CAAC"}
1
+ {"version":3,"file":"BannerAd.d.ts","sourceRoot":"","sources":["../../../../src/components/BannerAd.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAyCnD,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA2I5C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface ConsentModalPropsType {
3
+ }
4
+ export declare const ConsentModal: React.FC<ConsentModalPropsType>;
5
+ export {};
6
+ //# sourceMappingURL=ConsentModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsentModal.d.ts","sourceRoot":"","sources":["../../../../src/components/ConsentModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,UAAU,qBAAqB;CAAG;AAElC,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAgCxD,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './components/BannerAd';
2
2
  export * from './components/AdgeistProvider';
3
+ export * from './cdpclient/index';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thealteroffice/react-native-adgeist",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "description": "Publishers can integrate our SDK to connect their ad spaces to the AdGeist marketplace.",
5
5
  "main": "./lib/module/index.js",
6
6
  "module": "./lib/module/index.js",
@@ -1,8 +1,20 @@
1
1
  import type { TurboModule } from 'react-native';
2
2
  import { TurboModuleRegistry } from 'react-native';
3
3
 
4
+ export interface UserDetails {
5
+ userId?: string;
6
+ userName?: string;
7
+ email?: string;
8
+ phone?: string;
9
+ }
10
+
11
+ export interface Event {
12
+ eventType: string;
13
+ eventProperties: Object;
14
+ }
4
15
  export interface Spec extends TurboModule {
5
16
  initializeSdk(customDomain: string): Promise<boolean>;
17
+
6
18
  fetchCreative(
7
19
  apiKey: string,
8
20
  origin: string,
@@ -10,6 +22,7 @@ export interface Spec extends TurboModule {
10
22
  publisherId: string,
11
23
  isTestEnvironment: boolean
12
24
  ): Promise<Object>;
25
+
13
26
  sendCreativeAnalytic(
14
27
  campaignId: string,
15
28
  adSpaceId: string,
@@ -20,6 +33,14 @@ export interface Spec extends TurboModule {
20
33
  bidId: string,
21
34
  isTestEnvironment: boolean
22
35
  ): Promise<Object>;
36
+
37
+ setUserDetails(user: UserDetails): void;
38
+
39
+ logEvent(event: Event): void;
40
+
41
+ getConsentStatus(): Promise<boolean>;
42
+
43
+ updateConsentStatus(consent: boolean): void;
23
44
  }
24
45
 
25
46
  export default TurboModuleRegistry.getEnforcing<Spec>('Adgeist');
@@ -0,0 +1,17 @@
1
+ import Adgeist, { type UserDetails, type Event } from '../NativeAdgeist';
2
+
3
+ export const setUserDetails = (userDetails: UserDetails) => {
4
+ Adgeist.setUserDetails(userDetails);
5
+ };
6
+
7
+ export const logEvent = (event: Event) => {
8
+ Adgeist.logEvent(event);
9
+ };
10
+
11
+ export const getConsentStatus = async () => {
12
+ return (await Adgeist.getConsentStatus()) === true ? 'ACCEPTED' : 'DENIED';
13
+ };
14
+
15
+ export const updateConsentStatus = (consent: boolean) => {
16
+ Adgeist.updateConsentStatus(consent);
17
+ };
@@ -1,5 +1,6 @@
1
1
  import React, { createContext, useContext, useEffect, useState } from 'react';
2
2
  import Adgeist from '../NativeAdgeist';
3
+ import { ConsentModal } from './ConsentModal';
3
4
 
4
5
  interface AdgeistContextType {
5
6
  publisherId: string;
@@ -7,6 +8,7 @@ interface AdgeistContextType {
7
8
  domain: string;
8
9
  isTestEnvironment: boolean;
9
10
  isInitialized: boolean;
11
+ setAdgeistConsentModal: (value: boolean) => void;
10
12
  }
11
13
 
12
14
  interface AdgeistProviderPropsType {
@@ -24,6 +26,7 @@ const AdgeistContext = createContext<AdgeistContextType>({
24
26
  domain: '',
25
27
  isTestEnvironment: true,
26
28
  isInitialized: false,
29
+ setAdgeistConsentModal: () => {},
27
30
  });
28
31
 
29
32
  export const AdgeistProvider: React.FC<AdgeistProviderPropsType> = ({
@@ -35,14 +38,20 @@ export const AdgeistProvider: React.FC<AdgeistProviderPropsType> = ({
35
38
  isTestEnvironment = true,
36
39
  }) => {
37
40
  const [isInitialized, setIsInitialized] = useState(false);
41
+ const [adgeistConsentModal, setAdgeistConsentModal] = useState(false);
42
+ const [isKotlinInitializationFailed, setIsKotlinInitializationFailed] =
43
+ useState(false);
38
44
 
39
45
  useEffect(() => {
40
46
  const initializeAdgeist = async () => {
47
+ setIsKotlinInitializationFailed(false);
48
+ setIsInitialized(false);
49
+
41
50
  try {
42
51
  await Adgeist.initializeSdk(customAdgeistApiOrigin);
43
52
  setIsInitialized(true);
44
- } catch (error) {
45
- console.error('Error initializing Adgeist SDK:', error);
53
+ } catch {
54
+ setIsKotlinInitializationFailed(true);
46
55
  setIsInitialized(false);
47
56
  }
48
57
  };
@@ -52,9 +61,23 @@ export const AdgeistProvider: React.FC<AdgeistProviderPropsType> = ({
52
61
 
53
62
  return (
54
63
  <AdgeistContext.Provider
55
- value={{ publisherId, apiKey, domain, isTestEnvironment, isInitialized }}
64
+ value={{
65
+ publisherId,
66
+ apiKey,
67
+ domain,
68
+ isTestEnvironment,
69
+ isInitialized,
70
+ setAdgeistConsentModal,
71
+ }}
56
72
  >
57
- {children}
73
+ {isKotlinInitializationFailed && <>{children}</>}
74
+
75
+ {isInitialized && (
76
+ <>
77
+ {adgeistConsentModal && <ConsentModal />}
78
+ {children}
79
+ </>
80
+ )}
58
81
  </AdgeistContext.Provider>
59
82
  );
60
83
  };
@@ -131,7 +131,7 @@ export const BannerAd: React.FC<AdBannerTypes> = ({
131
131
  return (
132
132
  <TouchableWithoutFeedback accessible accessibilityLabel="Ad Banner">
133
133
  <View style={styles.adContainer}>
134
- {dataSlotType == 'banner' ? (
134
+ {dataSlotType === 'banner' ? (
135
135
  <Image
136
136
  style={[styles.creative, { width: '100%', height: 300 }]}
137
137
  source={{ uri: creativeData.creativeUrl }}
@@ -141,6 +141,7 @@ export const BannerAd: React.FC<AdBannerTypes> = ({
141
141
  source={{ uri: creativeData.creativeUrl }}
142
142
  resizeMode="contain"
143
143
  style={{ width: '100%', height: 300 }}
144
+ repeat={true}
144
145
  />
145
146
  )}
146
147
 
@@ -0,0 +1,92 @@
1
+ import React from 'react';
2
+
3
+ import { StyleSheet, View, Text, Pressable } from 'react-native';
4
+ import { useAdgeistContext } from './AdgeistProvider';
5
+ import Adgeist from '../NativeAdgeist';
6
+
7
+ interface ConsentModalPropsType {}
8
+
9
+ export const ConsentModal: React.FC<ConsentModalPropsType> = () => {
10
+ const { setAdgeistConsentModal } = useAdgeistContext();
11
+
12
+ return (
13
+ <View style={styles.modalContainer}>
14
+ <View style={styles.modalInnerContainer}>
15
+ <Text style={styles.headerContainer}>Your privacy matters</Text>
16
+ <Text style={styles.textContainer}>
17
+ We use data to provide and improve our services, deliver safer and
18
+ more relevant ads, and measure performance.
19
+ </Text>
20
+
21
+ <View style={styles.buttonContainer}>
22
+ <Pressable
23
+ style={styles.button}
24
+ onPress={() => setAdgeistConsentModal(false)}
25
+ >
26
+ <Text style={styles.buttonText}>Decline</Text>
27
+ </Pressable>
28
+ <Pressable
29
+ style={styles.button}
30
+ onPress={() => {
31
+ Adgeist.updateConsentStatus(true);
32
+ setAdgeistConsentModal(false);
33
+ }}
34
+ >
35
+ <Text style={styles.buttonText}>Accept</Text>
36
+ </Pressable>
37
+ </View>
38
+ </View>
39
+ </View>
40
+ );
41
+ };
42
+
43
+ const styles = StyleSheet.create({
44
+ modalContainer: {
45
+ width: '100%',
46
+ height: '100%',
47
+ position: 'absolute',
48
+ top: 0,
49
+ left: 0,
50
+ zIndex: 1000,
51
+ backgroundColor: '#000000DD',
52
+ flex: 1,
53
+ justifyContent: 'center',
54
+ alignItems: 'center',
55
+ },
56
+ modalInnerContainer: {
57
+ width: '95%',
58
+ maxWidth: 375,
59
+ backgroundColor: 'white',
60
+ borderRadius: 10,
61
+ padding: 15,
62
+ },
63
+ headerContainer: {
64
+ fontSize: 20,
65
+ fontWeight: '600',
66
+ marginBottom: 5,
67
+ opacity: 0.8,
68
+ },
69
+ textContainer: {
70
+ fontSize: 15,
71
+ marginBottom: 5,
72
+ opacity: 0.8,
73
+ },
74
+ buttonContainer: {
75
+ flexDirection: 'row',
76
+ justifyContent: 'flex-end',
77
+ gap: 10,
78
+ },
79
+ button: {
80
+ backgroundColor: '#000000CC',
81
+ paddingVertical: 10,
82
+ paddingHorizontal: 25,
83
+ borderRadius: 5,
84
+ marginVertical: 5,
85
+ marginTop: 10,
86
+ },
87
+ buttonText: {
88
+ color: '#FFFFFF',
89
+ fontWeight: '500',
90
+ fontSize: 15,
91
+ },
92
+ });
package/src/index.tsx CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from './components/BannerAd';
2
2
  export * from './components/AdgeistProvider';
3
+
4
+ export * from './cdpclient/index';
@@ -1,46 +0,0 @@
1
-
2
- /**
3
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
- *
5
- * Do not edit this file as changes may cause incorrect behavior and will be lost
6
- * once the code is regenerated.
7
- *
8
- * @generated by codegen project: GenerateModuleJavaSpec.js
9
- *
10
- * @nolint
11
- */
12
-
13
- package com.facebook.fbreact.specs;
14
-
15
- import com.facebook.proguard.annotations.DoNotStrip;
16
- import com.facebook.react.bridge.Promise;
17
- import com.facebook.react.bridge.ReactApplicationContext;
18
- import com.facebook.react.bridge.ReactContextBaseJavaModule;
19
- import com.facebook.react.bridge.ReactMethod;
20
- import com.facebook.react.turbomodule.core.interfaces.TurboModule;
21
- import javax.annotation.Nonnull;
22
-
23
- public abstract class NativeAdgeistSpec extends ReactContextBaseJavaModule implements TurboModule {
24
- public static final String NAME = "Adgeist";
25
-
26
- public NativeAdgeistSpec(ReactApplicationContext reactContext) {
27
- super(reactContext);
28
- }
29
-
30
- @Override
31
- public @Nonnull String getName() {
32
- return NAME;
33
- }
34
-
35
- @ReactMethod
36
- @DoNotStrip
37
- public abstract void initializeSdk(String customDomain, Promise promise);
38
-
39
- @ReactMethod
40
- @DoNotStrip
41
- public abstract void fetchCreative(String apiKey, String origin, String adSpaceId, String publisherId, boolean isTestEnvironment, Promise promise);
42
-
43
- @ReactMethod
44
- @DoNotStrip
45
- public abstract void sendCreativeAnalytic(String campaignId, String adSpaceId, String publisherId, String eventType, String origin, String apiKey, String bidId, boolean isTestEnvironment, Promise promise);
46
- }
@@ -1,36 +0,0 @@
1
- # Copyright (c) Meta Platforms, Inc. and affiliates.
2
- #
3
- # This source code is licensed under the MIT license found in the
4
- # LICENSE file in the root directory of this source tree.
5
-
6
- cmake_minimum_required(VERSION 3.13)
7
- set(CMAKE_VERBOSE_MAKEFILE on)
8
-
9
- file(GLOB react_codegen_SRCS CONFIGURE_DEPENDS *.cpp react/renderer/components/RNAdgeistSpec/*.cpp)
10
-
11
- add_library(
12
- react_codegen_RNAdgeistSpec
13
- OBJECT
14
- ${react_codegen_SRCS}
15
- )
16
-
17
- target_include_directories(react_codegen_RNAdgeistSpec PUBLIC . react/renderer/components/RNAdgeistSpec)
18
-
19
- target_link_libraries(
20
- react_codegen_RNAdgeistSpec
21
- fbjni
22
- jsi
23
- # We need to link different libraries based on whether we are building rncore or not, that's necessary
24
- # because we want to break a circular dependency between react_codegen_rncore and reactnative
25
- reactnative
26
- )
27
-
28
- target_compile_options(
29
- react_codegen_RNAdgeistSpec
30
- PRIVATE
31
- -DLOG_TAG=\"ReactNative\"
32
- -fexceptions
33
- -frtti
34
- -std=c++20
35
- -Wall
36
- )
@@ -1,44 +0,0 @@
1
-
2
- /**
3
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
- *
5
- * Do not edit this file as changes may cause incorrect behavior and will be lost
6
- * once the code is regenerated.
7
- *
8
- * @generated by codegen project: GenerateModuleJniCpp.js
9
- */
10
-
11
- #include "RNAdgeistSpec.h"
12
-
13
- namespace facebook::react {
14
-
15
- static facebook::jsi::Value __hostFunction_NativeAdgeistSpecJSI_initializeSdk(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
16
- static jmethodID cachedMethodId = nullptr;
17
- return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "initializeSdk", "(Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
18
- }
19
-
20
- static facebook::jsi::Value __hostFunction_NativeAdgeistSpecJSI_fetchCreative(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
21
- static jmethodID cachedMethodId = nullptr;
22
- return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "fetchCreative", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
23
- }
24
-
25
- static facebook::jsi::Value __hostFunction_NativeAdgeistSpecJSI_sendCreativeAnalytic(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
26
- static jmethodID cachedMethodId = nullptr;
27
- return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "sendCreativeAnalytic", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
28
- }
29
-
30
- NativeAdgeistSpecJSI::NativeAdgeistSpecJSI(const JavaTurboModule::InitParams &params)
31
- : JavaTurboModule(params) {
32
- methodMap_["initializeSdk"] = MethodMetadata {1, __hostFunction_NativeAdgeistSpecJSI_initializeSdk};
33
- methodMap_["fetchCreative"] = MethodMetadata {5, __hostFunction_NativeAdgeistSpecJSI_fetchCreative};
34
- methodMap_["sendCreativeAnalytic"] = MethodMetadata {8, __hostFunction_NativeAdgeistSpecJSI_sendCreativeAnalytic};
35
- }
36
-
37
- std::shared_ptr<TurboModule> RNAdgeistSpec_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params) {
38
- if (moduleName == "Adgeist") {
39
- return std::make_shared<NativeAdgeistSpecJSI>(params);
40
- }
41
- return nullptr;
42
- }
43
-
44
- } // namespace facebook::react
@@ -1,31 +0,0 @@
1
-
2
- /**
3
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
- *
5
- * Do not edit this file as changes may cause incorrect behavior and will be lost
6
- * once the code is regenerated.
7
- *
8
- * @generated by codegen project: GenerateModuleJniH.js
9
- */
10
-
11
- #pragma once
12
-
13
- #include <ReactCommon/JavaTurboModule.h>
14
- #include <ReactCommon/TurboModule.h>
15
- #include <jsi/jsi.h>
16
-
17
- namespace facebook::react {
18
-
19
- /**
20
- * JNI C++ class for module 'NativeAdgeist'
21
- */
22
- class JSI_EXPORT NativeAdgeistSpecJSI : public JavaTurboModule {
23
- public:
24
- NativeAdgeistSpecJSI(const JavaTurboModule::InitParams &params);
25
- };
26
-
27
-
28
- JSI_EXPORT
29
- std::shared_ptr<TurboModule> RNAdgeistSpec_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params);
30
-
31
- } // namespace facebook::react
@@ -1,52 +0,0 @@
1
- /**
2
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
- *
4
- * Do not edit this file as changes may cause incorrect behavior and will be lost
5
- * once the code is regenerated.
6
- *
7
- * @generated by codegen project: GenerateModuleCpp.js
8
- */
9
-
10
- #include "RNAdgeistSpecJSI.h"
11
-
12
- namespace facebook::react {
13
-
14
- static jsi::Value __hostFunction_NativeAdgeistCxxSpecJSI_initializeSdk(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
15
- return static_cast<NativeAdgeistCxxSpecJSI *>(&turboModule)->initializeSdk(
16
- rt,
17
- count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt)
18
- );
19
- }
20
- static jsi::Value __hostFunction_NativeAdgeistCxxSpecJSI_fetchCreative(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
21
- return static_cast<NativeAdgeistCxxSpecJSI *>(&turboModule)->fetchCreative(
22
- rt,
23
- count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
24
- count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt),
25
- count <= 2 ? throw jsi::JSError(rt, "Expected argument in position 2 to be passed") : args[2].asString(rt),
26
- count <= 3 ? throw jsi::JSError(rt, "Expected argument in position 3 to be passed") : args[3].asString(rt),
27
- count <= 4 ? throw jsi::JSError(rt, "Expected argument in position 4 to be passed") : args[4].asBool()
28
- );
29
- }
30
- static jsi::Value __hostFunction_NativeAdgeistCxxSpecJSI_sendCreativeAnalytic(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
31
- return static_cast<NativeAdgeistCxxSpecJSI *>(&turboModule)->sendCreativeAnalytic(
32
- rt,
33
- count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
34
- count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt),
35
- count <= 2 ? throw jsi::JSError(rt, "Expected argument in position 2 to be passed") : args[2].asString(rt),
36
- count <= 3 ? throw jsi::JSError(rt, "Expected argument in position 3 to be passed") : args[3].asString(rt),
37
- count <= 4 ? throw jsi::JSError(rt, "Expected argument in position 4 to be passed") : args[4].asString(rt),
38
- count <= 5 ? throw jsi::JSError(rt, "Expected argument in position 5 to be passed") : args[5].asString(rt),
39
- count <= 6 ? throw jsi::JSError(rt, "Expected argument in position 6 to be passed") : args[6].asString(rt),
40
- count <= 7 ? throw jsi::JSError(rt, "Expected argument in position 7 to be passed") : args[7].asBool()
41
- );
42
- }
43
-
44
- NativeAdgeistCxxSpecJSI::NativeAdgeistCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker)
45
- : TurboModule("Adgeist", jsInvoker) {
46
- methodMap_["initializeSdk"] = MethodMetadata {1, __hostFunction_NativeAdgeistCxxSpecJSI_initializeSdk};
47
- methodMap_["fetchCreative"] = MethodMetadata {5, __hostFunction_NativeAdgeistCxxSpecJSI_fetchCreative};
48
- methodMap_["sendCreativeAnalytic"] = MethodMetadata {8, __hostFunction_NativeAdgeistCxxSpecJSI_sendCreativeAnalytic};
49
- }
50
-
51
-
52
- } // namespace facebook::react
@@ -1,89 +0,0 @@
1
- /**
2
- * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
- *
4
- * Do not edit this file as changes may cause incorrect behavior and will be lost
5
- * once the code is regenerated.
6
- *
7
- * @generated by codegen project: GenerateModuleH.js
8
- */
9
-
10
- #pragma once
11
-
12
- #include <ReactCommon/TurboModule.h>
13
- #include <react/bridging/Bridging.h>
14
-
15
- namespace facebook::react {
16
-
17
-
18
- class JSI_EXPORT NativeAdgeistCxxSpecJSI : public TurboModule {
19
- protected:
20
- NativeAdgeistCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
21
-
22
- public:
23
- virtual jsi::Value initializeSdk(jsi::Runtime &rt, jsi::String customDomain) = 0;
24
- virtual jsi::Value fetchCreative(jsi::Runtime &rt, jsi::String apiKey, jsi::String origin, jsi::String adSpaceId, jsi::String publisherId, bool isTestEnvironment) = 0;
25
- virtual jsi::Value sendCreativeAnalytic(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String eventType, jsi::String origin, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment) = 0;
26
-
27
- };
28
-
29
- template <typename T>
30
- class JSI_EXPORT NativeAdgeistCxxSpec : public TurboModule {
31
- public:
32
- jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
33
- return delegate_.create(rt, propName);
34
- }
35
-
36
- std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
37
- return delegate_.getPropertyNames(runtime);
38
- }
39
-
40
- static constexpr std::string_view kModuleName = "Adgeist";
41
-
42
- protected:
43
- NativeAdgeistCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
44
- : TurboModule(std::string{NativeAdgeistCxxSpec::kModuleName}, jsInvoker),
45
- delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
46
-
47
-
48
- private:
49
- class Delegate : public NativeAdgeistCxxSpecJSI {
50
- public:
51
- Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
52
- NativeAdgeistCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
53
-
54
- }
55
-
56
- jsi::Value initializeSdk(jsi::Runtime &rt, jsi::String customDomain) override {
57
- static_assert(
58
- bridging::getParameterCount(&T::initializeSdk) == 2,
59
- "Expected initializeSdk(...) to have 2 parameters");
60
-
61
- return bridging::callFromJs<jsi::Value>(
62
- rt, &T::initializeSdk, jsInvoker_, instance_, std::move(customDomain));
63
- }
64
- jsi::Value fetchCreative(jsi::Runtime &rt, jsi::String apiKey, jsi::String origin, jsi::String adSpaceId, jsi::String publisherId, bool isTestEnvironment) override {
65
- static_assert(
66
- bridging::getParameterCount(&T::fetchCreative) == 6,
67
- "Expected fetchCreative(...) to have 6 parameters");
68
-
69
- return bridging::callFromJs<jsi::Value>(
70
- rt, &T::fetchCreative, jsInvoker_, instance_, std::move(apiKey), std::move(origin), std::move(adSpaceId), std::move(publisherId), std::move(isTestEnvironment));
71
- }
72
- jsi::Value sendCreativeAnalytic(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String eventType, jsi::String origin, jsi::String apiKey, jsi::String bidId, bool isTestEnvironment) override {
73
- static_assert(
74
- bridging::getParameterCount(&T::sendCreativeAnalytic) == 9,
75
- "Expected sendCreativeAnalytic(...) to have 9 parameters");
76
-
77
- return bridging::callFromJs<jsi::Value>(
78
- rt, &T::sendCreativeAnalytic, jsInvoker_, instance_, std::move(campaignId), std::move(adSpaceId), std::move(publisherId), std::move(eventType), std::move(origin), std::move(apiKey), std::move(bidId), std::move(isTestEnvironment));
79
- }
80
-
81
- private:
82
- friend class NativeAdgeistCxxSpec;
83
- T *instance_;
84
- };
85
-
86
- Delegate delegate_;
87
- };
88
-
89
- } // namespace facebook::react