Ping SDKs

Compatibility

Supported server versions

The Ping SDKs support the following server versions:

  • PingOne

  • PingOne Advanced Identity Cloud

  • PingAM 6.5, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5 and later

  • PingFederate

Supported operating systems and browsers

Select a platform below to view the supported operating systems and browsers.

  • Android

  • iOS

  • JavaScript / Login Widget

The Ping SDK for Android supports the following versions of the Android operating system:

Supported Android versions and original release dates
Release API Levels Released

Android 15

35

September, 2024

Android 14

34

October, 2023

Android 13

33

March, 2022

Android 12

31, 32

October, 2021

Android 11

30

September, 2020

Android 10

29

September, 2019

Android 9 (Pie)

28

August, 2018

Since March 1st, 2025, the Ping SDKs support policy is as follows:

  • Every public major release of Android within the last 6 years.

Supported browsers on Android

  • Chrome - Two most recent major versions.

The Ping SDK for iOS supports the following versions of the iOS operating system:

Supported iOS versions and original release dates
Release Released

iOS 18

September, 2024

iOS 17

September, 2023

iOS 16

September, 2022

Since March 1st, 2025, the Ping SDKs support policy is as follows:

  • Every public major release of iOS within the last 3 years.

Supported browsers on iOS

  • Safari - Two most recent major versions.

The Ping SDK for JavaScript, and the Ping (ForgeRock) Login Widget support the desktop and mobile browsers listed below.

Minimum supported Desktop browser versions

  • Chrome 83

  • Firefox 77

  • Safari 13

  • Microsoft Edge 83 (Chromium)

Supported Mobile browsers

  • iOS (Safari) - Two most recent major versions of the operating system.

  • Android (Chrome) - Two most recent major versions of the operating system.

Supported authentication journey callbacks

The Ping SDKs support the following authentication journey callbacks when using the following servers:

  • PingOne Advanced Identity Cloud

  • PingAM

Callback name Callback description Android iOS JavaScript

AppIntegrity

Collects a generated token from the client to verify the integrity of the app

SDK 4.3

SDK 4.3

BooleanAttributeInputCallback

SDK 2.1

Collects true or false.

ChoiceCallback

Collects single user input from available choices, retrieves selected choice from user interaction.

ConfirmationCallback

Retrieve a selected option from a list of options.

ConsentMappingCallback

SDK 2.0

Prompts the user to consent to share their profile data.

DeviceBinding

Cryptographically bind a mobile device to a user account.

SDK 4.0

SDK 4.0

DeviceProfileCallback

SDK 2.0

Collects meta and/or location data about the authenticating device.

DeviceSigningVerifier

Verify ownership of a bound device by signing a challenge.

SDK 4.0

SDK 4.0

HiddenValueCallback

Returns form values that are not visually rendered to the end user.

KbaCreateCallback SDK 2.0

Collects knowledge-based answers. For example, the name of your first pet.

MetadataCallback (1)

Injects key-value metadata into the authentication process.

For example, the WebAuthn nodes use this callback to return the data the SDK requires to perform authentication and registration.

NameCallback

Collects a username.

NumberAttributeInputCallback

SDK 2.1

Collects a number.

PasswordCallback

Collects a password or one-time pass code.

PingOneProtectEvaluationCallback

SDK 4.4

Collects captured contextual data from the client to perform risk evaluations.

PingOneProtectInitializeCallback

SDK 4.4

Instructs the client to start capturing contextual data for risk evaluations

PollingWaitCallback

Instructs the client to wait for the given period and resubmit the request.

ReCaptchaCallback

Provides data required to use a CAPTCHA in your apps.

(2)

ReCaptchaEnterpriseCallback

Provides data required to use reCAPTCHA Enterprise in your apps.

(2)

SDK 4.6

SDK 4.6

SDK 4.6

RedirectCallback

Redirects the user’s browser or user-agent.

StringAttributeInputCallback

SDK 2.0

Collects the values of attributes for use elsewhere in a tree.

SuspendedTextOutputCallback

SDK 2.1

Pause and resume authentication, sometimes known as "magic links".

TextInputCallback

Collects text input from the end user. For example, a nickname for their account.

SDK 4.4

SDK 4.4

SDK 3.4

TextOutputCallback

Provides a message to be displayed to a user with a given message type.

TermsAndConditionsCallback

SDK 2.0

Collects a user’s acceptance of the configured Terms & Conditions.

ValidatedCreatePasswordCallback

SDK 2.0

Collects a password value with optional password policy validation.

ValidatedCreateUsernameCallback

SDK 2.0

Collects a username value with optional username policy validation.

(1) The WebAuthn Authentication node and the WebAuthn Registration node both use a MetaDataCallback when the Return challenge as JavaScript is NOT enabled.

You must not enable this option when handling WebAuthn journeys with the Ping SDK for Android and iOS.

The Ping SDK for JavaScript handles either the MetaDataCallback or the JavaScript-based payload.

(2) Requires the presence of Google Play Services.

Supported PingOne fields and collectors

The DaVinci clients support the following connectors and capabilities when connecting to PingOne:

  • PingOne Forms Connector

    • Show Form capability

  • HTTP Connector

    • Custom HTML capability

  • PingOne Form Connector fields

  • HTTP Connector fields

Custom Fields support

Field (Collector)

Description

DaVinci module

Android

iOS

JavaScript

Text Input

(TextCollector)

Collects a single text string.

1.1.0

1.1.0

1.1.0

Password

(PasswordCollector)

Collects a single text string that cannot be read from the screen.

1.1.0

1.1.0

1.1.0

Dropdown

(SingleSelectCollector)

Collects a value from a dropdown containing one or more text strings.

1.1.0

1.1.0

1.1.0

Combobox

(MultiSelectCollector)

Collects a value from a dropdown containing one or more text strings, the user can enter their own text string.

1.1.0

1.1.0

1.1.0

Radio Button List

(SingleSelectCollector)

Collects a value from one or radio buttons.

1.1.0

1.1.0

1.1.0

Checkbox List

(MultiSelectCollector)

Collects the value of one or more checkboxes.

1.1.0

1.1.0

1.1.0

Toolbox support

Field (Collector)

Description

DaVinci module

Android

iOS

JavaScript

Flow Button

(FlowCollector)

Presents a customized button.

1.1.0

1.1.0

1.1.0

Flow Link

(FlowCollector)

Presents a customized link.

1.1.0

1.1.0

1.1.0

Translatable Rich Text

(TextCollector)

Presents rich text that you can translate into multiple languages.

1.1.0

1.1.0

1.1.0

Social Login

(IdpCollector)

Presents a button to allow users to authenticate using an external identity provider, such as Apple, Facebook, or Google.

1.1.0

1.1.0

1.1.0

HTTP Connector field and collector support

Field (Collector)

Description

DaVinci module

Android

iOS

JavaScript

Text field

(TextCollector)

Collects a single text string.

1.0.0

1.0.0

1.0.0

Password field

(PasswordCollector)

Collects a single text string that cannot be read from the screen.

1.0.0

1.0.0

1.0.0

Submit Button

(SubmitCollector)

Sends the collected data to PingOne to continue the DaVinci flow.

1.0.0

1.0.0

1.0.0

Flow Button

(FlowCollector)

Triggers an alternative flow without sending the data collected so far to PingOne.

1.0.0

1.0.0

1.0.0

Label

(LabelCollector)

Display a read-only text label.

1.1.0

1.1.0

1.1.0

Radio / Dropdown

(SingleSelectCollector)

Collects a single value from a choice of multiple options.

1.1.0

1.1.0

1.1.0

HTTP Connector SK-Component support

SK-Component (Collector)

Description

DaVinci module

Android

iOS

JavaScript

skIDP

(IdpCollector)

Presents a button to allow users to authenticate using an external identity provider, such as Apple, Facebook, or Google.

1.1.0

1.1.0

1.1.0

Unsupported features:

Verify that your flow does not depend on any unsupported elements:

SKPolling components

SKPolling components cannot be processed by the SDK and should not be included.

Images

Images included in the flow cannot be passed to the SDK.