Client library for tracking user events for later analysis
Tracks for iOS is a client library used to help track events inside of an application. This project solely is responsible for collecting the events, storing them locally, and on a schedule send them out to the Automattic servers. Realistically this library is only useful for Automattic-based projects but the idea is to share what we've made.
You can install the Tracks component in your app via Swift Package Manager:
.package(url: "https://github.com/Automattic/Automattic-Tracks-iOS", from: "0.10.0")
You can import the entire library, using import AutomatticTracks
. Or, you can import just one particular part of the library:
// Reporting events to the internal 'Tracks' service
import AutomatticTracksEventLogging
// Uploading app logs and crash logs to internal monitoring tools
import AutomatticRemoteLogging
// Running experiments using the internal 'ExPlat' tool
import AutomatticExperiments
// Displaying crash logs in your app
import AutomatticCrashLoggingUI
Tracks can also be installed via CocoaPods, though we encourage users to use Swift Package Manager instead. To install via Cocoapods:
pod 'Automattic-Tracks-iOS'
- Create an instance of
TracksService
. - Set an appropriate event name prefix using the propert
eventNamePrefix
. As an Automattician you will know how to get a prefix allowed. - Keep this instance in a stable place and only instantiate one for your application.
Check out the TracksDemo project for more information on how to track events.
- Call
ExPlat.configure(platform:oauthToken:userAgent:anonId:)
to configure the experiment platform. (If you are usingTracksService
, it will make this call for you when you create the Tracks service.) - Register the experiments the app should use via
Explat.shared.register(experiments:)
. - Check
ExPlat.shared.experiment("my_experiment_name")
to determine which variant of an experiment should be used.
- Create an instance of
EventLogging
usinginit(dataSource:delegate:)
. - Call
enqueueLogForUpload(log:)
to schedule log files for uploading.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Original source: https://github.com/Automattic/Automattic-Tracks-iOS
Created by initially: Aaron Douglas @astralbodies
Automattic-Tracks-iOS is available under the MIT license. See the LICENSE file for more info.