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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions