Microsoft.AppCenter Network state adapter. Init. Check if network is connected. Event to subscribe to network status changes. 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. 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. 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. 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. SDK core used to initialize, start and control specific service. SDK core used to initialize, start and control specific service. Sets the two-letter ISO country code to send to the backend. The two-letter ISO country code. See for more 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. Gets or sets the shared instance of App Center. Should never return null. Setter is for testing. Indicates whether the application is currently in a suspended state. Implements the abstract device information helper class In most UWP apps, the DefaultScreenSizeProvider will do, but some applications need to use different techniques to get the screen size (e.g., Unity). Various constants used by the SDK. 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. 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. 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. This class is used to log messages consistent with those emitted by the SDK. Note: To track events, use Analytics.TrackEvent. 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. 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 Device class to help retrieve device information. 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. 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. 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. 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 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 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 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