Microsoft.AppCenter SDK core used to initialize, start and control specific service. SDK core used to initialize, start and control specific service. Gets or sets the shared instance of App Center. Should never return null. Setter is for testing. Sets the two-letter ISO country code to send to the backend. The two-letter ISO country code. See for more information. A wrapper SDK can use this method to pass extra information to device properties. Wrapper SDK information. This property controls the amount of logs emitted by the SDK. Set the custom user id. Custom string to identify user. 256 characters or less. Get the current version of AppCenter SDK. Check whether the SDK is enabled or not as a whole. A task with result being true if enabled, false if disabled. Enable or disable the SDK as a whole. Updating the state propagates the value to all services that have been started. A task to monitor the operation. Get the unique installation identifier for this application installation on this device. The identifier is lost if clearing application data or uninstalling application. Change the base URL (scheme + authority + port only) used to communicate with the backend. Base URL to use for server communication. Check whether SDK has already been configured or not. Configure the SDK. This may be called only once per application process lifetime. A unique and secret key used to identify the application. Start services. This may be called only once per service per application process lifetime. List of services to use. Initialize the SDK with the list of services to start. This may be called only once per application process lifetime. A unique and secret key used to identify the application. List of services to use. Set the custom properties. Custom properties object. Asynchronously makes an HTTP request. The request message Cancellation token Task containing the HTTP response Boolean property. Initializes a new instance of the BooleanProperty class. Initializes a new instance of the BooleanProperty class. Boolean property value. Gets or sets boolean property value. Validate the object. Thrown if validation fails Clear an existing property. Initializes a new instance of the ClearProperty class. Initializes a new instance of the ClearProperty class. Validate the object. Thrown if validation fails Initializes a new instance of the CustomProperty class. Initializes a new instance of the CustomProperty class. Validate the object. Thrown if validation fails The custom properties log model. Initializes a new instance of the CustomPropertyLog class. Log timestamp, example: '2017-03-13T18:05:42Z'. When tracking an analytics session, logs can be part of the session by specifying this identifier. This attribute is optional, a missing value means the session tracking is disabled (like when using only error reporting feature). Concrete types like StartSessionLog or PageLog are always part of a session and always include this identifier. Custom property changes. Gets or sets custom property changes. Validate the object. Thrown if validation fails Date and time property. Initializes a new instance of the DateTimeProperty class. Initializes a new instance of the DateTimeProperty class. Date time property value. Gets or sets date time property value. Validate the object. Thrown if validation fails Number property. Initializes a new instance of the NumberProperty class. Initializes a new instance of the NumberProperty class. Number property value. Initializes a new instance of the NumberProperty class. Number property value. Initializes a new instance of the NumberProperty class. Number property value. Initializes a new instance of the NumberProperty class. Number property value. Initializes a new instance of the NumberProperty class. Number property value. Gets or sets number property value. Validate the object. Thrown if validation fails String property. Initializes a new instance of the StringProperty class. Initializes a new instance of the StringProperty class. String property value. Gets or sets string property value. Validate the object. Thrown if validation fails Exception thrown when ingestion models fail to validate Validation rules that recognizes Gets a string message that describes a given validation rule The rule to create a string for An extra detail to include with the rule. A string describing the rule Constructs a full error string to be used as an exception message The rule that was broken The name of the property that broke the rule Creates a validation exception and populates its message The rule that was broken The name of the property that broke the rule Log type for sending information about which services have been started Initializes a new instance of the StartServiceLog class. Initializes a new instance of the StartServiceLog class. Log timestamp, example: '2017-03-13T18:05:42Z'. When tracking an analytics session, logs can be part of the session by specifying this identifier. This attribute is optional, a missing value means the session tracking is disabled (like when using only error reporting feature). Concrete types like StartSessionLog or PageLog are always part of a session and always include this identifier. The list of services of the MobileCenter Start API call. Gets or sets the list of services of the MobileCenter Start API call. Validate the object. Thrown if validation fails Device characteristics. Initializes a new instance of the Device class. Initializes a new instance of the Device class. Name of the SDK. Consists of the name of the SDK and the platform, e.g. "mobilecenter.ios", "hockeysdk.android". Version of the SDK in semver format, e.g. "1.2.0" or "0.12.3-alpha.1". OS name (example: iOS). The following OS names are standardized (non-exclusive): Android, iOS, macOS, tvOS, Windows. OS version (example: 9.3.0). Language code (example: en-US). The offset in minutes from UTC for the device time zone, including daylight savings time. Application version name, e.g. 1.1.0 The app's build number, e.g. 42. Version of the wrapper SDK in semver format. When the SDK is embedding another base SDK (for example Xamarin.Android wraps Android), the Xamarin specific version is populated into this field while sdkVersion refers to the original Android SDK. Name of the wrapper SDK. Consists of the name of the SDK and the wrapper platform, e.g. "mobilecenter.xamarin", "hockeysdk.cordova". Device model (example: iPad2,3). Device manufacturer (example: HTC). OS build code (example: LMY47X). API level when applicable like in Android (example: 15). Screen size of the device in pixels (example: 640x480). Carrier name (for mobile devices). Carrier country code (for mobile devices). The bundle identifier, package identifier, or namespace, depending on what the individual plattforms use, .e.g com.microsoft.example. Label that is used to identify application code 'version' released via Live Update beacon running on device Identifier of environment that current application release belongs to, deployment key then maps to environment like Production, Staging. Hash of all files (ReactNative or Cordova) deployed to device via LiveUpdate beacon. Helps identify the Release version on device or need to download updates in future. Version of the wrapper technology framework (Xamarin runtime version or ReactNative or Cordova etc...). See wrappersdkname to see if this version refers to Xamarin or ReactNative or other. Gets or sets name of the SDK. Consists of the name of the SDK and the platform, e.g. "mobilecenter.ios", "hockeysdk.android". Gets or sets version of the SDK in semver format, e.g. "1.2.0" or "0.12.3-alpha.1". Gets or sets version of the wrapper SDK in semver format. When the SDK is embedding another base SDK (for example Xamarin.Android wraps Android), the Xamarin specific version is populated into this field while sdkVersion refers to the original Android SDK. Gets or sets name of the wrapper SDK. Consists of the name of the SDK and the wrapper platform, e.g. "mobilecenter.xamarin", "hockeysdk.cordova". Gets or sets device model (example: iPad2,3). Gets or sets device manufacturer (example: HTC). Gets or sets OS name (example: iOS). The following OS names are standardized (non-exclusive): Android, iOS, macOS, tvOS, Windows. Gets or sets OS version (example: 9.3.0). Gets or sets OS build code (example: LMY47X). Gets or sets API level when applicable like in Android (example: 15). Gets or sets language code (example: en-US). Gets or sets the offset in minutes from UTC for the device time zone, including daylight savings time. Gets or sets screen size of the device in pixels (example: 640x480). Gets or sets application version name, e.g. 1.1.0 Gets or sets carrier name (for mobile devices). Gets or sets carrier country code (for mobile devices). Gets or sets the app's build number, e.g. 42. Gets or sets the bundle identifier, package identifier, or namespace, depending on what the individual plattforms use, .e.g com.microsoft.example. Gets or sets label that is used to identify application code 'version' released via Live Update beacon running on device Gets or sets identifier of environment that current application release belongs to, deployment key then maps to environment like Production, Staging. Gets or sets hash of all files (ReactNative or Cordova) deployed to device via LiveUpdate beacon. Helps identify the Release version on device or need to download updates in future. Gets or sets version of the wrapper technology framework (Xamarin runtime version or ReactNative or Cordova etc...). See wrappersdkname to see if this version refers to Xamarin or ReactNative or other. Validate the object. Thrown if validation fails Initializes a new instance of the Log class. Initializes a new instance of the Log class. Log timestamp, example: '2017-03-13T18:05:42Z'. When tracking an analytics session, logs can be part of the session by specifying this identifier. This attribute is optional, a missing value means the session tracking is disabled (like when using only error reporting feature). Concrete types like StartSessionLog or PageLog are always part of a session and always include this identifier. optional string used for associating logs with users. Gets or sets log timestamp, example: '2017-03-13T18:05:42Z'. Gets or sets when tracking an analytics session, logs can be part of the session by specifying this identifier. This attribute is optional, a missing value means the session tracking is disabled (like when using only error reporting feature). Concrete types like StartSessionLog or PageLog are always part of a session and always include this identifier. Gets or sets optional string used for associating logs with users. Validate the object. Thrown if validation fails Initializes a new instance of the LogContainer class. Initializes a new instance of the LogContainer class. The list of logs Gets or sets the list of logs Validate the object. Thrown if validation fails Initializes a new instance of the LogWithProperties class. Initializes a new instance of the LogWithProperties class. Log timestamp, example: '2017-03-13T18:05:42Z'. When tracking an analytics session, logs can be part of the session by specifying this identifier. This attribute is optional, a missing value means the session tracking is disabled (like when using only error reporting feature). Concrete types like StartSessionLog or PageLog are always part of a session and always include this identifier. optional string used for associating logs with users. Additional key/value pair parameters. Gets or sets additional key/value pair parameters. Validate the object. Thrown if validation fails Interface to send logs to the Ingestion service. Update log URL. Send logs to the Ingestion service. A unique and secret key used to identify the application Install identifier Payload Close all current calls. Check if the call is completed due to cancellation. Check if the call is completed. Check if the call is completed due to an unhandled exception. HTTP payload. The exception thrown from the pipeline. Handle call results. The action to perform when the call is completed. Cancel the call if possible. Get object of class Win32_ComputerSystem. Win32_ComputerSystem object. Get object of class Win32_OperatingSystem. Win32_OperatingSystem object. Gets or sets the shared instance of ManagmentClassFactory. Should never return null. Various constants used by the SDK. Various constants used by the SDK. Implements the abstract device information helper class Set the specific class factory for the management class. Specific management class factory. Import GetDeviceCaps function to retreive scale-independent screen size. This class wraps System.IO.DirectoryInfo for the unit tests. Parameterless constructor needed for testing. This class wraps System.IO.FileInfo for the unit tests. Parameterless constructor needed for testing. Represents an object that tracks the application lifecycle. Indicates whether the application is currently in a suspended state Occurs when the application has just been suspended Occurs when the application is about to resume. Note that in UWP, this corresponds to CoreApplication.LeavingBackground for builds 14393 and up, but to CoreApplication.Resuming for builds under 14393. Occurs when an unhandled exception is fired This is used to set up the shutdown logic in the event of a crash. Represents a store of persistent application settings that is behaves like a dictionary. Represents an object that is able to retrieve hardware and software information about the device running the SDK. Gets the device information asynchronously. Device object with fields populated appropriately Gets the device information without blocking. This might be missing certain properties. Device object with fields populated appropriately Represents a particular state Creates a new state Creates a new state that follows the current state Compares states by state number The object to compare to True if they have the same state number, false otherwise Allows synchronization across tasks, regardless of the thread executing it. Doing so involves tracking a state, so that once invalidated, trying to acquire the lock will fail. Gets the current state The current state Advances the current state The new state Checks if the given state is current The state to test True if the current state is current, false otherwise Dispose of the Exception thrown when a StatefulMutex cannot acquire a lock Utility for getting time information Gets the current time in milliseconds The current time in milliseconds Event argument type for UnhandledException event that is invoked by Gets the unhandled exception. Default implementation for a channel unit. Gets value indicating whether the Channel is enabled The channel's name Invoked when a log will be enqueued. Invoked when a log is about to filtered out or not. Invoke when a log is about to be sent. Invoked when a log successfully sent. Invoked when a log failed to send properly. Enable or disable this channel unit. true to enable, false to disable. Enqueue a log asynchronously. log to enqueue. The async Task for this operation. Invalidate device property cache, meaning next log needing device properties will trigger a re-evaluation of all device properties. Clear all logs that are pending on this unit. The task to represent this async operation. Stop all calls in progress and deactivate this channel. The Task to represent this async operation. Free resources held by this instance. Base type for all channel events. Log associated to the event. Init event with a log. log associated to this event. Event called when a log is enqueued to a channel but before properties are final. Init event with a log. log associated to this event. Event called to possibly filter out a log before it is persisted and scheduled for sending. Set this property to true to request the log to be filtered out. Init event with a log. log associated to this event. Event called when a log is about to be sent. Init event with a log. log associated to this event. Event called when a log has been successfully sent. Init event with a log. log associated to this event. Event called when a log has failed to send, even after retries and is now discarded. Cause of the last sending failure. Init event with a log. log associated to this event. cause of the last sending failure. Attempted to add duplicate channel to group Attempted to add duplicate channel to group IChannels are responsible for processing logs. In most cases, that means storing them and sending them to Ingestion. Invoked when a log will be enqueued. Invoked when a log is about to filtered out or not. Invoke when a log is about to be sent. Invoked when a log successfully sent. Invoked when a log failed to send properly. Enable or disable the channel Value indicating whether channel should be enabled or disabled Stop all calls in progress and deactivate this channel Represents a collection of channels that can perform aggregate operations Adds an IChannelUnit to the group. This transfers ownership of the IChannelUnit to IChannelGroup. The ChannelUnit to add Adds an IChannelUnit to the group. The name of the ChannelUnit The maximum batch size for the ChannelUnit The maximum time interval between batches The maximum number of batches to be processed in parallel The created IChannelUnit Sets the ingestion endpoint to send App Center logs to. The log URL Waits for any running storage operations to complete. Specification for a leaf channel that can enqueue logs, as opposed to groups. Enqueue a log for processing Custom properties builder. Collects multiple properties to send in one log. Set the specified property value with the specified key. If the properties previously contained a property for the key, the old value is replaced. Key with which the specified value is to be set. Value to be set with the specified key. This instance. Set the specified property value with the specified key. If the properties previously contained a property for the key, the old value is replaced. Key with which the specified value is to be set. Value to be set with the specified key. This instance. Set the specified property value with the specified key. If the properties previously contained a property for the key, the old value is replaced. Key with which the specified value is to be set. Value to be set with the specified key. This instance. Set the specified property value with the specified key. If the properties previously contained a property for the key, the old value is replaced. Key with which the specified value is to be set. Value to be set with the specified key. This instance. Set the specified property value with the specified key. If the properties previously contained a property for the key, the old value is replaced. Key with which the specified value is to be set. Value to be set with the specified key. This instance. Set the specified property value with the specified key. If the properties previously contained a property for the key, the old value is replaced. Key with which the specified value is to be set. Value to be set with the specified key. This instance. Set the specified property value with the specified key. If the properties previously contained a property for the key, the old value is replaced. Key with which the specified value is to be set. Value to be set with the specified key. This instance. Set the specified property value with the specified key. If the properties previously contained a property for the key, the old value is replaced. Key with which the specified value is to be set. Value to be set with the specified key. This instance. Clear the property for the specified key. Key whose mapping is to be cleared. This instance. Device class to help retrieve device information. Creates a public device model from an ingestion device model. The ingestion device model. Gets the name of the SDK. Name of the SDK. Consists of the name of the SDK and the platform, e.g. "mobilecenter.ios", "mobilecenter.android" Gets the SDK version. Version of the SDK in semver format, e.g. "1.2.0" or "0.12.3-alpha.1". Gets the device model. Device model (example: iPad2,3). Gets the name of the manufacturer. Device manufacturer (example: HTC). Gets the name of the OS. OS name (example: iOS). Gets the OS version. OS version (example: 9.3.0). Gets the OS build OS build code (example: LMY47X). Gets the OS API level. API level when applicable like in Android (example: 15). Gets the locale. Language code (example: en_US). Gets the time zone offset. The offset in minutes from UTC for the device time zone, including daylight savings time. Gets the size of the screen. Screen size of the device in pixels (example: 640x480). Gets the application version. Application version name, e.g. 1.1.0 Gets the name of the carrier. Carrier name (for mobile devices). Gets the carrier country/region. Carrier country code (for mobile devices). Gets the app build. The app's build number, e.g. 42. Gets the app namespace. The bundle identifier, package identifier, or namespace, depending on what the individual platforms use, e.g.com.microsoft.example. Interface to work with database storage. Initialize this storage adapter. Path of a database file to connect to. Create table in database. Name of a table to create. Array with columns' names. Array with columns' type descriptions. Returns amount of rows matching given criteria. Name of a table to run query on. Column to match value by. Value to match in a query. Amount of rows matching given criteria. Returns collection of columns with values matching given criteria. Name of a table to run query on. Name of a column to match value. Value to match in a query. Column name to match excluded values by. Excluded values to match in query. Maximum amount of items to select. Item list with array of objects. Array of objects is object[] representation of columns. Inserts data to table. Name of a table to run query on. Array of columns used to insert data. ICollection of columns with values. Deletes rows matching given criteria. Name of a table to run query on. Name of column to match value by. Array of values to match in a query. Manages the database of App Center logs on disk Asynchronously adds a log to storage The name of the channel associated with the log The log to add Asynchronously deletes all logs in a particular batch The name of the channel associated with the batch The batch identifier Asynchronously deletes all logs for a particular channel Name of the channel to delete logs for Asynchronously counts the number of logs stored for a particular channel The name of the channel to count logs for The number of logs found in storage Asynchronously clears the stored state of logs that have been retrieved Asynchronously retrieves logs from storage and flags them to avoid duplicate retrievals on subsequent calls Name of the channel to retrieve logs from The maximum number of logs to retrieve A list to which the retrieved logs will be added A batch ID for the set of returned logs; null if no logs are found Waits for any running storage operations to complete. The maximum amount of time to wait for remaining tasks True if remaining tasks completed in time; false otherwise Waits for any running storage operations to complete and prevents subsequent storage operations from running The maximum amount of time to wait for remaining tasks True if remaining tasks completed in time; false otherwise Manages the database of App Center logs on disk Creates an instance of Storage. Creates an instance of Storage given a connection object. Asynchronously adds a log to storage The name of the channel associated with the log The log to add Asynchronously deletes all logs in a particular batch The name of the channel associated with the batch The batch identifier Asynchronously deletes all logs for a particular channel Name of the channel to delete logs for Asynchronously counts the number of logs stored for a particular channel The name of the channel to count logs for The number of logs found in storage Asynchronously clears the stored state of logs that have been retrieved Asynchronously retrieves logs from storage and flags them to avoid duplicate retrievals on subsequent calls Name of the channel to retrieve logs from The maximum number of logs to retrieve A list to which the retrieved logs will be added A batch ID for the set of returned logs; null if no logs are found Waits for any running storage operations to complete The maximum amount of time to wait for remaining tasks True if remaining tasks completed in time; false otherwise Waits for any running storage operations to complete and prevents subsequent storage operations from running The maximum amount of time to wait for remaining tasks True if remaining tasks completed in time; false otherwise Disposes the storage object Event args for event that occurs when an user change is received. User Id. Validates properties. Properties collection to validate. Log name. Valid properties collection with maximum size of 20. Utility to store and retrieve values for user identifiers. Maximum allowed length for user identifier for App Center server. Event handler to subscribe to the user id update. Unique instance. Current user identifier. Check if userId is valid for App Center. true if valid, false otherwise. Represents a module that provides a service through App Center. Display name of the service Gets or sets whether the service is enabled Method that is called to signal start of service. The channel group to which the channel should be added The app secret of the current application This class is used to log messages consistent with those emitted by the SDK. Note: To track events, use Analytics.TrackEvent. The log tag for this SDK. All logs emitted at the SDK level will contain this tag. Gets or sets the log verbosity level. Writes a log at the level. Note: To track events, use Analytics.TrackEvent. The log tag The message to log Writes a log at the level. Note: To track events, use Analytics.TrackEvent. The log tag The message to log Writes a log at the level. Note: To track events, use Analytics.TrackEvent. The log tag The message to log Writes a log at the level. Note: To track events, use Analytics.TrackEvent. The log tag The message to log Writes a log at the level. Note: To track events, use Analytics.TrackEvent. The log tag The message to log Writes a log at the level. Note: To track events, use Analytics.TrackEvent. The log tag The message to log Writes a log and an exception at the level. Note: To track events, use Analytics.TrackEvent. Log tag. Message. Associated exception. Writes a log and an exception at the level. Note: To track events, use Analytics.TrackEvent. Log tag. Message. Associated exception. Writes a log and an exception at the level. Note: To track events, use Analytics.TrackEvent. Log tag. Message. Associated exception. Writes a log and an exception at the level. Note: To track events, use Analytics.TrackEvent. Log tag. Message. Associated exception. Writes a log and an exception at the level. Note: To track events, use Analytics.TrackEvent. Log tag. Message. Associated exception. Writes a log and an exception at the level. Note: To track events, use Analytics.TrackEvent. Log tag. Message. Associated exception. Provides basic functionality for IAppCenterServices. Application settings. Channel associated with this service. Should be disposed only by ChannelGroup. ChannelGroup that contains the service's ChannelUnit. Name of this service's Channel. Display name of the service. Log tag for this service. Settings dictionary key for whether this service is enabled. Number of logs to enqueue before sending them to ingestion. Maximum time span to wait before triggering ingestion. Maximum number of batches to process in parallel. Gets or sets whether service is enabled Method that is called to signal start of service. The channel group to which the channel should be added The app secret of the current application Log level threshold for logs emitted by the SDK. SDK emits all possible level of logs. SDK emits debug, info, warn, error and assert logs. SDK emits info, warn, error, and assert logs. SDK emits warn, error, and assert logs. SDK error and assert logs. Only assert logs are emitted by SDK. No log is emitted by SDK.