@thealteroffice/react-native-adgeist 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/Adgeist.podspec +28 -0
  2. package/LICENSE +20 -0
  3. package/README.md +65 -0
  4. package/android/build.gradle +101 -0
  5. package/android/generated/java/com/adgeist/NativeAdgeistSpec.java +42 -0
  6. package/android/generated/jni/CMakeLists.txt +36 -0
  7. package/android/generated/jni/RNAdgeistSpec-generated.cpp +38 -0
  8. package/android/generated/jni/RNAdgeistSpec.h +31 -0
  9. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/RNAdgeistSpecJSI-generated.cpp +38 -0
  10. package/android/generated/jni/react/renderer/components/RNAdgeistSpec/RNAdgeistSpecJSI.h +80 -0
  11. package/android/gradle.properties +5 -0
  12. package/android/src/main/AndroidManifest.xml +3 -0
  13. package/android/src/main/AndroidManifestNew.xml +2 -0
  14. package/android/src/main/java/com/adgeist/AdgeistModule.kt +89 -0
  15. package/android/src/main/java/com/adgeist/AdgeistPackage.kt +33 -0
  16. package/ios/Adgeist.h +18 -0
  17. package/ios/Adgeist.mm +52 -0
  18. package/ios/AdgeistImpl.swift +57 -0
  19. package/ios/adgeist-Bridging-Header.h +2 -0
  20. package/ios/generated/RNAdgeistSpec/RNAdgeistSpec-generated.mm +46 -0
  21. package/ios/generated/RNAdgeistSpec/RNAdgeistSpec.h +71 -0
  22. package/ios/generated/RNAdgeistSpecJSI-generated.cpp +38 -0
  23. package/ios/generated/RNAdgeistSpecJSI.h +80 -0
  24. package/lib/module/NativeAdgeist.ts +14 -0
  25. package/lib/module/components/BannerAd.js +176 -0
  26. package/lib/module/components/BannerAd.js.map +1 -0
  27. package/lib/module/components/BottomBannerAd.js +150 -0
  28. package/lib/module/components/BottomBannerAd.js.map +1 -0
  29. package/lib/module/index.js +5 -0
  30. package/lib/module/index.js.map +1 -0
  31. package/lib/module/package.json +1 -0
  32. package/lib/typescript/package.json +1 -0
  33. package/lib/typescript/src/NativeAdgeist.d.ts +8 -0
  34. package/lib/typescript/src/NativeAdgeist.d.ts.map +1 -0
  35. package/lib/typescript/src/components/BannerAd.d.ts +10 -0
  36. package/lib/typescript/src/components/BannerAd.d.ts.map +1 -0
  37. package/lib/typescript/src/components/BottomBannerAd.d.ts +8 -0
  38. package/lib/typescript/src/components/BottomBannerAd.d.ts.map +1 -0
  39. package/lib/typescript/src/index.d.ts +3 -0
  40. package/lib/typescript/src/index.d.ts.map +1 -0
  41. package/package.json +170 -0
  42. package/react-native.config.js +12 -0
  43. package/src/NativeAdgeist.ts +14 -0
  44. package/src/components/BannerAd.tsx +202 -0
  45. package/src/components/BottomBannerAd.tsx +185 -0
  46. package/src/index.tsx +2 -0
package/ios/Adgeist.mm ADDED
@@ -0,0 +1,52 @@
1
+ #import "Adgeist.h"
2
+
3
+ #if __has_include("adgeist-Swift.h")
4
+ #import "adgeist-Swift.h"
5
+ #else
6
+ #import "adgeist/adgeist-Swift.h"
7
+ #endif
8
+
9
+ @implementation Adgeist {
10
+ AdgeistImpl *adgeist;
11
+ }
12
+
13
+ - (id)init {
14
+ if (self = [super init]) {
15
+ adgeist = [AdgeistImpl new];
16
+ }
17
+ return self;
18
+ }
19
+
20
+ + (NSString *)moduleName {
21
+ return @"Adgeist";
22
+ }
23
+
24
+
25
+ - (void)fetchCreative:(NSString *)adSpaceId
26
+ publisherId:(NSString *)publisherId
27
+ resolve:(RCTPromiseResolveBlock)resolve
28
+ reject:(RCTPromiseRejectBlock)reject {
29
+ [adgeist fetchCreativeWithAdSpaceId:adSpaceId publisherId:publisherId resolver:resolve rejecter:reject];
30
+ }
31
+
32
+ - (void)sendCreativeAnalytic:(NSString *)campaignId
33
+ adSpaceId:(NSString *)adSpaceId
34
+ publisherId:(NSString *)publisherId
35
+ eventType:(NSString *)eventType
36
+ resolve:(RCTPromiseResolveBlock)resolve
37
+ reject:(RCTPromiseRejectBlock)reject {
38
+ [adgeist sendCreativeAnalyticWithCampaignId:campaignId
39
+ adSpaceId:adSpaceId
40
+ publisherId:publisherId
41
+ eventType:eventType
42
+ resolver:resolve
43
+ rejecter:reject];
44
+ }
45
+
46
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
47
+ (const facebook::react::ObjCTurboModule::InitParams &)params
48
+ {
49
+ return std::make_shared<facebook::react::NativeAdgeistSpecJSI>(params);
50
+ }
51
+
52
+ @end
@@ -0,0 +1,57 @@
1
+ import Foundation
2
+ import AdgeistKit
3
+ import React
4
+
5
+ @objc public class AdgeistImpl: NSObject {
6
+ private static let adGeist = AdgeistCore.shared
7
+ @objc public func fetchCreative(
8
+ adSpaceId: String,
9
+ publisherId: String,
10
+ resolver: @escaping RCTPromiseResolveBlock,
11
+ rejecter: @escaping RCTPromiseRejectBlock
12
+ ) {
13
+ AdgeistImpl.adGeist.getCreative().fetchCreative(adSpaceId: adSpaceId, publisherId: publisherId) { creativeData in
14
+ if let creativeData = creativeData {
15
+ do {
16
+ let encoder = JSONEncoder()
17
+ let data = try encoder.encode(creativeData)
18
+ if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
19
+ resolver(json)
20
+ } else {
21
+ rejecter("JSON_ERROR", "Failed to convert ad data to JSON", nil)
22
+ }
23
+ } catch {
24
+ rejecter("JSON_ERROR", "Failed to encode ad data", error)
25
+ }
26
+ } else {
27
+ rejecter("NO_AD", "Ad data not available", nil)
28
+ }
29
+ }
30
+ }
31
+
32
+ @objc public func sendCreativeAnalytic(
33
+ campaignId: String,
34
+ adSpaceId: String,
35
+ publisherId: String,
36
+ eventType: String,
37
+ resolver: @escaping RCTPromiseResolveBlock,
38
+ rejecter: @escaping RCTPromiseRejectBlock
39
+ ) {
40
+ AdgeistImpl.adGeist.postCreativeAnalytics().sendTrackingData(
41
+ campaignId: campaignId,
42
+ adSpaceId: adSpaceId,
43
+ publisherId: publisherId,
44
+ eventType: eventType
45
+ ) { response in
46
+ if let response = response {
47
+ resolver(response)
48
+ } else {
49
+ rejecter("NO_AD", "Couldn't find the campaign to update analytics", nil)
50
+ }
51
+ }
52
+ }
53
+
54
+ @objc public static func requiresMainQueueSetup() -> Bool {
55
+ return true
56
+ }
57
+ }
@@ -0,0 +1,2 @@
1
+ #import "React/RCTBridgeModule.h"
2
+ #import "React/RCTEventEmitter.h"
@@ -0,0 +1,46 @@
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: GenerateModuleObjCpp
8
+ *
9
+ * We create an umbrella header (and corresponding implementation) here since
10
+ * Cxx compilation in BUCK has a limitation: source-code producing genrule()s
11
+ * must have a single output. More files => more genrule()s => slower builds.
12
+ */
13
+
14
+ #import "RNAdgeistSpec.h"
15
+
16
+
17
+ @implementation NativeAdgeistSpecBase
18
+
19
+
20
+ - (void)setEventEmitterCallback:(EventEmitterCallbackWrapper *)eventEmitterCallbackWrapper
21
+ {
22
+ _eventEmitterCallback = std::move(eventEmitterCallbackWrapper->_eventEmitterCallback);
23
+ }
24
+ @end
25
+
26
+
27
+ namespace facebook::react {
28
+
29
+ static facebook::jsi::Value __hostFunction_NativeAdgeistSpecJSI_fetchCreative(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
30
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "fetchCreative", @selector(fetchCreative:publisherId:resolve:reject:), args, count);
31
+ }
32
+
33
+ static facebook::jsi::Value __hostFunction_NativeAdgeistSpecJSI_sendCreativeAnalytic(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
34
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "sendCreativeAnalytic", @selector(sendCreativeAnalytic:adSpaceId:publisherId:eventType:resolve:reject:), args, count);
35
+ }
36
+
37
+ NativeAdgeistSpecJSI::NativeAdgeistSpecJSI(const ObjCTurboModule::InitParams &params)
38
+ : ObjCTurboModule(params) {
39
+
40
+ methodMap_["fetchCreative"] = MethodMetadata {2, __hostFunction_NativeAdgeistSpecJSI_fetchCreative};
41
+
42
+
43
+ methodMap_["sendCreativeAnalytic"] = MethodMetadata {4, __hostFunction_NativeAdgeistSpecJSI_sendCreativeAnalytic};
44
+
45
+ }
46
+ } // namespace facebook::react
@@ -0,0 +1,71 @@
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: GenerateModuleObjCpp
8
+ *
9
+ * We create an umbrella header (and corresponding implementation) here since
10
+ * Cxx compilation in BUCK has a limitation: source-code producing genrule()s
11
+ * must have a single output. More files => more genrule()s => slower builds.
12
+ */
13
+
14
+ #ifndef __cplusplus
15
+ #error This file must be compiled as Obj-C++. If you are importing it, you must change your file extension to .mm.
16
+ #endif
17
+
18
+ // Avoid multiple includes of RNAdgeistSpec symbols
19
+ #ifndef RNAdgeistSpec_H
20
+ #define RNAdgeistSpec_H
21
+
22
+ #import <Foundation/Foundation.h>
23
+ #import <RCTRequired/RCTRequired.h>
24
+ #import <RCTTypeSafety/RCTConvertHelpers.h>
25
+ #import <RCTTypeSafety/RCTTypedModuleConstants.h>
26
+ #import <React/RCTBridgeModule.h>
27
+ #import <React/RCTCxxConvert.h>
28
+ #import <React/RCTManagedPointer.h>
29
+ #import <ReactCommon/RCTTurboModule.h>
30
+ #import <optional>
31
+ #import <vector>
32
+
33
+
34
+ NS_ASSUME_NONNULL_BEGIN
35
+
36
+ @protocol NativeAdgeistSpec <RCTBridgeModule, RCTTurboModule>
37
+
38
+ - (void)fetchCreative:(NSString *)adSpaceId
39
+ publisherId:(NSString *)publisherId
40
+ resolve:(RCTPromiseResolveBlock)resolve
41
+ reject:(RCTPromiseRejectBlock)reject;
42
+ - (void)sendCreativeAnalytic:(NSString *)campaignId
43
+ adSpaceId:(NSString *)adSpaceId
44
+ publisherId:(NSString *)publisherId
45
+ eventType:(NSString *)eventType
46
+ resolve:(RCTPromiseResolveBlock)resolve
47
+ reject:(RCTPromiseRejectBlock)reject;
48
+
49
+ @end
50
+
51
+ @interface NativeAdgeistSpecBase : NSObject {
52
+ @protected
53
+ facebook::react::EventEmitterCallback _eventEmitterCallback;
54
+ }
55
+ - (void)setEventEmitterCallback:(EventEmitterCallbackWrapper *)eventEmitterCallbackWrapper;
56
+
57
+
58
+ @end
59
+
60
+ namespace facebook::react {
61
+ /**
62
+ * ObjC++ class for module 'NativeAdgeist'
63
+ */
64
+ class JSI_EXPORT NativeAdgeistSpecJSI : public ObjCTurboModule {
65
+ public:
66
+ NativeAdgeistSpecJSI(const ObjCTurboModule::InitParams &params);
67
+ };
68
+ } // namespace facebook::react
69
+
70
+ NS_ASSUME_NONNULL_END
71
+ #endif // RNAdgeistSpec_H
@@ -0,0 +1,38 @@
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_fetchCreative(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
15
+ return static_cast<NativeAdgeistCxxSpecJSI *>(&turboModule)->fetchCreative(
16
+ rt,
17
+ count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
18
+ count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt)
19
+ );
20
+ }
21
+ static jsi::Value __hostFunction_NativeAdgeistCxxSpecJSI_sendCreativeAnalytic(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
22
+ return static_cast<NativeAdgeistCxxSpecJSI *>(&turboModule)->sendCreativeAnalytic(
23
+ rt,
24
+ count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
25
+ count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt),
26
+ count <= 2 ? throw jsi::JSError(rt, "Expected argument in position 2 to be passed") : args[2].asString(rt),
27
+ count <= 3 ? throw jsi::JSError(rt, "Expected argument in position 3 to be passed") : args[3].asString(rt)
28
+ );
29
+ }
30
+
31
+ NativeAdgeistCxxSpecJSI::NativeAdgeistCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker)
32
+ : TurboModule("Adgeist", jsInvoker) {
33
+ methodMap_["fetchCreative"] = MethodMetadata {2, __hostFunction_NativeAdgeistCxxSpecJSI_fetchCreative};
34
+ methodMap_["sendCreativeAnalytic"] = MethodMetadata {4, __hostFunction_NativeAdgeistCxxSpecJSI_sendCreativeAnalytic};
35
+ }
36
+
37
+
38
+ } // namespace facebook::react
@@ -0,0 +1,80 @@
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 fetchCreative(jsi::Runtime &rt, jsi::String adSpaceId, jsi::String publisherId) = 0;
24
+ virtual jsi::Value sendCreativeAnalytic(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String eventType) = 0;
25
+
26
+ };
27
+
28
+ template <typename T>
29
+ class JSI_EXPORT NativeAdgeistCxxSpec : public TurboModule {
30
+ public:
31
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
32
+ return delegate_.create(rt, propName);
33
+ }
34
+
35
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
36
+ return delegate_.getPropertyNames(runtime);
37
+ }
38
+
39
+ static constexpr std::string_view kModuleName = "Adgeist";
40
+
41
+ protected:
42
+ NativeAdgeistCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
43
+ : TurboModule(std::string{NativeAdgeistCxxSpec::kModuleName}, jsInvoker),
44
+ delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
45
+
46
+
47
+ private:
48
+ class Delegate : public NativeAdgeistCxxSpecJSI {
49
+ public:
50
+ Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
51
+ NativeAdgeistCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
52
+
53
+ }
54
+
55
+ jsi::Value fetchCreative(jsi::Runtime &rt, jsi::String adSpaceId, jsi::String publisherId) override {
56
+ static_assert(
57
+ bridging::getParameterCount(&T::fetchCreative) == 3,
58
+ "Expected fetchCreative(...) to have 3 parameters");
59
+
60
+ return bridging::callFromJs<jsi::Value>(
61
+ rt, &T::fetchCreative, jsInvoker_, instance_, std::move(adSpaceId), std::move(publisherId));
62
+ }
63
+ jsi::Value sendCreativeAnalytic(jsi::Runtime &rt, jsi::String campaignId, jsi::String adSpaceId, jsi::String publisherId, jsi::String eventType) override {
64
+ static_assert(
65
+ bridging::getParameterCount(&T::sendCreativeAnalytic) == 5,
66
+ "Expected sendCreativeAnalytic(...) to have 5 parameters");
67
+
68
+ return bridging::callFromJs<jsi::Value>(
69
+ rt, &T::sendCreativeAnalytic, jsInvoker_, instance_, std::move(campaignId), std::move(adSpaceId), std::move(publisherId), std::move(eventType));
70
+ }
71
+
72
+ private:
73
+ friend class NativeAdgeistCxxSpec;
74
+ T *instance_;
75
+ };
76
+
77
+ Delegate delegate_;
78
+ };
79
+
80
+ } // namespace facebook::react
@@ -0,0 +1,14 @@
1
+ import type { TurboModule } from 'react-native';
2
+ import { TurboModuleRegistry } from 'react-native';
3
+
4
+ export interface Spec extends TurboModule {
5
+ fetchCreative(adSpaceId: string, publisherId: string): Promise<Object>;
6
+ sendCreativeAnalytic(
7
+ campaignId: string,
8
+ adSpaceId: string,
9
+ publisherId: string,
10
+ eventType: string
11
+ ): Promise<Object>;
12
+ }
13
+
14
+ export default TurboModuleRegistry.getEnforcing<Spec>('Adgeist');
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ import React, { useEffect, useState } from 'react';
4
+ import { Dimensions, Image, Linking, StyleSheet, Text, View, TouchableWithoutFeedback } from 'react-native';
5
+ import Adgeist from '../NativeAdgeist';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export const BannerAd = ({
8
+ dataPublisherId,
9
+ dataAdSlot,
10
+ width,
11
+ height
12
+ }) => {
13
+ const [adData, setAdData] = useState(null);
14
+ useEffect(() => {
15
+ (async () => {
16
+ try {
17
+ const response = await Adgeist.fetchCreative(dataAdSlot, dataPublisherId);
18
+ const creative = response;
19
+ setAdData(creative.data);
20
+ await Adgeist.sendCreativeAnalytic(creative.data._id, dataAdSlot, dataPublisherId, 'impression');
21
+ } catch (error) {
22
+ console.error('Ad load failed:', error);
23
+ }
24
+ })();
25
+ }, [dataPublisherId, dataAdSlot]);
26
+ const handleClick = async () => {
27
+ if (adData?.creative?.ctaUrl) {
28
+ await Adgeist.sendCreativeAnalytic(adData._id, dataAdSlot, dataPublisherId, 'click');
29
+ Linking.openURL(adData.creative.ctaUrl).catch(err => console.error('Failed to open URL:', err));
30
+ }
31
+ };
32
+ if (!adData?.creative?.fileUrl) return null;
33
+ return /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
34
+ accessible: true,
35
+ accessibilityLabel: "Ad Banner",
36
+ children: /*#__PURE__*/_jsxs(View, {
37
+ style: styles.container,
38
+ children: [/*#__PURE__*/_jsx(Image, {
39
+ style: [styles.creative, {
40
+ width,
41
+ height
42
+ }],
43
+ source: {
44
+ uri: adData.creative.fileUrl
45
+ }
46
+ }), /*#__PURE__*/_jsxs(View, {
47
+ style: styles.options,
48
+ children: [/*#__PURE__*/_jsx(Text, {
49
+ style: styles.option,
50
+ children: "x"
51
+ }), /*#__PURE__*/_jsx(Text, {
52
+ style: styles.option,
53
+ children: "i"
54
+ })]
55
+ }), /*#__PURE__*/_jsxs(View, {
56
+ style: styles.adContent,
57
+ children: [/*#__PURE__*/_jsx(Image, {
58
+ style: styles.logo,
59
+ source: {
60
+ uri: adData.creative.fileUrl
61
+ }
62
+ }), /*#__PURE__*/_jsxs(View, {
63
+ style: styles.textContainer,
64
+ children: [/*#__PURE__*/_jsxs(View, {
65
+ style: styles.titleRow,
66
+ children: [/*#__PURE__*/_jsx(Text, {
67
+ style: styles.adBadge,
68
+ children: "AD"
69
+ }), /*#__PURE__*/_jsx(Text, {
70
+ style: styles.title,
71
+ numberOfLines: 1,
72
+ ellipsizeMode: "tail",
73
+ children: adData.creative.title
74
+ })]
75
+ }), /*#__PURE__*/_jsx(Text, {
76
+ style: styles.description,
77
+ numberOfLines: 1,
78
+ ellipsizeMode: "tail",
79
+ children: adData.creative.description
80
+ })]
81
+ }), /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
82
+ onPress: handleClick,
83
+ accessible: true,
84
+ accessibilityLabel: "Visit Site Button",
85
+ children: /*#__PURE__*/_jsx(View, {
86
+ style: styles.button,
87
+ children: /*#__PURE__*/_jsx(Text, {
88
+ style: styles.buttonText,
89
+ children: "Visit Site"
90
+ })
91
+ })
92
+ })]
93
+ })]
94
+ })
95
+ });
96
+ };
97
+ const styles = StyleSheet.create({
98
+ container: {
99
+ backgroundColor: 'white',
100
+ borderRadius: 10
101
+ },
102
+ creative: {
103
+ resizeMode: 'contain',
104
+ borderTopLeftRadius: 10,
105
+ borderTopRightRadius: 10
106
+ },
107
+ options: {
108
+ flexDirection: 'row',
109
+ gap: 2,
110
+ position: 'absolute',
111
+ top: 5,
112
+ left: 5
113
+ },
114
+ option: {
115
+ color: 'green',
116
+ backgroundColor: '#00000022',
117
+ width: 20,
118
+ height: 20,
119
+ textAlign: 'center'
120
+ },
121
+ adContent: {
122
+ width: '100%',
123
+ backgroundColor: 'white',
124
+ flexDirection: 'row',
125
+ justifyContent: 'space-between',
126
+ paddingHorizontal: 10,
127
+ paddingVertical: 10,
128
+ alignItems: 'center',
129
+ borderBottomLeftRadius: 10,
130
+ borderBottomRightRadius: 10,
131
+ borderTopColor: '#00000022',
132
+ borderTopWidth: 1
133
+ },
134
+ logo: {
135
+ width: 35,
136
+ height: 35,
137
+ resizeMode: 'contain',
138
+ borderRadius: 2
139
+ },
140
+ textContainer: {
141
+ width: Dimensions.get('window').width - 150
142
+ },
143
+ titleRow: {
144
+ flexDirection: 'row',
145
+ alignItems: 'center',
146
+ gap: 5,
147
+ width: Dimensions.get('window').width - 200
148
+ },
149
+ adBadge: {
150
+ color: 'white',
151
+ backgroundColor: 'green',
152
+ width: 40,
153
+ borderRadius: 4,
154
+ textAlign: 'center'
155
+ },
156
+ title: {
157
+ color: 'black'
158
+ },
159
+ description: {
160
+ color: 'black'
161
+ },
162
+ button: {
163
+ paddingHorizontal: 10,
164
+ paddingVertical: 5,
165
+ borderWidth: 1,
166
+ borderColor: 'green',
167
+ borderRadius: 5,
168
+ alignItems: 'center',
169
+ justifyContent: 'center',
170
+ height: 40
171
+ },
172
+ buttonText: {
173
+ color: 'green'
174
+ }
175
+ });
176
+ //# sourceMappingURL=BannerAd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useState","Dimensions","Image","Linking","StyleSheet","Text","View","TouchableWithoutFeedback","Adgeist","jsx","_jsx","jsxs","_jsxs","BannerAd","dataPublisherId","dataAdSlot","width","height","adData","setAdData","response","fetchCreative","creative","data","sendCreativeAnalytic","_id","error","console","handleClick","ctaUrl","openURL","catch","err","fileUrl","accessible","accessibilityLabel","children","style","styles","container","source","uri","options","option","adContent","logo","textContainer","titleRow","adBadge","title","numberOfLines","ellipsizeMode","description","onPress","button","buttonText","create","backgroundColor","borderRadius","resizeMode","borderTopLeftRadius","borderTopRightRadius","flexDirection","gap","position","top","left","color","textAlign","justifyContent","paddingHorizontal","paddingVertical","alignItems","borderBottomLeftRadius","borderBottomRightRadius","borderTopColor","borderTopWidth","get","borderWidth","borderColor"],"sourceRoot":"../../../src","sources":["components/BannerAd.tsx"],"mappings":"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","ignoreList":[]}