@thealteroffice/react-native-adgeist 0.0.36-beta → 0.0.37-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Adgeist.podspec +7 -4
- package/ios/AdgeistImpl.swift +11 -130
- package/ios/Frameworks/AdgeistKit.xcframework/Info.plist +44 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64/AdgeistKit.framework/AdgeistKit +0 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64/AdgeistKit.framework/Headers/AdgeistKit.h +11 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64/AdgeistKit.framework/Info.plist +0 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64/AdgeistKit.framework/Modules/AdgeistKit.swiftmodule/arm64-apple-ios.abi.json +2429 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64/AdgeistKit.framework/Modules/AdgeistKit.swiftmodule/arm64-apple-ios.private.swiftinterface +66 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64/AdgeistKit.framework/Modules/AdgeistKit.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64/AdgeistKit.framework/Modules/AdgeistKit.swiftmodule/arm64-apple-ios.swiftinterface +66 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64/AdgeistKit.framework/Modules/module.modulemap +6 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64/AdgeistKit.framework/PrivacyInfo.xcprivacy +46 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64/AdgeistKit.framework/ad_view.html +57 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64/AdgeistKit.framework/adcard-beta.js +556 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/AdgeistKit +0 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/Headers/AdgeistKit.h +11 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/Info.plist +0 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/Modules/AdgeistKit.swiftmodule/arm64-apple-ios-simulator.abi.json +2429 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/Modules/AdgeistKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +66 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/Modules/AdgeistKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/Modules/AdgeistKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +66 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/Modules/AdgeistKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +2429 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/Modules/AdgeistKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +66 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/Modules/AdgeistKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/Modules/AdgeistKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +66 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/Modules/module.modulemap +6 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/PrivacyInfo.xcprivacy +46 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/ad_view.html +57 -0
- package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64_x86_64-simulator/AdgeistKit.framework/adcard-beta.js +556 -0
- package/ios/NativeHTML5AdManager.mm +34 -9
- package/ios/NativeHTML5AdView.swift +48 -107
- package/lib/module/constants.js +1 -1
- package/lib/typescript/src/constants.d.ts +1 -1
- package/package.json +9 -2
- package/src/constants.ts +1 -1
package/Adgeist.podspec
CHANGED
|
@@ -10,13 +10,16 @@ Pod::Spec.new do |s|
|
|
|
10
10
|
s.license = package["license"]
|
|
11
11
|
s.authors = package["author"]
|
|
12
12
|
|
|
13
|
-
s.platforms = { :ios =>
|
|
13
|
+
s.platforms = { :ios => "15.6" }
|
|
14
14
|
s.source = { :git => "https://github.com/the-alter-office/react-native-adgeist.git", :tag => "#{s.version}" }
|
|
15
15
|
|
|
16
|
-
s.source_files = "ios
|
|
17
|
-
s.private_header_files = "ios
|
|
16
|
+
s.source_files = "ios/*.{h,m,mm,cpp,swift}"
|
|
17
|
+
s.private_header_files = "ios/*.h"
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
unless File.exist?(File.join(__dir__, "ios/Frameworks/AdgeistKit.xcframework/Info.plist"))
|
|
20
|
+
raise Pod::Informative, "AdgeistKit.xcframework is missing. Run `yarn fetch-adgeistkit` in react-native-adgeist."
|
|
21
|
+
end
|
|
22
|
+
s.vendored_frameworks = "ios/Frameworks/AdgeistKit.xcframework"
|
|
20
23
|
|
|
21
24
|
# Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
|
|
22
25
|
# See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
|
package/ios/AdgeistImpl.swift
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import Foundation
|
|
2
2
|
import AdgeistKit
|
|
3
|
+
import AppTrackingTransparency
|
|
3
4
|
import React
|
|
4
5
|
|
|
5
6
|
@objc public class AdgeistImpl: NSObject {
|
|
6
|
-
|
|
7
|
-
private var getAd: FetchCreative?
|
|
8
|
-
private var postCreativeAnalytic: CreativeAnalytics?
|
|
9
|
-
|
|
7
|
+
|
|
10
8
|
@objc public func initializeSdk(
|
|
11
9
|
customBidRequestBackendDomain: String?,
|
|
12
10
|
customPackageOrBundleID: String?,
|
|
@@ -15,24 +13,14 @@ import React
|
|
|
15
13
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
16
14
|
rejecter: @escaping RCTPromiseRejectBlock
|
|
17
15
|
) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
customPackageOrBundleID: customPackageOrBundleID,
|
|
21
|
-
customAdgeistAppID: customAdgeistAppID,
|
|
22
|
-
customVersioning: customVersioning)
|
|
23
|
-
getAd = adgeistInstance?.getCreative()
|
|
24
|
-
postCreativeAnalytic = adgeistInstance?.postCreativeAnalytics()
|
|
25
|
-
resolver("SDK initialized with domain: \(customBidRequestBackendDomain ?? "default")")
|
|
26
|
-
} catch {
|
|
27
|
-
rejecter("INIT_FAILED", "SDK initialization failed", error)
|
|
28
|
-
}
|
|
16
|
+
AdgeistCore.shared.initialize()
|
|
17
|
+
resolver("SDK initialized")
|
|
29
18
|
}
|
|
30
19
|
|
|
31
20
|
@objc public func destroySdk(
|
|
32
21
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
33
22
|
rejecter: @escaping RCTPromiseRejectBlock
|
|
34
23
|
) {
|
|
35
|
-
AdgeistCore.destroy()
|
|
36
24
|
resolver("SDK destroyed")
|
|
37
25
|
}
|
|
38
26
|
|
|
@@ -42,90 +30,18 @@ import React
|
|
|
42
30
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
43
31
|
rejecter: @escaping RCTPromiseRejectBlock
|
|
44
32
|
) {
|
|
45
|
-
|
|
46
|
-
rejecter("SDK_NOT_INITIALIZED", "SDK not initialized. Call initializeSdk() first.", nil)
|
|
47
|
-
return
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
getAd.fetchCreative(
|
|
51
|
-
adUnitID: adSpaceId,
|
|
52
|
-
buyType: buyType
|
|
53
|
-
) { adData in
|
|
54
|
-
// Check if the request was successful
|
|
55
|
-
if adData.isSuccess, let creativeData = adData.data {
|
|
56
|
-
var result: [String: Any] = [:]
|
|
57
|
-
|
|
58
|
-
// Use Mirror to reflect the object's properties
|
|
59
|
-
let mirror = Mirror(reflecting: creativeData)
|
|
60
|
-
for child in mirror.children {
|
|
61
|
-
if let label = child.label {
|
|
62
|
-
result[label] = child.value
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
resolver(result)
|
|
67
|
-
} else {
|
|
68
|
-
// Return error from AdData
|
|
69
|
-
rejecter("AD_ERROR", adData.errorMessage, nil)
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
@objc public func setUserDetails(_ userDetailsDict: [String: Any]) {
|
|
76
|
-
let filtered = userDetailsDict.compactMapValues { value -> Any? in
|
|
77
|
-
(value is NSNull) ? nil : value
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
let userDetails = UserDetails(
|
|
81
|
-
userId: userDetailsDict["userId"] as? String,
|
|
82
|
-
userName: userDetailsDict["userName"] as? String,
|
|
83
|
-
email: userDetailsDict["email"] as? String,
|
|
84
|
-
phone: userDetailsDict["phone"] as? String
|
|
85
|
-
)
|
|
86
|
-
adgeistInstance?.setUserDetails(userDetails)
|
|
33
|
+
rejecter("NOT_SUPPORTED", "fetchCreative is not supported on iOS", nil)
|
|
87
34
|
}
|
|
88
35
|
|
|
36
|
+
@objc public func setUserDetails(_ userDetailsDict: [String: Any]) {}
|
|
89
37
|
|
|
90
38
|
@objc public func getConsentStatus(resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
|
91
|
-
|
|
92
|
-
rejecter("SDK_NOT_INITIALIZED", "SDK not initialized. Call initializeSdk() first.", nil)
|
|
93
|
-
return
|
|
94
|
-
}
|
|
95
|
-
let status = adgeistInstance.getConsentStatus()
|
|
96
|
-
resolver(status)
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
@objc public func updateConsentStatus(_ consent: Bool) {
|
|
100
|
-
adgeistInstance?.updateConsentStatus(consent)
|
|
39
|
+
resolver(ATTrackingManager.trackingAuthorizationStatus == .authorized)
|
|
101
40
|
}
|
|
102
41
|
|
|
103
|
-
@objc public func
|
|
104
|
-
let filtered = eventDict.compactMapValues { value -> Any? in
|
|
105
|
-
(value is NSNull) ? nil : value
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
guard let eventType = filtered["eventType"] as? String, !eventType.isEmpty else {
|
|
109
|
-
print("Event must have a non-empty eventType")
|
|
110
|
-
return
|
|
111
|
-
}
|
|
42
|
+
@objc public func updateConsentStatus(_ consent: Bool) {}
|
|
112
43
|
|
|
113
|
-
|
|
114
|
-
(value is NSNull) ? nil : value
|
|
115
|
-
} ?? [:]
|
|
116
|
-
|
|
117
|
-
let event = Event(eventType: eventType, eventProperties: eventProps)
|
|
118
|
-
adgeistInstance?.logEvent(event)
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
public func sendCreativeAnalytics(
|
|
122
|
-
analyticsRequest: AnalyticsRequest,
|
|
123
|
-
resolver: @escaping RCTPromiseResolveBlock,
|
|
124
|
-
rejecter: @escaping RCTPromiseRejectBlock
|
|
125
|
-
) {
|
|
126
|
-
postCreativeAnalytic?.sendTrackingDataV2(analyticsRequest: analyticsRequest)
|
|
127
|
-
resolver("Event sent successfully")
|
|
128
|
-
}
|
|
44
|
+
@objc public func logEvent(eventDict: [String: Any]) {}
|
|
129
45
|
|
|
130
46
|
@objc public func trackImpression(
|
|
131
47
|
campaignId: String,
|
|
@@ -137,7 +53,6 @@ import React
|
|
|
137
53
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
138
54
|
rejecter: @escaping RCTPromiseRejectBlock
|
|
139
55
|
) {
|
|
140
|
-
// Not supported by AdgeistKit iOS anymore; kept for JS API compatibility
|
|
141
56
|
resolver("trackImpression is not supported on iOS")
|
|
142
57
|
}
|
|
143
58
|
|
|
@@ -154,14 +69,7 @@ import React
|
|
|
154
69
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
155
70
|
rejecter: @escaping RCTPromiseRejectBlock
|
|
156
71
|
) {
|
|
157
|
-
|
|
158
|
-
.trackViewableImpression(
|
|
159
|
-
timeToVisible: Int64(timeToVisible),
|
|
160
|
-
scrollDepth: scrollDepth,
|
|
161
|
-
visibilityRatio: visibilityRatio,
|
|
162
|
-
viewTime: Int64(viewTime)
|
|
163
|
-
).build()
|
|
164
|
-
sendCreativeAnalytics(analyticsRequest: request, resolver: resolver, rejecter: rejecter)
|
|
72
|
+
resolver("trackView is not supported on iOS")
|
|
165
73
|
}
|
|
166
74
|
|
|
167
75
|
@objc public func trackTotalView(
|
|
@@ -175,7 +83,6 @@ import React
|
|
|
175
83
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
176
84
|
rejecter: @escaping RCTPromiseRejectBlock
|
|
177
85
|
) {
|
|
178
|
-
// Not supported by AdgeistKit iOS anymore; kept for JS API compatibility
|
|
179
86
|
resolver("trackTotalView is not supported on iOS")
|
|
180
87
|
}
|
|
181
88
|
|
|
@@ -188,9 +95,7 @@ import React
|
|
|
188
95
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
189
96
|
rejecter: @escaping RCTPromiseRejectBlock
|
|
190
97
|
) {
|
|
191
|
-
|
|
192
|
-
.trackClick().build()
|
|
193
|
-
sendCreativeAnalytics(analyticsRequest: request, resolver: resolver, rejecter: rejecter)
|
|
98
|
+
resolver("trackClick is not supported on iOS")
|
|
194
99
|
}
|
|
195
100
|
|
|
196
101
|
@objc public func trackVideoPlayback(
|
|
@@ -203,33 +108,9 @@ import React
|
|
|
203
108
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
204
109
|
rejecter: @escaping RCTPromiseRejectBlock
|
|
205
110
|
) {
|
|
206
|
-
// Not supported by AdgeistKit iOS anymore; kept for JS API compatibility
|
|
207
111
|
resolver("trackVideoPlayback is not supported on iOS")
|
|
208
112
|
}
|
|
209
113
|
|
|
210
|
-
// @objc public func trackVideoQuartile(
|
|
211
|
-
// campaignId: String,
|
|
212
|
-
// adSpaceId: String,
|
|
213
|
-
// bidId: String,
|
|
214
|
-
// bidMeta: String,
|
|
215
|
-
// buyType: String,
|
|
216
|
-
// quartile: String,
|
|
217
|
-
// resolver: @escaping RCTPromiseResolveBlock,
|
|
218
|
-
// rejecter: @escaping RCTPromiseRejectBlock
|
|
219
|
-
// ) {
|
|
220
|
-
// var builder = AnalyticsRequestDEPRECATED.AnalyticsRequestBuilderDEPRECATED(adUnitID: adSpaceId)
|
|
221
|
-
//
|
|
222
|
-
// let upperBuyType = buyType.uppercased()
|
|
223
|
-
// if upperBuyType == "CPM" {
|
|
224
|
-
// builder = builder.buildCPMRequest(campaignID: campaignId, bidID: bidId)
|
|
225
|
-
// } else if upperBuyType == "FIXED" {
|
|
226
|
-
// builder = builder.buildFIXEDRequest(metaData: bidMeta)
|
|
227
|
-
// }
|
|
228
|
-
//
|
|
229
|
-
// let request = builder.trackVideoQuartile(quartile: quartile).build()
|
|
230
|
-
// sendCreativeAnalytics(analyticsRequest: request, resolver: resolver, rejecter: rejecter)
|
|
231
|
-
// }
|
|
232
|
-
|
|
233
114
|
@objc public static func requiresMainQueueSetup() -> Bool {
|
|
234
115
|
return true
|
|
235
116
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>AvailableLibraries</key>
|
|
6
|
+
<array>
|
|
7
|
+
<dict>
|
|
8
|
+
<key>BinaryPath</key>
|
|
9
|
+
<string>AdgeistKit.framework/AdgeistKit</string>
|
|
10
|
+
<key>LibraryIdentifier</key>
|
|
11
|
+
<string>ios-arm64</string>
|
|
12
|
+
<key>LibraryPath</key>
|
|
13
|
+
<string>AdgeistKit.framework</string>
|
|
14
|
+
<key>SupportedArchitectures</key>
|
|
15
|
+
<array>
|
|
16
|
+
<string>arm64</string>
|
|
17
|
+
</array>
|
|
18
|
+
<key>SupportedPlatform</key>
|
|
19
|
+
<string>ios</string>
|
|
20
|
+
</dict>
|
|
21
|
+
<dict>
|
|
22
|
+
<key>BinaryPath</key>
|
|
23
|
+
<string>AdgeistKit.framework/AdgeistKit</string>
|
|
24
|
+
<key>LibraryIdentifier</key>
|
|
25
|
+
<string>ios-arm64_x86_64-simulator</string>
|
|
26
|
+
<key>LibraryPath</key>
|
|
27
|
+
<string>AdgeistKit.framework</string>
|
|
28
|
+
<key>SupportedArchitectures</key>
|
|
29
|
+
<array>
|
|
30
|
+
<string>arm64</string>
|
|
31
|
+
<string>x86_64</string>
|
|
32
|
+
</array>
|
|
33
|
+
<key>SupportedPlatform</key>
|
|
34
|
+
<string>ios</string>
|
|
35
|
+
<key>SupportedPlatformVariant</key>
|
|
36
|
+
<string>simulator</string>
|
|
37
|
+
</dict>
|
|
38
|
+
</array>
|
|
39
|
+
<key>CFBundlePackageType</key>
|
|
40
|
+
<string>XFWK</string>
|
|
41
|
+
<key>XCFrameworkFormatVersion</key>
|
|
42
|
+
<string>1.0</string>
|
|
43
|
+
</dict>
|
|
44
|
+
</plist>
|
|
Binary file
|
package/ios/Frameworks/AdgeistKit.xcframework/ios-arm64/AdgeistKit.framework/Headers/AdgeistKit.h
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
|
|
3
|
+
//! Project version number for AdgeistKit.
|
|
4
|
+
FOUNDATION_EXPORT double AdgeistKitVersionNumber;
|
|
5
|
+
|
|
6
|
+
//! Project version string for AdgeistKit.
|
|
7
|
+
FOUNDATION_EXPORT const unsigned char AdgeistKitVersionString[];
|
|
8
|
+
|
|
9
|
+
// In this header, you should import all the public headers of your framework using statements like #import <AdgeistKit/PublicHeader.h>
|
|
10
|
+
|
|
11
|
+
|