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