Skip to content

Conversation

NidhiDixit09
Copy link
Collaborator

Reference

EMT-1684 - ODM - On Device Measurement
https://branch.atlassian.net/browse/EMT-1684

Summary

Version and Change Log Updates.
cc @BranchMetrics/saas-sdk-devs for visibility.

Copy link
Contributor

Code Quality new feature

Summary By MatterAI MatterAI logo

🔄 What Changed

This PR updates the Branch iOS SDK to version 3.11.0 from 3.10.0. The update includes:

  • Added Google ODM (On-Device Measurement) Event Data support
  • New API setODMInfo:andFirstOpenTimestamp for custom ODM event data setting
  • Version number updates across configuration files

🔍 Impact of the Change

The SDK will now fetch, cache, and send ODM event data with v1/install and v1/open requests for 180 days. This enhances the SDK's attribution capabilities by leveraging Google's on-device measurement data. App developers can also manually set ODM event data and first open timestamp instead of relying on the SDK's automatic collection.

📁 Total Files Changed

4 files were modified with minimal changes:

  • BranchSDK.podspec: Version update
  • ChangeLog.md: Added new version details and features
  • Sources/BranchSDK/BNCConfig.m: Version update
  • scripts/version.sh: Version update

🧪 Test Added

No new tests were included in this PR. The changes are primarily version updates and documentation of new functionality.

🔒 Security Vulnerabilities

No security vulnerabilities were identified in this release update.

Sequence Diagram

sequenceDiagram
    participant App as App Developer
    participant SDK as Branch SDK 3.11.0
    participant Google as Google ODM
    participant Branch as Branch Servers
    
    Note over SDK: Version updated from 3.10.0 to 3.11.0
    
    SDK->>Google: Fetch ODM Event Data
    Google-->>SDK: Return ODM data
    SDK->>SDK: Cache ODM data (valid for 180 days)
    
    alt Automatic ODM handling
        SDK->>Branch: Send v1/install or v1/open with ODM data
    else Manual ODM setting
        App->>SDK: setODMInfo:andFirstOpenTimestamp
        SDK->>Branch: Send v1/install or v1/open with custom ODM data
    end
    
    Branch-->>SDK: Process attribution with ODM data
    SDK-->>App: Attribution results
Loading

@gdeluna-branch gdeluna-branch requested a review from Copilot May 5, 2025 16:41
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the SDK documentation and versioning in preparation for Release 3.11.0.

  • Updated ChangeLog with new version information and details about Google ODM Event Data support and a new API.
  • Updated the podspec version from 3.10.0 to 3.11.0.

Reviewed Changes

Copilot reviewed 2 out of 5 changed files in this pull request and generated 1 comment.

File Description
ChangeLog.md Added release notes for v3.11.0 and new API details.
BranchSDK.podspec Updated version number to 3.11.0.
Files not reviewed (3)
  • BranchSDK.xcodeproj/project.pbxproj: Language not supported
  • Sources/BranchSDK/BNCConfig.m: Language not supported
  • scripts/version.sh: Language not supported

ChangeLog.md Outdated

v.3.11.0
- Added Google ODM Event Data support. SDK will fetch, cache and send ODM event data with v1/install and v1/open requests for 180 days.
- Added new API `setODMInfo:andFirstOpenTimestamp` to set ODM Event data and first open timestamp if app developer wants to set it instead of SDK.;
Copy link

Copilot AI May 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The trailing semicolon after 'SDK.' appears unnecessary. Consider removing it for cleaner documentation.

Suggested change
- Added new API `setODMInfo:andFirstOpenTimestamp` to set ODM Event data and first open timestamp if app developer wants to set it instead of SDK.;
- Added new API `setODMInfo:andFirstOpenTimestamp` to set ODM Event data and first open timestamp if app developer wants to set it instead of SDK.

Copilot uses AI. Check for mistakes.

Copy link
Contributor

Code Quality new feature

Summary By MatterAI MatterAI logo

🔄 What Changed

This PR updates the Branch iOS SDK to version 3.11.0 from 3.10.0. The update includes new functionality for Google ODM (On Device Measurement) Event Data support. The SDK will now fetch, cache, and send ODM event data with v1/install and v1/open requests for 180 days. Additionally, a new API setODMInfo:andFirstOpenTimestamp has been added to allow app developers to manually set ODM Event data and first open timestamp instead of relying on the SDK.

🔍 Impact of the Change

This update enhances the SDK's attribution capabilities by supporting Google's On Device Measurement, which will improve conversion tracking and attribution accuracy for apps using Google's advertising services. The changes are backward compatible and should not affect existing implementations.

📁 Total Files Changed

Four files were modified in this PR:

  1. BranchSDK.podspec - Version number update
  2. ChangeLog.md - Added new version details and feature descriptions
  3. Sources/BranchSDK/BNCConfig.m - SDK version constant update
  4. scripts/version.sh - Version number update in build script

🧪 Test Added

No new tests were included in this PR. The changes are primarily version updates and documentation of new features that were likely tested separately.

🔒 Security Vulnerabilities

No security vulnerabilities were identified in this PR. The changes are limited to version updates and documentation of new features.

Sequence Diagram

sequenceDiagram
    participant App as iOS App
    participant SDK as Branch SDK v3.11.0
    participant Google as Google ODM
    participant Branch as Branch Servers
    
    Note over SDK: Version updated from 3.10.0 to 3.11.0
    
    App->>SDK: Initialize SDK
    SDK->>Google: Fetch ODM event data
    Google-->>SDK: Return ODM data
    SDK->>SDK: Cache ODM data (valid for 180 days)
    
    alt Developer sets ODM data manually
        App->>SDK: setODMInfo:andFirstOpenTimestamp(odmData, timestamp)
        SDK->>SDK: Override default ODM data
    end
    
    App->>SDK: Track install/open event
    SDK->>Branch: Send v1/install or v1/open request with ODM data
    Branch-->>SDK: Process attribution with ODM data
    SDK-->>App: Return attribution results
Loading

@gdeluna-branch
Copy link
Contributor

/matter review

Copy link
Contributor

@matter-code-review matter-code-review bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR looks good! It properly updates the version number across all necessary files and adds the new Google ODM Event Data support functionality. The changelog is clear about the new features. No issues detected in the implementation.

@NidhiDixit09 NidhiDixit09 merged commit ff2bb28 into master May 5, 2025
18 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants