Skip to content

About

Sequenzy for Android (Maven Central: com.sequenzy:sequenzy-android)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Sequenzy for Android

The official Android SDK for Sequenzy, the email marketing platform for SaaS. Identify contacts, track events, receive push notifications and show in-app messages and content cards from an Android app. Events from your app start the same sequences as your emails, and push and in-app messages are steps in them. Full guide: Mobile SDKs.

Install

dependencies {
    implementation("com.sequenzy:sequenzy-android:0.1.0")
    implementation("com.google.firebase:firebase-messaging:24.1.0") // for push
}

minSdk 21. The SDK compiles against Firebase Messaging but does not bring it in.

Use

class MyApp : Application() {
    override fun onCreate() {
        super.onCreate()
        Sequenzy.configure(
            this,
            publicKey = "seq_pk_...",       // key with your package name under Allowed app IDs
            companyId = "your-company-id",
            identityTokenProvider = { email -> myBackend.sequenzyToken(email) },
        )
    }
}

Sequenzy.identify(user.email)                   // after sign-in
Sequenzy.track("workout_completed", mapOf("minutes" to 30))
Sequenzy.reset()                                 // on sign-out
val cards = Sequenzy.fetchCards()                // suspend; inbox screen

SequenzyMessagingService (declared by the SDK's manifest) registers FCM tokens and shows pushes that arrive in the foreground; taps on background notifications are reported when they open your app. Apps with their own FirebaseMessagingService call SequenzyMessagingService.handleNewToken and handleMessage from it. The identity token provider should suspend (for example with a suspending HTTP client) rather than block a thread: the SDK times it out after 20 seconds only at suspension points. Ask for POST_NOTIFICATIONS on Android 13+. With a singleTop or singleTask launcher activity, call Sequenzy.handleIntent(this, intent) from onNewIntent. Set Sequenzy.inAppListener to veto messages or open links yourself, and Sequenzy.notificationIcon for the small icon.

Layout

Module Contents
sequenzy-core Protocol client, identity, event queue, payload parsing. Plain Kotlin/JVM.
sequenzy-android Facade, SharedPreferences store, FCM service, notifications, in-app presenter
example One-screen app

Develop

./gradlew :sequenzy-core:test                 # no Android SDK needed
./gradlew :sequenzy-android:assembleRelease :example:assembleDebug

The Android modules are only included when ANDROID_HOME or local.properties points at an Android SDK. Tests run against ../contract/fixtures. This repository is updated from Sequenzy's SDK sources with every release.

Links

About

Sequenzy for Android (Maven Central: com.sequenzy:sequenzy-android)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages