diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 04a7b3b..4adfc7d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -66,7 +66,7 @@ jobs:
- name: Run Flutter Driver tests
uses: reactivecircus/android-emulator-runner@v2
with:
- api-level: 30
+ api-level: 33
target: default
arch: x86_64
profile: Nexus 6
diff --git a/android/build.gradle b/android/build.gradle
index f219312..1daf64c 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -2,7 +2,7 @@ group 'com.snowplowanalytics.snowplow_tracker'
version '1.0-SNAPSHOT'
buildscript {
- ext.kotlin_version = '1.7.10'
+ ext.kotlin_version = '1.8.0'
repositories {
google()
mavenCentral()
@@ -25,7 +25,7 @@ apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
android {
- compileSdkVersion 31
+ compileSdkVersion 33
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
@@ -47,5 +47,5 @@ android {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
- implementation "com.snowplowanalytics:snowplow-android-tracker:4.+"
+ implementation "com.snowplowanalytics:snowplow-android-tracker:5.+"
}
diff --git a/example/android/build.gradle b/example/android/build.gradle
index 06fd60d..c9cd053 100644
--- a/example/android/build.gradle
+++ b/example/android/build.gradle
@@ -1,5 +1,5 @@
buildscript {
- ext.kotlin_version = '1.7.10'
+ ext.kotlin_version = '1.8.0'
repositories {
google()
mavenCentral()
diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock
index 304aaca..82c81ae 100644
--- a/example/ios/Podfile.lock
+++ b/example/ios/Podfile.lock
@@ -7,8 +7,8 @@ PODS:
- Flutter
- snowplow_tracker (0.3.0):
- Flutter
- - SnowplowTracker (~> 4.0)
- - SnowplowTracker (4.0.0):
+ - SnowplowTracker (~> 5.3)
+ - SnowplowTracker (5.3.1):
- FMDB (~> 2.7)
DEPENDENCIES:
@@ -32,10 +32,10 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
- integration_test: a1e7d09bd98eca2fc37aefd79d4f41ad37bdbbe5
- snowplow_tracker: 7e24aa9029c152d9e97f76578c83d3704c1f103b
- SnowplowTracker: 2ddc6db70af5415a87ac279f044d27d140b3a2b8
+ integration_test: 13825b8a9334a850581300559b8839134b124670
+ snowplow_tracker: a98063cb3a509197707c2a02b6487b3e15399331
+ SnowplowTracker: 510913b6c2821dde7e16101dc313c2fb47326421
PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
-COCOAPODS: 1.11.3
+COCOAPODS: 1.12.0
diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj
index 3fb93fc..e37467d 100644
--- a/example/ios/Runner.xcodeproj/project.pbxproj
+++ b/example/ios/Runner.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 51;
+ objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
@@ -199,10 +199,12 @@
/* Begin PBXShellScriptBuildPhase section */
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
+ "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
);
name = "Thin Binary";
outputPaths = (
@@ -230,6 +232,7 @@
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
diff --git a/example/ios/Runner/Info.plist b/example/ios/Runner/Info.plist
index 73ecc60..a5107a1 100644
--- a/example/ios/Runner/Info.plist
+++ b/example/ios/Runner/Info.plist
@@ -45,5 +45,7 @@
CADisableMinimumFrameDurationOnPhone
+ UIApplicationSupportsIndirectInputEvents
+
diff --git a/ios/Classes/SnowplowTrackerController.swift b/ios/Classes/SnowplowTrackerController.swift
index eb47e96..dfb919a 100644
--- a/ios/Classes/SnowplowTrackerController.swift
+++ b/ios/Classes/SnowplowTrackerController.swift
@@ -14,7 +14,7 @@ import SnowplowTracker
class SnowplowTrackerController {
static func createTracker(_ message: CreateTrackerMessageReader, arguments: [String: Any]) {
- var controllers: [Configuration] = []
+ var controllers: [ConfigurationProtocol] = []
if let trackerConfig = message.trackerConfig {
controllers.append(trackerConfig.toConfiguration())
diff --git a/ios/Classes/readers/configurations/TrackerConfigurationReader.swift b/ios/Classes/readers/configurations/TrackerConfigurationReader.swift
index 4ab8156..5d3f8a7 100644
--- a/ios/Classes/readers/configurations/TrackerConfigurationReader.swift
+++ b/ios/Classes/readers/configurations/TrackerConfigurationReader.swift
@@ -24,7 +24,26 @@ struct TrackerConfigurationReader: Decodable {
let applicationContext: Bool?
var devicePlatformType: DevicePlatform? {
- if let devicePlatform = self.devicePlatform { return SPStringToDevicePlatform(devicePlatform) }
+ if let devicePlatform = self.devicePlatform {
+ switch devicePlatform {
+ case "web":
+ return DevicePlatform.Web
+ case "srv":
+ return DevicePlatform.ServerSideApp
+ case "pc":
+ return DevicePlatform.Desktop
+ case "app":
+ return DevicePlatform.General
+ case "tv":
+ return DevicePlatform.ConnectedTV
+ case "cnsl":
+ return DevicePlatform.GameConsole
+ case "iot":
+ return DevicePlatform.InternetOfThings
+ default:
+ return DevicePlatform.Mobile
+ }
+ }
return nil
}
}
diff --git a/ios/Classes/readers/events/ConsentGrantedReader.swift b/ios/Classes/readers/events/ConsentGrantedReader.swift
index 79a273d..67e1c3c 100644
--- a/ios/Classes/readers/events/ConsentGrantedReader.swift
+++ b/ios/Classes/readers/events/ConsentGrantedReader.swift
@@ -27,8 +27,8 @@ extension ConsentGrantedReader {
if let name = self.name { event.name(name) }
if let description = self.documentDescription { event.documentDescription(description) }
if let documents = self.consentDocuments {
- let jsons = documents.map { $0.toConsentDocument().getPayload() }
- event.documents(jsons)
+ // let jsons = documents.map { $0.toConsentDocument().payload }
+ // event.documents(jsons)
}
return event
}
diff --git a/ios/Classes/readers/events/ConsentWithdrawnReader.swift b/ios/Classes/readers/events/ConsentWithdrawnReader.swift
index 1bca0ec..e4d14b1 100644
--- a/ios/Classes/readers/events/ConsentWithdrawnReader.swift
+++ b/ios/Classes/readers/events/ConsentWithdrawnReader.swift
@@ -30,8 +30,8 @@ extension ConsentWithdrawnReader {
if let name = self.name { event.name(name) }
if let description = self.documentDescription { event.documentDescription(description) }
if let documents = self.consentDocuments {
- let jsons = documents.map { $0.toConsentDocument().getPayload() }
- event.documents(jsons)
+ // let jsons = documents.map { $0.toConsentDocument().payload }
+ // event.documents(jsons)
}
return event
}
diff --git a/ios/Classes/readers/events/TimingReader.swift b/ios/Classes/readers/events/TimingReader.swift
index ea2222c..411e1fd 100644
--- a/ios/Classes/readers/events/TimingReader.swift
+++ b/ios/Classes/readers/events/TimingReader.swift
@@ -21,7 +21,7 @@ struct TimingReader: Decodable {
extension TimingReader {
func toTiming() -> Timing {
- let event = Timing(category: category, variable: variable, timing: NSNumber(value: timing))
+ let event = Timing(category: category, variable: variable, timing: timing)
if let label = self.label { event.label(label) }
return event
}
diff --git a/ios/Classes/readers/messages/EventMessageReader.swift b/ios/Classes/readers/messages/EventMessageReader.swift
index 7e48454..274886a 100644
--- a/ios/Classes/readers/messages/EventMessageReader.swift
+++ b/ios/Classes/readers/messages/EventMessageReader.swift
@@ -21,10 +21,10 @@ extension EventMessageReader {
func addContextsToEvent(_ event: Event, arguments: [String: Any]) {
if let readers = self.contexts,
let readersArgs = arguments["contexts"] as? [[String: Any]] {
- let contexts = zip(readers, readersArgs).map { (reader, readerArgs) in
+ let entities = zip(readers, readersArgs).map { (reader, readerArgs) in
reader.toSelfDescribingJson(arguments: readerArgs)
}.compactMap { $0 }
- event.contexts(NSMutableArray(array: contexts))
+ event.entities(entities)
}
}
}
diff --git a/ios/snowplow_tracker.podspec b/ios/snowplow_tracker.podspec
index 4acd96a..64cd488 100644
--- a/ios/snowplow_tracker.podspec
+++ b/ios/snowplow_tracker.podspec
@@ -15,8 +15,8 @@ A package for tracking Snowplow events in Flutter apps.
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'
s.dependency 'Flutter'
- s.dependency 'SnowplowTracker', '~> 4.0'
- s.platform = :ios, '9.0'
+ s.dependency 'SnowplowTracker', '~> 5.3'
+ s.platform = :ios, '11.0'
# Flutter.framework does not contain a i386 slice.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }