The OWIAUHelpers protocol in the OpenWeb iOS IAU SDK provides comprehensive control over non-UI-related features, such as checking system integrations and managing GDPR compliance for user consent.


Protocol Definition

The OWIAUHelpers protocol defines properties to check integration statuses and manage GDPR-related settings.

public protocol OWIAUHelpers {
    var isNimbusAvailable: Bool { get }
    var gdpr: OWIAUGdprProtocol { get }
}


Checking Nimbus Installation Status

Verify if Nimbus is correctly installed in your app by accessing the isNimbusAvailable property.

let isNimbusAvailable = manager.helpers.isNimbusAvailable

Implementing EU User Consent (GDPR)

The OWIAUGdprProtocol provides methods to handle GDPR requirements and user consent. Proper implementation demonstrates a commitment to user privacy and compliance with EU regulations.

public protocol OWIAUGdprProtocol {
  func setGdprRequired(required: Bool)
  func setGdprConsent(consent: String)
}


Approaches to GDPR Implementation

You can implement GDPR compliance using either a Manual Consent Form or a CMP SDK.

Manual Consent Form

Use a custom consent form to obtain user consent and set the GDPR settings in the SpotIM SDK based on the user's response.

import OpenWebIAUSDK
var manager = OpenWebIAU.manager
manager.helpers.gdpr.setGdprRequired(required: ...)
manager.helpers.gdpr.setGdprConsent(consent: ...)

CMP SDK Integration

Leverage a Consent Management Platform (CMP) SDK, such as Google UMP to handle the user consent process. The GDPR applicability and consent information are retrieved from standard UserDefaults keys and used to configure the SpotIM SDK.

import OpenWebIAUSDK

var manager = OpenWebIAU.manager
let isGdprRequired = UserDefaults.standard.bool(forKey: "IABTCF_gdprApplies")
manager.helpers.gdpr.setGdprRequired(required: isGdprRequired)
if isGdprRequired, let consent = UserDefaults.standard.string(forKey: "IABTCF_TCString") {
  manager.helpers.gdpr.setGdprConsent(consent: consent)
}