DeviceProfile
@objc
public class DeviceProfile : NSObject
Main entry point for the DeviceProfile SDK.
This class provides the primary interface for integrating device profile collection capabilities into Ping Identity journey flows. It handles registration of callback types and provides the foundation for device fingerprinting and profiling functionality.
Integration
Call registerCallbacks() during application startup to enable
device profile collection in authentication journeys.
Usage Example
// In AppDelegate or SceneDelegate
Task { await DeviceProfile.registerCallbacks() }
Architecture
The DeviceProfile system consists of several key components:
- Collectors: Gather specific types of device information
- Callback: Handles server communication and configuration
- Config: Controls what data is collected and how
- Results: Structured data containing device profile information
-
Registers the DeviceProfile callback with the Ping Journey framework.
This method must be called during application initialization to enable device profile collection capabilities within authentication journeys. It registers the DeviceProfileCallback class with the callback registry using the standard device profile callback identifier.
Registration Process
- Registers DeviceProfileCallback class with CallbackRegistry
- Associates it with the “DeviceProfileCallback” type identifier
- Enables server-initiated device profiling in journey flows
Timing
- Must be called before any journey that uses device profiling
- Typically called in AppDelegate.application(_:didFinishLaunchingWithOptions:)
- Registration is idempotent - safe to call multiple times
Example Integration
@UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Register device profiling capability DeviceProfile.registerCallbacks() return true } }Declaration
Swift
@objc public static func registerCallbacks()
View on GitHub