Android SDK Overview

ZetaCore Android is the Zeta Marketing Platform (ZMP) SDK for Android. It gives your app a single integration point for user identity, event tracking, push notifications, in-app messages, and the app inbox.

SDK version: This documentation covers Android SDK 1.0.1. For earlier versions, see Prior Android SDK guides.

This guide is for Android developers integrating the Zeta SDK into a consumer app. It covers what the SDK provides, how to get started, and where to find detailed documentation for each feature.

On this page


Requirements

Minimum
Android API level (minSdk)24 (Android 7.0)
Kotlin1.9+
Gradle8.4+
Android Gradle Plugin8.2+

Note: Java consumers must set compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 } in their module-level build.gradle to use lambda syntax with the SDK's callback APIs.

Quickstart

Get from zero to a tracked event in under five minutes.

  1. Add the SDK dependency to your module-level build.gradle.kts.
  2. Initialize the SDK in your Application.onCreate().
  3. Send your first event.
// build.gradle.kts
dependencies {
    implementation("net.zetaglobal.app:core:1.0.1")
}
import net.zetaglobal.app.zetacore.ZTConfig
import net.zetaglobal.app.zetacore.ZetaClient
import net.zetaglobal.app.zetacore.network.ZTRegion
import net.zetaglobal.app.zetacore.common.ZTAppEnvironment

val config = ZTConfig(
    clientSiteId = "your-site-id",
    clientSecret = "your-secret", // load from secure storage
    optIn = true,
    region = ZTRegion.US,
    appEnvironment = ZTAppEnvironment.PRODUCTION
)
ZetaClient.initialize(applicationContext, config)

ZetaClient.event.send("app_launched", mapOf("source" to "quickstart"))
import net.zetaglobal.app.zetacore.ZTConfig;
import net.zetaglobal.app.zetacore.ZetaClient;
import net.zetaglobal.app.zetacore.network.ZTRegion;
import net.zetaglobal.app.zetacore.common.ZTAppEnvironment;

ZTConfig config = new ZTConfig(
    "your-secret",                 // clientSecret -- load from secure storage
    "your-site-id",                // clientSiteId
    true,                          // optIn
    ZTRegion.US,                   // region
    ZTAppEnvironment.PRODUCTION    // appEnvironment
);
ZetaClient.INSTANCE.initialize(getApplicationContext(), config);

ZetaClient.INSTANCE.getEvent().send("app_launched", Map.of("source", "quickstart"));

Important: Do not hardcode clientSecret in your source code. Load it from a secure source (Android Keystore, remote configuration, or build-time injection) at app launch. See Data & Privacy for details.

For full configuration options and opt-in behavior, continue to Getting Started.

Module

The Android SDK ships a single module:

ModulePurposeAdd to target
coreCore SDK: configuration, user identity, event tracking, push notifications, in-app messages, app inbox. Required.App module

Installation instructions are on the Installation page.


Integration journey

The documentation follows the path a typical integration takes -- from installing the package to preparing for release. Work through it in order, or jump to the stage you need.

Set up and initialize

Get the dependency added and the client running in your app.

  • Installation -- Maven Central (Gradle), ProGuard/R8, and transitive dependencies.
  • Getting Started -- initialize the SDK, configure it, and handle opt-in/out.

Integrate core features

With the SDK initialized, identify your users and capture their behavior. Contact management covers identifying users with a uid or emailId, adding email and phone contacts, and attaching custom properties. Event tracking covers auto-tracked lifecycle events, screen-name tracking, and fully custom events. Events and user property updates are queued locally and synced automatically when connectivity is available.

Add messaging channels

Once users are identified, reach them through the channels orchestrated from ZMP.

  • Push Notifications -- Firebase Cloud Messaging integration, notification configuration, deep linking, and action callbacks.
  • In-App Messaging -- foreground, SDK-rendered messages with optional email collection.
  • App Inbox -- a persistent, queryable store of messages delivered to the user.

Prepare for release

Before shipping, reference the API surface, review compliance, and confirm version support.

  • API Reference -- feature-grouped index of every public type.
  • Changelog -- complete API-level changelog for every version.
  • Data & Privacy -- Google Play Data Safety, offline queueing, manifest permissions.
  • Versioning & Support -- SemVer policy, supported toolchain window, support channels.

Note: The migration guide for upgrading between SDK versions is maintained in the public distribution repository. See the Changelog for version-specific links.

Advanced topics

  • Logging -- ZTLogger, log levels, and recommended setup per build type.
  • Push Troubleshooting -- FCM diagnostics, error codes, common issues.
  • Testing and QA -- environment setup, test payloads, debug checklist.