DT Ignite Services Onboarding Guide
Ignite is Digital Turbine’s proprietary on-device technology that enables direct-to-consumer app installs, monetization solutions, app updates, and more as part of Ignite Services, a suite of tools for app publishers and platforms.
With Ignite Services, users can immediately download and install an app directly from a click on any call to action, bypassing the standard download process through Google Play. Ignite Services works in both web and app environments and can be used to enhance app install campaigns across many different channels, including web smart banners, paid user acquisition, SMS, email, and push messaging.
By delivering the app through Ignite Services rather than a third-party app store, Digital Turbine puts developers in control of their app distribution.
Glossary
Client ID/Secret
Unique identifier used by the Ignite Services SDK for authentication. This value is unique per Account and is provided by the Digital Turbine team.
Host app
The Account’s app that will be integrated with the Ignite Client Services SDK in order to interact with Ignite.
Ignite Client Services SDK
Digital Turbine’s SDK that allows authenticated host app to interact with Ignite on device.
Account
Entity that is integrating the Ignite Client Services SDK to deliver app installs.
MMP
Mobile Measurement Partner. An independent third-party platform that tracks, organizes, and visualizes mobile app data.
Operator
Telecommunications companies and device manufacturers that partner with Digital Turbine to install Ignite on device as part of initial device provisioning.
Target App/Target Package/Target APK
The APK/App that the host app requests Ignite to install.
Integration Overview
The integration process involves the following steps:
The Account representative provides host app and target apps to Digital Turbine.
Digital Turbine completes initial Ignite configuration and provides Client ID to Account representative.
The Account representative integrates Ignite Client Services SDK into the host app.
Required Assets
The Account representative must provide the following items to Digital Turbine:
Host app. Bundle ID and APK.
Target app(s). List of bundle IDs, version numbers, and APKs that the host app will install via Ignite Services. This list should be refreshed as new apps and versions become available.
Integrating the SDK
The Ignite Client Services SDK provides an API that allows the host app to interact with Ignite, Digital Turbine’s on-device APK. Proper integration of the Ignite Client Services SDK includes the following steps:
Add Client ID to the host app’s manifest file.
Declare and create an instance of Ignite Service.
Connect to Ignite Services.
Call API methods for app installation.
Disconnect from Ignite Services.
The SDK Quickstart Guide provides additional details regarding this process. Additionally, your DT Customer Success Representative can provide links to the Ignite Client Services SDK and a Demo App.
User Experience and Error Handling
In order to ensure proper user experience, the Account representative must consider the various different device conditions prior to installing the target app. The sections below outline the primary conditions that must be taken into consideration. Failure to do so will result in a broken user experience for a subset of users.
Device Eligibility
Eligibility refers to whether or not a given device supports Ignite Services. In order to be eligible, a device must be running the following items:
Android 6.0 or later
Digital Turbine’s Ignite APK version 7.4 (for WiFi downloads) or version 8.4 (for cellular downloads)
Initialization via the SDK checks for the presence of the Ignite APK. If Ignite is installed on the device, the initialization is successful. If Ignite is not installed on the device, the initialization fails.
Target App Approval
Digital Turbine must approve all APKs delivered through Ignite Services (Target apps) to ensure that they meet supply partner requirements. Target app approval is specific to the Account, supply partner, and country. Approvals are also version specific; therefore, any updates to an approved app must go through the approval process again. If an app install is requested for an unapproved APK version, the Ignite Client Services SDK will report an error. For more information about SDK error codes, see Callback Error Codes.
Target App on Device
Prior to installation, it is important to validate whether or not the target APK is already present on the device, and, if present, whether it is the latest version. The host app must perform these validation checks. The Ignite Client Services SDK does not currently provide this function.
Deep Linking and Deferred Deep Linking
Deep linking is the process by which a user is linked into specific content within the target app. If the app is present on the device, clicking a deep link opens the app and presents the specific content. Deferred deep linking happens when the deep linking is deferred until the app is downloaded and installed on the device.
Typically deep links are handled through an MMP that interacts with the app’s URI link structure. Account representatives must implement deep linking separately as the Ignite Client Services SDK does not provide this functionality.
Delivery Errors
Factors like insufficient space on device or poor internet connection can cause an app installation to fail. In these cases, the Ignite Client Services SDK provides failure reasons along with configurable retry settings. If you do not specify any retry settings, Ignite will use the operator’s retry settings (if configured) before using the default settings. The following documents may be helpful when planning for delivery errors:
Example Ignite Services Flow
The following is an example flow that can be used to deliver an app install.

Compliance Requirements
In order to install an APK via Ignite, the on-device user experience must meet compliance requirements of Android OS and Digital Turbine’s carrier and OEM partners. Ignite Services only provides the mechanism for installing a target APK, so Account representatives will work with you to ensure that the user flow is compliant and provides the end user with control over the experience.
The following sections provide compliance requirements for each stage of app installation.
Pre‑Installation
Prior to initiating an Ignite install, the user must clearly be presented with the following information either on an app download page or through an overlay:
App Name
App Description
In-App Purchases
App Version Number
Download Size
Developer Name
Developer Contact Information
Link to Developer Website
App Privacy Policy Link
The following items must be visible for users in the EU:
Age Requirements
Last Updated date
Additionally, any clickable area that triggers Ignite must contain a call to action (CTA) that indicates that a click will initiate an app installation (Example: “Install Now”).
Install Confirmation
A one-click install flow can only be used for a direct click on a CTA on full screen placements. Other clickable areas or ad types must use double opt-in (two-click) flow with a download confirmation in order to prevent accidental clicks from triggering an app installation.
During Installation
Upon initiating an app download and installation through Ignite, the user must clearly be presented with the following items:
Indication that the app download has started;
Installation progress, completion, or cancellation status;
A cancel button that allows the user to stop the installation at any point.
FAQ
What language is the Ignite Client Services SDK written in?
The Ignite Client Services SDK is written in Kotlin.
What is the size of the Ignite Client Services SDK?
The SDK is 280 KB; however, integration will potentially increase the size of the host APK more than that as additional Kotlin libraries may be required.
Are there any limitations on APK file type?
Ignite Client Services does not support Android Expansion Files (.obb file type). The Google Play Store deprecated this file type in August 2021, and new apps are required to publish with the Android App Bundles.
Last updated
