SwiftSDK

Swift SDK for TelemetryDeck, a privacy-conscious analytics service for apps and websites.

OTHER License

Stars
155
Committers
22

Bot releases are hidden (Show)

SwiftSDK - 2.3.0 Latest Release

Published by Jeehut 3 months ago

What's Changed

Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.2.4...2.3.0

SwiftSDK - 2.2.4

Published by Jeehut 3 months ago

What's Changed

Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.2.3...2.2.4

SwiftSDK - 2.2.3

Published by Jeehut 3 months ago

What's Changed

Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.2.2...2.2.3

SwiftSDK - 2.2.2

Published by Jeehut 4 months ago

What's Changed

Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.2.1...2.2.2

SwiftSDK - 2.2.1

Published by Jeehut 4 months ago

What's Changed

Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.2.0...2.2.1

SwiftSDK - 2.2.0

Published by winsmith 4 months ago

This release adds support for sending Navigation signals. Navigation signals will allow you to better understand how users are navigating through your app in the future. We're releasing this part of the feature early so that you can get a head start at collecting this data.

What's Changed

Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.1.1...2.2.0

SwiftSDK - 2.1.1

Published by Jeehut 5 months ago

What's Changed

  • Fixed #157 to fix build issue on visionOS

Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.1.0...2.1.1

SwiftSDK - 2.1.0

Published by Jeehut 5 months ago

This release adds the convenience methods mentioned in the new Purchases Preset and Errors Preset doc articles.

What's Changed

Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.0.0...2.1.0

SwiftSDK - 2.0.0

Published by Jeehut 5 months ago

While there are no source-breaking changes in this 2.0 release, we deprecated a couple of APIs as we decided to streamline the naming conventions within our first SDK for a more consistent and clear future. You should be able to upgrade to 2.0 without any build errors, and the deprecation warnings & fix-its should guide you to be prepared for the future of TelemetryDeck!

To upgrade, you need to explicitly change the version specifier to 2.0.0 < 3.0.0 in your projects "Package Dependencies" settings.

This release represents the "Grand Rename" of this SDK, which doesn't end with the API calls, but the very GitHub repository itself was renamed from "SwiftClient" to "SwiftSDK" to be consistent with all our other SDKs. Thanks to GitHub redirections, your projects should not be affected by this change.

Most notably, the following APIs were renamed:

  1. TelemetryManager.send("A", with: ["a": "b"]) is now TelemetryDeck.signal("A", parameters: ["a": "b"])
  2. The optional for parameter to override the user ID was renamed to customUserID to be more clear
  3. TelemetryManager.initialize(with:) is now TelemetryDeck.initialize(config:) (fix-it available)
  4. TelemetryManagerConfiguration was renamed to TelemetryDeck.Config (without warnings)
  5. import TelemetryClient was renamed import TelemetryDeck, but you need to link TelemetryDeck to your project to switch

The Swift Setup Guide was updated accordingly.

We also renamed our existing parameters, but with a thoughtful approach that won't break any existing insights (we are still sending the old names). Most notably, all new parameters are now namespaced with TelemetryDeck. so there can be no name clash with your custom parameters. New useful parameters were introduced as well, such as TelemetryDeck.UserPreference.language which gives you the language the user has set as their preference on their device, so you can learn which new languages you might want to support.

See our Grand Rename article for a full list of new parameters and a table of old & new names.

What's Changed

Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/1.5.1...2.0.0

SwiftSDK - Version 1.5.1

Published by winsmith 9 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.5.0...1.5.1

SwiftSDK - Version 1.5.0

Published by winsmith 11 months ago

This release prepares us for iOS 17, improves privacy, and improves VisionOS compatibility. Thanks a lot to our wonderful contributors <3

What's Changed

New Contributors

Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.4.4...1.5.0

SwiftSDK - Version 1.4.4

Published by winsmith over 1 year ago

This version adds a lot of small improvements by our amazing customers and supporters. It also correctly detect's Apple's visionOS running on the Vision Pro Simulator (we can't test it on actual hardware yet).

What's Changed

New Contributors

Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.4.3...1.4.4

SwiftSDK - Version 1.4.3

Published by winsmith over 1 year ago

This version adds support for integrating TelemetryDeck via CocoaPods, for projects who prefer CocoaPods over Swift Package Manager.

Thanks a lot to @chrisvasselli for the contribution!

What's Changed

New Contributors

Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.4.2...1.5.0

SwiftSDK - Version 1.4.2

Published by winsmith over 1 year ago

This version fixes a bug #88 that made it so the isAppStore property would always be reported as false.

If you're filtering for isAppStore, a way around that is to add an "and" filter containing a "not isSimulator = true" and a "not isTestFlight = true".

SwiftSDK - Version 1.4.1

Published by winsmith almost 2 years ago

This bugfix update fixes a crash due to objects being released too early. Thanks a lot to @andreyz for the contribution!

What's Changed

New Contributors

Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.4.0...1.4.1

SwiftSDK - Version 1.4.0

Published by winsmith almost 2 years ago

This version adds support for sending numerical values in Signals via the new floatValue property. Any signal you send can have one floatValue (which, annoyingly, maps to a Double type in Swift). On the server, you'll be able to aggregate, min, max and average these values.

What's Changed

SwiftSDK - Version 1.3.0

Published by winsmith almost 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.2.0...1.3.0

SwiftSDK - Version 1.2.0

Published by winsmith about 2 years ago

Oh wow, big release! We've fixed various bugs, especially ones that would report inconsistent values on macOS, such as for isAppStore.

We're also giving you the option to specify a salt before hashing user identifiers, slightly improving cryptographic security.

What's Changed

New Contributors

Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.1.6...1.2.0

SwiftSDK - Version 1.1.6

Published by winsmith almost 3 years ago

This version adds a terminate method as well as the isInitialized property. Thanks to @StarLard for your contribution!

Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.1.5...1.1.6

SwiftSDK - Version 1.1.5

Published by winsmith almost 3 years ago

This release brings you Testing Mode, and better OS Version reporting.

Testing Mode

Previously, when you ran your app locally with the Build Configuration set to DEBUG, TelemetryManager would not send any signals at all. This is because otherwise these testing signals would pollute your actual data, which is not something we desire. However, that made it hard to test wether your configuration actually works, and to prepare reasonable Insights before your launch.

This is why we're introducing Testing Mode. When you run your app in the DEBUG Build Configuration, i.e. directly from Xcode, TelemetryManager will now send all signals, but tag them as Testing Mode signals. In an upcoming version of the app, you will be able to see those signals separately, so you can immediately confirm that your code is working correctly without polluting the actual data.

Better OS Version Reporting

Previously signals sent by TelemetryManager would include the full system version string, e.g. iOS 15.0.1. However, this makes it hard to create an Insight to answer the question: How many of my users are already on iOS 15? To help with that, we added two more default payload keys:

  • majorSystemVersion, which reports just the major system version, i.e. iOS 15
  • majorMinorSystemVersion, which reports major and minor version, but not the point release, e.g. iOS 15.0

We left the existing systemVersion payload key untouched. You can continue to use it as is.

And an internal change: We updated the code to determine the system version to always use processInfo.operatingSystemVersion on all platforms. This should not change anything, but it makes the code smaller and easier.

Enjoy, and have a wonderful time with TelemetryDeck. Thanks to @conath for contributing code to this release. We love getting your pull request!

Best

Lisa & Daniel, who make TelemetryDeck

Package Rankings
Top 26.91% on Cocoapods.org
Top 23.49% on Swiftpackageindex.com