pub struct AppContext {Show 16 fields
pub app_name: String,
pub app_id: String,
pub channel: String,
pub app_version: Option<String>,
pub app_build: Option<String>,
pub architecture: Option<String>,
pub device_manufacturer: Option<String>,
pub device_model: Option<String>,
pub locale: Option<String>,
pub os: Option<String>,
pub os_version: Option<String>,
pub android_sdk_version: Option<String>,
pub debug_tag: Option<String>,
pub installation_date: Option<i64>,
pub home_directory: Option<String>,
pub custom_targeting_attributes: Option<Map<String, Value>>,
}
Expand description
The AppContext
object represents the parameters and characteristics of the
consuming application that we are interested in for targeting purposes. The
app_name
and channel
fields are not optional as they are expected
to be provided by all consuming applications as they are used in the top-level
targeting that help to ensure that an experiment is only processed
by the correct application.
Definitions of the fields are as follows:
app_name
: This is the name of the application (e.g. “Fenix” or “Firefox iOS”)app_id
: This is the application identifier, especially for mobile (e.g. “org.mozilla.fenix”)channel
: This is the delivery channel of the application (e.g “nightly”)app_version
: The user visible version string (e.g. “1.0.3”)app_build
: The build identifier generated by the CI system (e.g. “1234/A”)architecture
: The architecture of the device, (e.g. “arm”, “x86”)device_manufacturer
: The manufacturer of the device the application is running ondevice_model
: The model of the device the application is running onlocale
: The locale of the application during initialization (e.g. “es-ES”)os
: The name of the operating system (e.g. “Android”, “iOS”, “Darwin”, “Windows”)os_version
: The user-visible version of the operating system (e.g. “1.2.3”)android_sdk_version
: Android specific for targeting specific sdk versionsdebug_tag
: Used for debug purposes as a way to match only developer builds, etc.installation_date
: The date the application installed the apphome_directory
: The application’s home directorycustom_targeting_attributes
: Contains attributes specific to the application, derived by the application
Fields§
§app_name: String
§app_id: String
§channel: String
§app_version: Option<String>
§app_build: Option<String>
§architecture: Option<String>
§device_manufacturer: Option<String>
§device_model: Option<String>
§locale: Option<String>
§os: Option<String>
§os_version: Option<String>
§android_sdk_version: Option<String>
§debug_tag: Option<String>
§installation_date: Option<i64>
§home_directory: Option<String>
§custom_targeting_attributes: Option<Map<String, Value>>
Trait Implementations§
Source§impl Clone for AppContext
impl Clone for AppContext
Source§fn clone(&self) -> AppContext
fn clone(&self) -> AppContext
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<UT> ConvertError<UT> for AppContext
impl<UT> ConvertError<UT> for AppContext
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl Debug for AppContext
impl Debug for AppContext
Source§impl Default for AppContext
impl Default for AppContext
Source§fn default() -> AppContext
fn default() -> AppContext
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for AppContext
impl<'de> Deserialize<'de> for AppContext
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<UT> FfiConverter<UT> for AppContext
impl<UT> FfiConverter<UT> for AppContext
Source§const TYPE_ID_META: MetadataBuffer = _
const TYPE_ID_META: MetadataBuffer = _
Type ID metadata, serialized into a [MetadataBuffer].
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
The low-level type used for passing values of this type over the FFI. Read more
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Lower a rust value of the target type, into an FFI value of type Self::FfiType. Read more
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Lift a rust value of the target type, from an FFI value of type Self::FfiType. Read more
Source§impl From<AppContext> for TargetingAttributes
impl From<AppContext> for TargetingAttributes
Source§fn from(app_context: AppContext) -> Self
fn from(app_context: AppContext) -> Self
Converts to this type from the input type.
Source§impl<UT> Lift<UT> for AppContext
impl<UT> Lift<UT> for AppContext
Source§impl<UT> LiftRef<UT> for AppContext
impl<UT> LiftRef<UT> for AppContext
type LiftType = AppContext
Source§impl<UT> LiftReturn<UT> for AppContext
impl<UT> LiftReturn<UT> for AppContext
Source§type ReturnType = <AppContext as Lift<UT>>::FfiType
type ReturnType = <AppContext as Lift<UT>>::FfiType
FFI return type for trait interfaces
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
Lift a successfully returned value from a trait interface
§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
Lift a foreign returned value from a trait interface Read more
§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
Lift a Rust value for a callback interface method error result Read more
§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Lift a Rust value for an unexpected callback interface error Read more
Source§impl<UT> Lower<UT> for AppContext
impl<UT> Lower<UT> for AppContext
Source§impl<UT> LowerError<UT> for AppContext
impl<UT> LowerError<UT> for AppContext
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Lower this value for scaffolding function return Read more
Source§impl<UT> LowerReturn<UT> for AppContext
impl<UT> LowerReturn<UT> for AppContext
Source§type ReturnType = <AppContext as Lower<UT>>::FfiType
type ReturnType = <AppContext as Lower<UT>>::FfiType
The type that should be returned by scaffolding functions for this type. Read more
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
Lower the return value from an scaffolding call Read more
§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Lower the return value for failed argument lifts Read more
Source§impl Serialize for AppContext
impl Serialize for AppContext
Source§impl<UT> TypeId<UT> for AppContext
impl<UT> TypeId<UT> for AppContext
const TYPE_ID_META: MetadataBuffer = _
Auto Trait Implementations§
impl Freeze for AppContext
impl RefUnwindSafe for AppContext
impl Send for AppContext
impl Sync for AppContext
impl Unpin for AppContext
impl UnwindSafe for AppContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
Create a new handle for an Arc value Read more
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
Clone a handle Read more
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Consume a handle, getting back the initial
Arc<>
Read more