@capawesome/capacitor-singular 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.
- package/CapawesomeCapacitorSingular.podspec +19 -0
- package/LICENSE +21 -0
- package/Package.swift +26 -0
- package/README.md +1262 -0
- package/android/build.gradle +61 -0
- package/android/src/main/AndroidManifest.xml +5 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/Singular.java +443 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/SingularHelper.java +53 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/SingularPlugin.java +336 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/CustomException.java +20 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/CustomExceptions.java +34 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/events/DeviceAttributionInfoReceivedEvent.java +48 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/events/SdidReceivedEvent.java +23 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/events/SdidSetEvent.java +23 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/events/SingularLinkResolvedEvent.java +44 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/options/CreateReferrerShortLinkOptions.java +61 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/options/InitializeOptions.java +168 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/options/SetCustomUserIdOptions.java +24 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/options/SetDeviceTokenOptions.java +24 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/options/SetGlobalPropertyOptions.java +44 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/options/SetLimitAdvertisingIdentifiersOptions.java +22 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/options/SetLimitDataSharingOptions.java +22 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/options/TrackAdRevenueOptions.java +157 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/options/TrackEventOptions.java +35 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/options/TrackRevenueOptions.java +56 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/options/UnsetGlobalPropertyOptions.java +24 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/results/CreateReferrerShortLinkResult.java +23 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/results/GetGlobalPropertiesResult.java +31 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/results/GetLimitDataSharingResult.java +22 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/classes/results/IsAllTrackingStoppedResult.java +22 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/interfaces/Callback.java +5 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/interfaces/EmptyCallback.java +5 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/interfaces/NonEmptyResultCallback.java +7 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/singular/interfaces/Result.java +7 -0
- package/android/src/main/res/.gitkeep +0 -0
- package/dist/docs.json +2014 -0
- package/dist/esm/definitions.d.ts +925 -0
- package/dist/esm/definitions.js +39 -0
- package/dist/esm/definitions.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/web.d.ts +27 -0
- package/dist/esm/web.js +73 -0
- package/dist/esm/web.js.map +1 -0
- package/dist/plugin.cjs.js +126 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +129 -0
- package/dist/plugin.js.map +1 -0
- package/ios/Plugin/Classes/Events/DeviceAttributionInfoReceivedEvent.swift +43 -0
- package/ios/Plugin/Classes/Events/SdidReceivedEvent.swift +16 -0
- package/ios/Plugin/Classes/Events/SdidSetEvent.swift +16 -0
- package/ios/Plugin/Classes/Events/SingularLinkResolvedEvent.swift +28 -0
- package/ios/Plugin/Classes/Events/SkanConversionValueUpdatedEvent.swift +30 -0
- package/ios/Plugin/Classes/Options/CreateReferrerShortLinkOptions.swift +25 -0
- package/ios/Plugin/Classes/Options/InitializeOptions.swift +44 -0
- package/ios/Plugin/Classes/Options/SetCustomUserIdOptions.swift +13 -0
- package/ios/Plugin/Classes/Options/SetDeviceTokenOptions.swift +30 -0
- package/ios/Plugin/Classes/Options/SetGlobalPropertyOptions.swift +20 -0
- package/ios/Plugin/Classes/Options/SetLimitAdvertisingIdentifiersOptions.swift +13 -0
- package/ios/Plugin/Classes/Options/SetLimitDataSharingOptions.swift +13 -0
- package/ios/Plugin/Classes/Options/SkanUpdateConversionValueOptions.swift +27 -0
- package/ios/Plugin/Classes/Options/TrackAdRevenueOptions.swift +47 -0
- package/ios/Plugin/Classes/Options/TrackEventOptions.swift +15 -0
- package/ios/Plugin/Classes/Options/TrackRevenueOptions.swift +22 -0
- package/ios/Plugin/Classes/Options/UnsetGlobalPropertyOptions.swift +13 -0
- package/ios/Plugin/Classes/Results/CreateReferrerShortLinkResult.swift +16 -0
- package/ios/Plugin/Classes/Results/GetGlobalPropertiesResult.swift +16 -0
- package/ios/Plugin/Classes/Results/GetLimitDataSharingResult.swift +16 -0
- package/ios/Plugin/Classes/Results/IsAllTrackingStoppedResult.swift +16 -0
- package/ios/Plugin/Classes/Results/SkanGetConversionValueResult.swift +20 -0
- package/ios/Plugin/Enums/CustomError.swift +88 -0
- package/ios/Plugin/Enums/SkanCoarseConversionValue.swift +31 -0
- package/ios/Plugin/Info.plist +24 -0
- package/ios/Plugin/Protocols/Result.swift +6 -0
- package/ios/Plugin/Singular.swift +341 -0
- package/ios/Plugin/SingularHelper.swift +40 -0
- package/ios/Plugin/SingularPlugin.swift +340 -0
- package/package.json +102 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class CreateReferrerShortLinkOptions: NSObject {
|
|
5
|
+
let baseLink: String
|
|
6
|
+
let passthroughParameters: [String: String]?
|
|
7
|
+
let referrerId: String
|
|
8
|
+
let referrerName: String
|
|
9
|
+
|
|
10
|
+
init(_ call: CAPPluginCall) throws {
|
|
11
|
+
guard let baseLink = call.getString("baseLink") else {
|
|
12
|
+
throw CustomError.baseLinkMissing
|
|
13
|
+
}
|
|
14
|
+
guard let referrerId = call.getString("referrerId") else {
|
|
15
|
+
throw CustomError.referrerIdMissing
|
|
16
|
+
}
|
|
17
|
+
guard let referrerName = call.getString("referrerName") else {
|
|
18
|
+
throw CustomError.referrerNameMissing
|
|
19
|
+
}
|
|
20
|
+
self.baseLink = baseLink
|
|
21
|
+
self.referrerId = referrerId
|
|
22
|
+
self.referrerName = referrerName
|
|
23
|
+
self.passthroughParameters = SingularHelper.createStringHashMapFromJSObject(call.getObject("passthroughParameters"))
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class InitializeOptions: NSObject {
|
|
5
|
+
let apiKey: String
|
|
6
|
+
let brandedDomains: [String]?
|
|
7
|
+
let customSdid: String?
|
|
8
|
+
let customUserId: String?
|
|
9
|
+
let espDomains: [String]?
|
|
10
|
+
let globalProperties: [String: String]?
|
|
11
|
+
let iosManualSkanConversionManagement: Bool
|
|
12
|
+
let iosSkAdNetworkEnabled: Bool
|
|
13
|
+
let iosWaitForTrackingAuthorizationTimeout: Int
|
|
14
|
+
let limitAdvertisingIdentifiers: Bool
|
|
15
|
+
let limitDataSharing: Bool?
|
|
16
|
+
let loggingEnabled: Bool
|
|
17
|
+
let secret: String
|
|
18
|
+
let sessionTimeout: Int
|
|
19
|
+
let shortLinkResolveTimeout: Int
|
|
20
|
+
|
|
21
|
+
init(_ call: CAPPluginCall) throws {
|
|
22
|
+
guard let apiKey = call.getString("apiKey") else {
|
|
23
|
+
throw CustomError.apiKeyMissing
|
|
24
|
+
}
|
|
25
|
+
guard let secret = call.getString("secret") else {
|
|
26
|
+
throw CustomError.secretMissing
|
|
27
|
+
}
|
|
28
|
+
self.apiKey = apiKey
|
|
29
|
+
self.secret = secret
|
|
30
|
+
self.brandedDomains = call.getArray("brandedDomains", String.self)
|
|
31
|
+
self.customSdid = call.getString("customSdid")
|
|
32
|
+
self.customUserId = call.getString("customUserId")
|
|
33
|
+
self.espDomains = call.getArray("espDomains", String.self)
|
|
34
|
+
self.globalProperties = SingularHelper.createStringHashMapFromJSObject(call.getObject("globalProperties"))
|
|
35
|
+
self.iosManualSkanConversionManagement = call.getBool("iosManualSkanConversionManagement", false)
|
|
36
|
+
self.iosSkAdNetworkEnabled = call.getBool("iosSkAdNetworkEnabled", true)
|
|
37
|
+
self.iosWaitForTrackingAuthorizationTimeout = call.getInt("iosWaitForTrackingAuthorizationTimeout", 0)
|
|
38
|
+
self.limitAdvertisingIdentifiers = call.getBool("limitAdvertisingIdentifiers", false)
|
|
39
|
+
self.limitDataSharing = call.getBool("limitDataSharing")
|
|
40
|
+
self.loggingEnabled = call.getBool("loggingEnabled", false)
|
|
41
|
+
self.sessionTimeout = call.getInt("sessionTimeout", 60)
|
|
42
|
+
self.shortLinkResolveTimeout = call.getInt("shortLinkResolveTimeout", 10)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class SetCustomUserIdOptions: NSObject {
|
|
5
|
+
let customUserId: String
|
|
6
|
+
|
|
7
|
+
init(_ call: CAPPluginCall) throws {
|
|
8
|
+
guard let customUserId = call.getString("customUserId") else {
|
|
9
|
+
throw CustomError.customUserIdMissing
|
|
10
|
+
}
|
|
11
|
+
self.customUserId = customUserId
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class SetDeviceTokenOptions: NSObject {
|
|
5
|
+
let token: Data
|
|
6
|
+
|
|
7
|
+
init(_ call: CAPPluginCall) throws {
|
|
8
|
+
guard let token = call.getString("token") else {
|
|
9
|
+
throw CustomError.tokenMissing
|
|
10
|
+
}
|
|
11
|
+
self.token = try SetDeviceTokenOptions.createDataFromHexString(token)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
private static func createDataFromHexString(_ hexString: String) throws -> Data {
|
|
15
|
+
guard !hexString.isEmpty, hexString.count % 2 == 0 else {
|
|
16
|
+
throw CustomError.tokenInvalid
|
|
17
|
+
}
|
|
18
|
+
var data = Data(capacity: hexString.count / 2)
|
|
19
|
+
var index = hexString.startIndex
|
|
20
|
+
while index < hexString.endIndex {
|
|
21
|
+
let nextIndex = hexString.index(index, offsetBy: 2)
|
|
22
|
+
guard let byte = UInt8(hexString[index..<nextIndex], radix: 16) else {
|
|
23
|
+
throw CustomError.tokenInvalid
|
|
24
|
+
}
|
|
25
|
+
data.append(byte)
|
|
26
|
+
index = nextIndex
|
|
27
|
+
}
|
|
28
|
+
return data
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class SetGlobalPropertyOptions: NSObject {
|
|
5
|
+
let key: String
|
|
6
|
+
let overrideExisting: Bool
|
|
7
|
+
let value: String
|
|
8
|
+
|
|
9
|
+
init(_ call: CAPPluginCall) throws {
|
|
10
|
+
guard let key = call.getString("key") else {
|
|
11
|
+
throw CustomError.keyMissing
|
|
12
|
+
}
|
|
13
|
+
guard let value = call.getString("value") else {
|
|
14
|
+
throw CustomError.valueMissing
|
|
15
|
+
}
|
|
16
|
+
self.key = key
|
|
17
|
+
self.value = value
|
|
18
|
+
self.overrideExisting = call.getBool("overrideExisting", true)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class SetLimitAdvertisingIdentifiersOptions: NSObject {
|
|
5
|
+
let limit: Bool
|
|
6
|
+
|
|
7
|
+
init(_ call: CAPPluginCall) throws {
|
|
8
|
+
guard let limit = call.getBool("limit") else {
|
|
9
|
+
throw CustomError.limitMissing
|
|
10
|
+
}
|
|
11
|
+
self.limit = limit
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class SetLimitDataSharingOptions: NSObject {
|
|
5
|
+
let limit: Bool
|
|
6
|
+
|
|
7
|
+
init(_ call: CAPPluginCall) throws {
|
|
8
|
+
guard let limit = call.getBool("limit") else {
|
|
9
|
+
throw CustomError.limitMissing
|
|
10
|
+
}
|
|
11
|
+
self.limit = limit
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class SkanUpdateConversionValueOptions: NSObject {
|
|
5
|
+
let coarseValue: SkanCoarseConversionValue?
|
|
6
|
+
let lockWindow: Bool?
|
|
7
|
+
let value: Int
|
|
8
|
+
|
|
9
|
+
init(_ call: CAPPluginCall) throws {
|
|
10
|
+
guard let value = call.getInt("value") else {
|
|
11
|
+
throw CustomError.valueMissing
|
|
12
|
+
}
|
|
13
|
+
self.value = value
|
|
14
|
+
self.coarseValue = try SkanUpdateConversionValueOptions.createCoarseValueFromCall(call)
|
|
15
|
+
self.lockWindow = call.getBool("lockWindow")
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
private static func createCoarseValueFromCall(_ call: CAPPluginCall) throws -> SkanCoarseConversionValue? {
|
|
19
|
+
guard let coarseValue = call.getString("coarseValue") else {
|
|
20
|
+
return nil
|
|
21
|
+
}
|
|
22
|
+
guard let value = SkanCoarseConversionValue(rawValue: coarseValue) else {
|
|
23
|
+
throw CustomError.coarseValueInvalid
|
|
24
|
+
}
|
|
25
|
+
return value
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class TrackAdRevenueOptions: NSObject {
|
|
5
|
+
let adGroupId: String?
|
|
6
|
+
let adGroupName: String?
|
|
7
|
+
let adGroupPriority: String?
|
|
8
|
+
let adGroupType: String?
|
|
9
|
+
let adPlacementName: String?
|
|
10
|
+
let adPlatform: String
|
|
11
|
+
let adType: String?
|
|
12
|
+
let adUnitId: String?
|
|
13
|
+
let adUnitName: String?
|
|
14
|
+
let currency: String
|
|
15
|
+
let impressionId: String?
|
|
16
|
+
let networkName: String?
|
|
17
|
+
let placementId: String?
|
|
18
|
+
let precision: String?
|
|
19
|
+
let revenue: Double
|
|
20
|
+
|
|
21
|
+
init(_ call: CAPPluginCall) throws {
|
|
22
|
+
guard let adPlatform = call.getString("adPlatform") else {
|
|
23
|
+
throw CustomError.adPlatformMissing
|
|
24
|
+
}
|
|
25
|
+
guard let currency = call.getString("currency") else {
|
|
26
|
+
throw CustomError.currencyMissing
|
|
27
|
+
}
|
|
28
|
+
guard let revenue = call.getDouble("revenue") else {
|
|
29
|
+
throw CustomError.revenueMissing
|
|
30
|
+
}
|
|
31
|
+
self.adPlatform = adPlatform
|
|
32
|
+
self.currency = currency
|
|
33
|
+
self.revenue = revenue
|
|
34
|
+
self.adGroupId = call.getString("adGroupId")
|
|
35
|
+
self.adGroupName = call.getString("adGroupName")
|
|
36
|
+
self.adGroupPriority = call.getString("adGroupPriority")
|
|
37
|
+
self.adGroupType = call.getString("adGroupType")
|
|
38
|
+
self.adPlacementName = call.getString("adPlacementName")
|
|
39
|
+
self.adType = call.getString("adType")
|
|
40
|
+
self.adUnitId = call.getString("adUnitId")
|
|
41
|
+
self.adUnitName = call.getString("adUnitName")
|
|
42
|
+
self.impressionId = call.getString("impressionId")
|
|
43
|
+
self.networkName = call.getString("networkName")
|
|
44
|
+
self.placementId = call.getString("placementId")
|
|
45
|
+
self.precision = call.getString("precision")
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class TrackEventOptions: NSObject {
|
|
5
|
+
let attributes: [String: Any]?
|
|
6
|
+
let name: String
|
|
7
|
+
|
|
8
|
+
init(_ call: CAPPluginCall) throws {
|
|
9
|
+
guard let name = call.getString("name") else {
|
|
10
|
+
throw CustomError.nameMissing
|
|
11
|
+
}
|
|
12
|
+
self.name = name
|
|
13
|
+
self.attributes = SingularHelper.createHashMapFromJSObject(call.getObject("attributes"))
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class TrackRevenueOptions: NSObject {
|
|
5
|
+
let amount: Double
|
|
6
|
+
let attributes: [String: Any]?
|
|
7
|
+
let currency: String
|
|
8
|
+
let eventName: String?
|
|
9
|
+
|
|
10
|
+
init(_ call: CAPPluginCall) throws {
|
|
11
|
+
guard let amount = call.getDouble("amount") else {
|
|
12
|
+
throw CustomError.amountMissing
|
|
13
|
+
}
|
|
14
|
+
guard let currency = call.getString("currency") else {
|
|
15
|
+
throw CustomError.currencyMissing
|
|
16
|
+
}
|
|
17
|
+
self.amount = amount
|
|
18
|
+
self.currency = currency
|
|
19
|
+
self.attributes = SingularHelper.createHashMapFromJSObject(call.getObject("attributes"))
|
|
20
|
+
self.eventName = call.getString("eventName")
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class UnsetGlobalPropertyOptions: NSObject {
|
|
5
|
+
let key: String
|
|
6
|
+
|
|
7
|
+
init(_ call: CAPPluginCall) throws {
|
|
8
|
+
guard let key = call.getString("key") else {
|
|
9
|
+
throw CustomError.keyMissing
|
|
10
|
+
}
|
|
11
|
+
self.key = key
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class CreateReferrerShortLinkResult: NSObject, Result {
|
|
5
|
+
private let link: String
|
|
6
|
+
|
|
7
|
+
init(link: String) {
|
|
8
|
+
self.link = link
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@objc public func toJSObject() -> AnyObject {
|
|
12
|
+
var result = JSObject()
|
|
13
|
+
result["link"] = link
|
|
14
|
+
return result as AnyObject
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class GetGlobalPropertiesResult: NSObject, Result {
|
|
5
|
+
private let properties: [AnyHashable: Any]?
|
|
6
|
+
|
|
7
|
+
init(properties: [AnyHashable: Any]?) {
|
|
8
|
+
self.properties = properties
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@objc public func toJSObject() -> AnyObject {
|
|
12
|
+
var result = JSObject()
|
|
13
|
+
result["properties"] = SingularHelper.createStringJSObjectFromHashMap(properties)
|
|
14
|
+
return result as AnyObject
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class GetLimitDataSharingResult: NSObject, Result {
|
|
5
|
+
private let limit: Bool
|
|
6
|
+
|
|
7
|
+
init(limit: Bool) {
|
|
8
|
+
self.limit = limit
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@objc public func toJSObject() -> AnyObject {
|
|
12
|
+
var result = JSObject()
|
|
13
|
+
result["limit"] = limit
|
|
14
|
+
return result as AnyObject
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class IsAllTrackingStoppedResult: NSObject, Result {
|
|
5
|
+
private let stopped: Bool
|
|
6
|
+
|
|
7
|
+
init(stopped: Bool) {
|
|
8
|
+
self.stopped = stopped
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@objc public func toJSObject() -> AnyObject {
|
|
12
|
+
var result = JSObject()
|
|
13
|
+
result["stopped"] = stopped
|
|
14
|
+
return result as AnyObject
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
|
|
4
|
+
@objc public class SkanGetConversionValueResult: NSObject, Result {
|
|
5
|
+
private let value: NSNumber?
|
|
6
|
+
|
|
7
|
+
init(value: NSNumber?) {
|
|
8
|
+
self.value = value
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@objc public func toJSObject() -> AnyObject {
|
|
12
|
+
var result = JSObject()
|
|
13
|
+
if let value = value {
|
|
14
|
+
result["value"] = value.intValue
|
|
15
|
+
} else {
|
|
16
|
+
result["value"] = NSNull()
|
|
17
|
+
}
|
|
18
|
+
return result as AnyObject
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
public enum CustomError: Error {
|
|
4
|
+
case adPlatformMissing
|
|
5
|
+
case amountMissing
|
|
6
|
+
case apiKeyMissing
|
|
7
|
+
case baseLinkMissing
|
|
8
|
+
case coarseValueInvalid
|
|
9
|
+
case conversionValueNotUpdated
|
|
10
|
+
case currencyMissing
|
|
11
|
+
case customUserIdMissing
|
|
12
|
+
case globalPropertyNotSet
|
|
13
|
+
case initializationFailed
|
|
14
|
+
case keyMissing
|
|
15
|
+
case limitMissing
|
|
16
|
+
case nameMissing
|
|
17
|
+
case notInitialized
|
|
18
|
+
case referrerIdMissing
|
|
19
|
+
case referrerNameMissing
|
|
20
|
+
case revenueMissing
|
|
21
|
+
case secretMissing
|
|
22
|
+
case shortLinkNotCreated
|
|
23
|
+
case tokenInvalid
|
|
24
|
+
case tokenMissing
|
|
25
|
+
case valueMissing
|
|
26
|
+
|
|
27
|
+
public var code: String? {
|
|
28
|
+
switch self {
|
|
29
|
+
case .initializationFailed:
|
|
30
|
+
return "INITIALIZATION_FAILED"
|
|
31
|
+
case .notInitialized:
|
|
32
|
+
return "NOT_INITIALIZED"
|
|
33
|
+
default:
|
|
34
|
+
return nil
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
extension CustomError: LocalizedError {
|
|
40
|
+
public var errorDescription: String? {
|
|
41
|
+
switch self {
|
|
42
|
+
case .adPlatformMissing:
|
|
43
|
+
return NSLocalizedString("adPlatform must be provided.", comment: "adPlatformMissing")
|
|
44
|
+
case .amountMissing:
|
|
45
|
+
return NSLocalizedString("amount must be provided.", comment: "amountMissing")
|
|
46
|
+
case .apiKeyMissing:
|
|
47
|
+
return NSLocalizedString("apiKey must be provided.", comment: "apiKeyMissing")
|
|
48
|
+
case .baseLinkMissing:
|
|
49
|
+
return NSLocalizedString("baseLink must be provided.", comment: "baseLinkMissing")
|
|
50
|
+
case .coarseValueInvalid:
|
|
51
|
+
return NSLocalizedString("coarseValue is invalid.", comment: "coarseValueInvalid")
|
|
52
|
+
case .conversionValueNotUpdated:
|
|
53
|
+
return NSLocalizedString("The conversion value could not be updated.", comment: "conversionValueNotUpdated")
|
|
54
|
+
case .currencyMissing:
|
|
55
|
+
return NSLocalizedString("currency must be provided.", comment: "currencyMissing")
|
|
56
|
+
case .customUserIdMissing:
|
|
57
|
+
return NSLocalizedString("customUserId must be provided.", comment: "customUserIdMissing")
|
|
58
|
+
case .globalPropertyNotSet:
|
|
59
|
+
return NSLocalizedString("The global property could not be set.", comment: "globalPropertyNotSet")
|
|
60
|
+
case .initializationFailed:
|
|
61
|
+
return NSLocalizedString("The SDK could not be initialized.", comment: "initializationFailed")
|
|
62
|
+
case .keyMissing:
|
|
63
|
+
return NSLocalizedString("key must be provided.", comment: "keyMissing")
|
|
64
|
+
case .limitMissing:
|
|
65
|
+
return NSLocalizedString("limit must be provided.", comment: "limitMissing")
|
|
66
|
+
case .nameMissing:
|
|
67
|
+
return NSLocalizedString("name must be provided.", comment: "nameMissing")
|
|
68
|
+
case .notInitialized:
|
|
69
|
+
return NSLocalizedString("The plugin has not been initialized yet.", comment: "notInitialized")
|
|
70
|
+
case .referrerIdMissing:
|
|
71
|
+
return NSLocalizedString("referrerId must be provided.", comment: "referrerIdMissing")
|
|
72
|
+
case .referrerNameMissing:
|
|
73
|
+
return NSLocalizedString("referrerName must be provided.", comment: "referrerNameMissing")
|
|
74
|
+
case .revenueMissing:
|
|
75
|
+
return NSLocalizedString("revenue must be provided.", comment: "revenueMissing")
|
|
76
|
+
case .secretMissing:
|
|
77
|
+
return NSLocalizedString("secret must be provided.", comment: "secretMissing")
|
|
78
|
+
case .shortLinkNotCreated:
|
|
79
|
+
return NSLocalizedString("The short link could not be created.", comment: "shortLinkNotCreated")
|
|
80
|
+
case .tokenInvalid:
|
|
81
|
+
return NSLocalizedString("token must be a hex-encoded string.", comment: "tokenInvalid")
|
|
82
|
+
case .tokenMissing:
|
|
83
|
+
return NSLocalizedString("token must be provided.", comment: "tokenMissing")
|
|
84
|
+
case .valueMissing:
|
|
85
|
+
return NSLocalizedString("value must be provided.", comment: "valueMissing")
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
public enum SkanCoarseConversionValue: String {
|
|
4
|
+
case high = "HIGH"
|
|
5
|
+
case low = "LOW"
|
|
6
|
+
case medium = "MEDIUM"
|
|
7
|
+
|
|
8
|
+
public init?(skanValue: Int) {
|
|
9
|
+
switch skanValue {
|
|
10
|
+
case 0:
|
|
11
|
+
self = .low
|
|
12
|
+
case 1:
|
|
13
|
+
self = .medium
|
|
14
|
+
case 2:
|
|
15
|
+
self = .high
|
|
16
|
+
default:
|
|
17
|
+
return nil
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public var skanValue: Int {
|
|
22
|
+
switch self {
|
|
23
|
+
case .high:
|
|
24
|
+
return 2
|
|
25
|
+
case .low:
|
|
26
|
+
return 0
|
|
27
|
+
case .medium:
|
|
28
|
+
return 1
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
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>CFBundleDevelopmentRegion</key>
|
|
6
|
+
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
|
7
|
+
<key>CFBundleExecutable</key>
|
|
8
|
+
<string>$(EXECUTABLE_NAME)</string>
|
|
9
|
+
<key>CFBundleIdentifier</key>
|
|
10
|
+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
11
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
12
|
+
<string>6.0</string>
|
|
13
|
+
<key>CFBundleName</key>
|
|
14
|
+
<string>$(PRODUCT_NAME)</string>
|
|
15
|
+
<key>CFBundlePackageType</key>
|
|
16
|
+
<string>FMWK</string>
|
|
17
|
+
<key>CFBundleShortVersionString</key>
|
|
18
|
+
<string>1.0</string>
|
|
19
|
+
<key>CFBundleVersion</key>
|
|
20
|
+
<string>$(CURRENT_PROJECT_VERSION)</string>
|
|
21
|
+
<key>NSPrincipalClass</key>
|
|
22
|
+
<string></string>
|
|
23
|
+
</dict>
|
|
24
|
+
</plist>
|