iOS

CocoaPods

CocoaPods is the easiest way to add devtodev into your iOS project.

1. Firstly, install CocoaPods using:

sudo gem install cocoapods

2. In the project directory execute the command:

pod init

3. In the created Podfile add the dependency:

platform :ios, '9.0'

target 'TargetName' do
  use_frameworks!
  pod 'DTDAnalytics', '~> 2.0.0'
end

4. Finally, run the command in your Xcode project directory:

pod install

CocoaPods should download and install the devtodev library, and create a new Xcode workspace. Open this workspace in Xcode.

Swift Package Manager

In progress...

Manual installation

1. Download the latest version of devtodev SDK from the repository

3. Add frameworks:

  • AppTrackingTransparency.framework

  • AdSupport.framework

4. Add initialization todidFinishLaunchingWithOptions method:

let config = DTDAnalyticsConfiguration()
config.logLevel = .error
DTDAnalytics.initialize(applicationKey: "App ID", configuration: config)
  • An App ID can be found in the settings of the respective app in devtodev (Settings → SDK → Integration → Credentials).

  • config - an object instance of DTDAnalyticsConfiguration, which is used for specifying additional properties during the initialization.

DTDAnalyticsConfiguration

Example:

let config = DTDAnalyticsConfiguration()
config.currentLevel = 1
config.userId = "CustomUserID"
config.trackingAvailability = .enable
config.logLevel = .error
DTDAnalytics.initialize(applicationKey: "appKey", configuration: config)

Integration features

For Objective-C

  1. Create Bridging-Header. To do this, you need to add any swift file to the project (don’t delete it later) and choose ‘Create Bridging Header’ in the offered dialog box.

  2. Make sure that the ‘Build Settings’ for ‘Defines Module’ value evaluates to ‘YES’.

  3. While importing, use: #import <DTDAnalytics/DTDAnalytics-Swift.h>

For SwiftUI

For SDK to function properly, it needs to be integrated at the earliest moment of the app launch. It is recommended that you use the following method of main entry point initialization:

@main
struct TestSwiftUIApp: App {
    init() {
        let config = DTDAnalyticsConfiguration()
        config.logLevel = .debug
        DTDAnalytics.initialize(applicationKey: "appKey", configuration: config)
    }

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

Last updated

#989: best practices - improved readability

Change request updated