With Google On-device Conversion Measurement (ODM), you can attribute ads served on Google iOS apps to corresponding app installs in a way that enhances measurement accuracy while preserving user privacy. This approach ensures that neither the individual user, the device, nor the app is identifiable by you or Google.
To enable Google On-device Conversion Measurement, you need to add the following dependencies to your app’s target inside of the Podfile
:
# Resolve react_native_pods.rb with node to allow for hoistingrequire Pod::Executable.execute_command('node', ['-p', 'require.resolve( "react-native/scripts/react_native_pods.rb", {paths: [process.argv[1]]}, )', __dir__]).strip
platform :ios, min_ios_version_supportedprepare_react_native_project!
linkage = ENV['USE_FRAMEWORKS']if linkage != nil Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green use_frameworks! :linkage => linkage.to_symend
target 'AdjustExample' do
pod 'Adjust/AdjustGoogleOdm' pod 'GoogleAdsOnDeviceConversion', '2.0.0'
config = use_native_modules!
use_react_native!( :path => config[:reactNativePath], # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." )
target 'AdjustExampleTests' do inherit! :complete # Pods for testing end
post_install do |installer| react_native_post_install( installer, config[:reactNativePath], :mac_catalyst_enabled => false, # :ccache_enabled => true ) endend
If you are using the Firebase Analytics 11.14.0 and newer, you do not need to add the GoogleAdsOnDeviceConversion
dependency manually, as it is automatically included in your app.
Capturing app launch time
One of the most critical factors for accurate attribution using On-device Conversion Measurement is capturing the app launch time as precisely as possible. The Adjust SDK handles this automatically during its initialization process. Therefore, it is essential to call the initSdk
method as early as possible in your app’s launch sequence.
If you need to delay the start of the Adjust SDK, it is still strongly recommended to invoke the initSdk
method promptly and use the First Session Delay feature to coordinate the actual start of the SDK with your app’s logic.