Swift SDK for TelemetryDeck, a privacy-conscious analytics service for apps and websites.
OTHER License
Bot releases are hidden (Show)
Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.2.4...2.3.0
Published by Jeehut 3 months ago
terminate()
to the new TelemetryDeck
domain. Fixes https://github.com/TelemetryDeck/SwiftSDK/issues/171 by @Jeehut.Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.2.3...2.2.4
Published by Jeehut 3 months ago
Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.2.2...2.2.3
Published by Jeehut 4 months ago
Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.2.1...2.2.2
Published by Jeehut 4 months ago
Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.2.0...2.2.1
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.
Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.1.1...2.2.0
Published by Jeehut 5 months ago
Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.1.0...2.1.1
Published by Jeehut 5 months ago
This release adds the convenience methods mentioned in the new Purchases Preset and Errors Preset doc articles.
Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/2.0.0...2.1.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:
TelemetryManager.send("A", with: ["a": "b"])
is now TelemetryDeck.signal("A", parameters: ["a": "b"])
for
parameter to override the user ID was renamed to customUserID
to be more clearTelemetryManager.initialize(with:)
is now TelemetryDeck.initialize(config:)
(fix-it available)TelemetryManagerConfiguration
was renamed to TelemetryDeck.Config
(without warnings)import TelemetryClient
was renamed import TelemetryDeck
, but you need to link TelemetryDeck
to your project to switchThe 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.
Full Changelog: https://github.com/TelemetryDeck/SwiftSDK/compare/1.5.1...2.0.0
Published by winsmith 9 months ago
DefaultSignalPayload
Public Access by @nevillco in https://github.com/TelemetryDeck/SwiftClient/pull/126
Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.5.0...1.5.1
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
waitsForConnectivity
by @Finnvoor in https://github.com/TelemetryDeck/SwiftClient/pull/114
Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.4.4...1.5.0
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).
Signal.isAppStore
by using #elseif
by @mrackwitz in https://github.com/TelemetryDeck/SwiftClient/pull/103
Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.4.3...1.4.4
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!
Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.4.2...1.5.0
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".
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!
unowned self
by @andreyz in https://github.com/TelemetryDeck/SwiftClient/pull/84
Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.4.0...1.4.1
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.
Published by winsmith almost 2 years ago
analyticsDisabled
to allow an opt out of analytics by @kimar in https://github.com/TelemetryDeck/SwiftClient/pull/76
Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.2.0...1.3.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.
Full Changelog: https://github.com/TelemetryDeck/SwiftClient/compare/1.1.6...1.2.0
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
Published by winsmith almost 3 years ago
This release brings you Testing Mode, and better OS Version reporting.
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.
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