iOS
CocoaPods
CocoaPods is the easiest way to add devtodev into your iOS project.
1. Firstly, install CocoaPods using:
2. In the project directory execute the command:
3. In the created Podfile add the dependency:
4. Finally, run the command in your Xcode project directory:
CocoaPods should download and install the devtodev library, and create a new Xcode workspace. Open this workspace in Xcode.
Manual installation
1. Download the latest version of devtodev SDK from the repository
2. Add DTDAnalytics.xcframework
to the project
3. Add frameworks:
AppTrackingTransparency.framework
AdSupport.framework
4. Add initialization todidFinishLaunchingWithOptions
method:
An App ID can be found in the settings of the respective app in devtodev (Settings → SDK → Integration → Credentials).
config
- an object instance ofDTDAnalyticsConfiguration
, which is used for specifying additional properties during the initialization.
DTDAnalyticsConfiguration
Parameter
Type
Description
currentLevel
int
The player level at the moment of devtodev SDK initialization. It is recommended (but optional) to use to improve data precision.
userId
string
A custom user identifier provided by the developer. If you utilize the default calculation by the device ID, this identifier can be used for finding a user in devtodev.
In case your project utilizes the calculation by the user identifier, you must set this parameter because it becomes the main user identifier in devtodev.
trackingAvailability
DTDTrackingStatus (enum)
The property allows or disallows devtodev tracking of the user. By default, it is set to DTDTrackingStatus.enable
. SDK stores the previously assigned value. Pass DTDTrackingStatus.disable
if the user opted out of tracking in line with GDPR.
logLevel
DTDLogLevel (enum)
The level of logging the SDK activity. The DTDLogLevel.no
value is used by default. For troubleshooting during integration it is recommended to set it to DTDLogLevel.debug
, and either switch it off DTDLogLevel.no
. Use DTDLogLevel.no
in the release version.
Example:
Integration features
For Objective-C
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.
Make sure that the ‘Build Settings’ for ‘Defines Module’ value evaluates to ‘YES’.
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:
Apps targeted at children
When developing and publishing apps targeted at children under 13 years old, you need to ensure special conditions for data processing. Any mobile app aimed at children or intended for users in a region with strict regulations on child online protection, must comply with current laws.
Please study the following requirements:
If your app has to comply with the legal requirements (COPPA), use the following recommendations:
Implement the
coppaControlEnable
method. The method disables collection of ad IDs and vendor IDs (IDFA, IDFV).To comply with Apple’s guidelines
Remove
AppTrackingTransparency.framework
and all the links pointing to it.Remove
AdSupport.framework
all the links pointing to it.
Call the coppaControlEnable
method before SDK initialization. If the method was not called, the SDK will work as before.
Privacy Manifest
The Privacy Manifest is a new way introduced at WWDC23 for third-party SDK developers to provide information about their privacy policies.
The Privacy Manifest describes the methods for ensuring code confidentiality in the application in a unified format. When publishing the application, Xcode will combine the privacy manifests of all third-party SDKs used in your application into a single, convenient report. This report makes it easier to create more accurate privacy labels (Nutrition Labels).
The Privacy Manifest includes the following sections for data entry:
Privacy Tracking Enabled
Privacy Tracking Domains
Privacy Nutrition Label Types
Privacy Accessed API Types
Privacy Tracking Enabled. A Boolean value indicating whether the application or third-party SDK uses data for tracking, as defined within the App Tracking Transparency framework.
Privacy Tracking Domains. An array of strings listing the internet domains that the application or third-party SDK connects to and participates in tracking.
Privacy Nutrition Label Types. An array of dictionaries describing the types of data collected by the application or third-party SDK. Nutrition Labels are needed to let users know what data the application collects before installing it from the App Store.
Privacy Accessed API Types. An array of dictionaries describing the types of APIs accessed by the application or third-party SDK, which are marked as APIs and require verification for access.
Privacy manifest for Devtodev SDKs:
Analytics module
Privacy Nutrition Label Types
Product Interaction
No
No
Analytics
Device ID
No
No
Analytics
User ID
No
No
Analytics
Purchase History
No
No
Analytics
Other Data Types
No
No
Analytics
Privacy Accessed API Types
User Defaults
CA92.1: Access info from same app, per documentation
Messaging module
Privacy Nutrition Label Types
Device ID
No
No
Analytics
Other Data Types
No
No
Analytics
Privacy Accessed API Types
User Defaults
CA92.1: Access info from same app, per documentation
SDK Signature
Since we distribute our SDKs as binary dependencies, we have implemented a signing practice. Now, when you use a new version of the SDK, Xcode will confirm that it has been signed by us, increasing the integrity of the software supply chain.
Last updated