SDK Interface
The SDK Interface describes the Sentry SDK and its configuration used to capture and transmit an event.
Attributes
name
- Required. The name of the SDK. The format is
entity.ecosystem[.flavor]
where entity identifies the developer of the SDK, ecosystem refers to the programming language or platform where the SDK is to be used and the optional flavor is used to identify standalone SDKs that are part of a major ecosystem. 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 Semantic
Versioning 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 should have all enabled integrations, including default integrations. Default integrations are included because different SDK releases may contain different default integrations.
packages
- Optional. A list of packages that were installed as part of this SDK or the
activated 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 Git reference (branch, tag or SHA).
Example
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"],
"packages": [
{
"name": "npm:@sentry/react-native",
"version": "0.39.0"
},
{
"name": "git:https://github.com/getsentry/sentry-cocoa.git",
"version": "4.1.0"
}
]
}
}
You can edit this page on GitHub.