SDK Interface
The SDK Interface describes the Sentry SDK and its configuration used to capture and transmit an event.
name
- Required. The name of the SDK. The format is
entity.ecosystem[.flavor]
where entity identifies the developer of the SDK, ecosystem refers to theprogramming language or platform where the SDK is to be used and the optionalflavor is used to identify standalone SDKs that are part of a majorecosystem. Official Sentry SDKs use the entitysentry
. Examples:
sentry.python
sentry.javascript.react-native
For SDKs that are composed of more than one Sentry SDK. For example, the Unity SDK which includes a .NET layer as well as different native layers. When events come out of the native layer, it's important to distinguish from the stand-alone native SDK. We do that by appending the top SDK to the end of the native SDK name. Examples:
Unity SDK:
sentry.dotnet.unity
on events coming from C#. As based on the spec above.sentry.java.android.unity
on for events of the Java layer on Androidsentry.native.android.unity
on for events of the Native layer on Androidsentry.cocoa.unity
on for events from iOS/macOS layersentry.native.unity
on for events coming fromsentry.native
directly. Such as on Windows and Linux.
Android SDK
sentry.java.android
on events from the Java layer. Since the Android SDK is based on the Java SDK.sentry.native.android
on events from NDK. It'ssentry.native
but it's bundled in the Android SDK with some customization.
version
- Required. The version of the SDK. It should have the SemanticVersioning format
MAJOR.MINOR.PATCH
, without any prefix(nov
or anything else in front of the major version number). Examples:
0.1.0
1.0.0
4.3.12
integrations
- Optional. A list of names identifying enabled integrations. The list shouldhave all enabled integrations, including default integrations. Defaultintegrations are included because different SDK releases may contain differentdefault integrations.
features
- Optional. A list of feature names identifying enabled SDK features. This listshould contain all enabled SDK features. On some SDKs, enabling a feature in theoptions also adds an integration. We encourage tracking such features with eitherintegrations or features but not both to reduce the payload size.
packages
- Optional. A list of packages that were installed as part of this SDK or theactivated integrations. Each package consists of a
name
in the formatsource:identifier
andversion
. If the source is a Git repository, the source should begit
, theidentifier
should be a checkout link and theversion
should be a Gitreference (branch, tag or SHA).
The following example illustrates the SDK part of the event payload and omits other attributes for simplicity.
Copied
{
"sdk": {
"name": "sentry.javascript.react-native",
"version": "1.0.0",
"integrations": ["redux"],
"features": ["capture_failed_requests"],
"packages": [
{
"name": "npm:@sentry/react-native",
"version": "0.39.0"
},
{
"name": "git:https://github.com/getsentry/sentry-cocoa.git",
"version": "4.1.0"
}
]
}
}
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").