Skip to content

Feature Request: Official support for Google ODM (On-device Measurement) in Unity package #358

Description

@daltonbr

Summary

We are starting to use the Google On-device Measurement (ODM) feature as documented at
dev.adjust.com/en/sdk/ios/plugins/google-odm in our Unity projects.

The feature itself works - we confirmed it in production - but the current Unity package
doesn't expose an official path to enable it without modifying the generated Xcode Podfile
manually via a post-process script.

Current workaround

We're importing the SDK via the Unity Package Manager git URL:

`https://github.com/adjust/unity_sdk.git?path=Assets/Adjust#v5.6.0`

The ODM guide states that the iOS
integration requires replacing the standard Adjust CocoaPod with the Adjust/AdjustGoogleOdm
subspec. Since the Unity package's EDM4U dependency resolver emits the standard Adjust pod,
we had to write a PostProcessBuild script that patches the generated Podfile after the build:

// Replaces:  pod 'Adjust', '<version>'
// With:      pod 'Adjust/AdjustGoogleOdm', '<version>'

This approach has several downsides:

  • It is fragile - it relies on exact string matching in a generated file.
  • It is invisible - a developer unaware of this script could be confused by the behavior.
  • It is not portable - every project that wants ODM must copy and maintain this script.
  • It silently breaks if the Podfile format changes between SDK versions.

Proposed solutions

We'd welcome any of the following, roughly in order of preference (open to other solutions)

  1. A dedicated google-odm branch in the Unity SDK repo where the EDM4U dependency
    configuration already references Adjust/AdjustGoogleOdm instead of Adjust. Teams could
    then pin to that branch via UPM until the feature is mainlined:
    https://github.com/adjust/unity_sdk.git?path=Assets/Adjust#google-odm

  2. A compile-time or runtime feature toggle (e.g., a scripting define symbol
    ADJUST_GOOGLE_ODM or an opt-in in AdjustConfig) that causes the SDK's own EDM4U
    configuration to emit the correct subspec automatically.

  3. Documentation of an officially supported post-process hook or extension point in the
    Unity package that enables the ODM subspec without text-patching the Podfile.

Environment

  • Unity SDK version: v5.6.0 (imported via UPM git URL)
  • Unity version: 6000.0.x
  • Target platform: iOS

We're happy to test any branch or pre-release version against our titles.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions