diff --git a/components/ads-client/src/ffi.rs b/components/ads-client/src/ffi.rs index a6867514b5..eceaa699f2 100644 --- a/components/ads-client/src/ffi.rs +++ b/components/ads-client/src/ffi.rs @@ -157,8 +157,8 @@ impl MozAdsClientBuilder { self } - pub fn telemetry(self: Arc, telemetry: Arc) -> Arc { - self.0.lock().telemetry = Some(telemetry); + pub fn telemetry(self: Arc, telemetry: Box) -> Arc { + self.0.lock().telemetry = Some(Arc::from(telemetry)); self } } diff --git a/components/ads-client/src/ffi/telemetry.rs b/components/ads-client/src/ffi/telemetry.rs index 55af52db58..70972bf66f 100644 --- a/components/ads-client/src/ffi/telemetry.rs +++ b/components/ads-client/src/ffi/telemetry.rs @@ -12,7 +12,7 @@ use crate::http_cache::{CacheOutcome, HttpCacheBuilderError}; use crate::mars::error::{RecordClickError, RecordImpressionError, ReportAdError}; use crate::telemetry::Telemetry; -#[uniffi::export(with_foreign)] +#[uniffi::export(callback_interface)] pub trait MozAdsTelemetry: Send + Sync { fn record_build_cache_error(&self, label: String, value: String); fn record_client_error(&self, label: String, value: String);