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 entity sentry. 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 Android
    • sentry.native.android.unity on for events of the Native layer on Android
    • sentry.cocoa.unity on for events from iOS/macOS layer
    • sentry.native.unity on for events coming from sentry.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's sentry.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 (no v 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 format source:identifier and version. If the source is a Git repository, the source should be git, the identifier should be a checkout link and the version 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.