Skip to content

Google module

  • CocoaPods subspec: pod 'AffiseModule/Google', '1.7.8'AffiseModule.podspec:42-45.
  • SwiftPM product: AffiseModuleGooglePackage.swift:16, target at Package.swift:58-66.
  • External dependency: Google’s On-Device Conversion Measurement SDK.
    • CocoaPods: GoogleAdsOnDeviceConversion (AffiseModule.podspec:44). The umbrella pod is now built as a static framework (s.static_framework = true, AffiseModule.podspec:25).
    • SwiftPM: google-ads-on-device-conversion-ios-sdk from 3.0.0 (Package.swift:26). swift-tools-version was raised to 5.9 for this release.

From the README:

Provides odm_info value from Google On-Device Conversion Measurement SDK.

README.md:372.

@objc(AffiseGoogleModule)
public final class GoogleModule: AffiseModule

AffiseModule/Google/Classes/GoogleModule.swift:4-5.

Overrides the base AffiseModule surface:

  • start()GoogleModule.swift:15
  • providers()GoogleModule.swift:34

The module is automatically started by the SDK core when linked; no manual start is required.

Check whether the module is present:

Affise.Module.Google.hasModule()

README.md:377. AffiseModules.Google is the corresponding enum case (AffiseAttributionLib/Classes/modules/AffiseModules.swift:9).

On start, GoogleOdmUseCaseImpl seeds Google’s ConversionManager with the app’s first-open date (from the core FirstAppOpenUseCase) and calls fetchAggregateConversionInfo(for: .installation), caching the returned value. That value is exposed through the OdmInfoProvider (a StringPropertyProvider keyed to ProviderType.ODM_INFO).

  • AffiseModule/Google/Classes/usecase/GoogleOdmUseCaseImpl.swift
  • AffiseModule/Google/Classes/parameters/OdmInfoProvider.swift

ODM_INFOodm_info (AffiseAttributionLib/Classes/parameters/ProviderType.swift:108, mapped at :225). See Device info for the full provider map.