Git Product home page Git Product logo

android-sdk's Introduction

Parcelvoy Logo Parcelvoy Logo

Parcelvoy Android SDK

Installation

Installing the Parcelvoy Android SDK will provide you with user identification, deeplink unwrapping and basic tracking functionality. The Android SDK is available through jitpack or through manual installation.

Version Information

  • The Parcelvoy Android SDK supports SDK 21+

Install the SDK

In your build.gradle add:

dependencies {
    implementation 'com.github.parcelvoy:android-sdk:0.1.7'
}

Usage

Initialize

Before using any methods, the library must be initialized with an API key and URL endpoint.

Initialize the library:

val analytics = Parcelvoy.initialize(context, YOUR_API_KEY, YOUR_URL_ENDPOINT)

Identify

You can handle the user identity of your users by using the identify method. This method works in combination either/or associate a given user to your internal user ID (external_id) or to associate attributes (traits) to the user. By default all events and traits are associated with an anonymous ID until a user is identified with an external_id. From that point moving forward, all updates to the user and events will be associated to your provider identifier.

analytics.identify(
    id = USER_ID,
    traits = mapOf(
        "first_name" to "John",
        "last_name" to "Doe"
    )
)

Events

If you want to trigger journey and list updates off of things a user does within your app, you can pass up those events by using the track method.

analytics.track(
    event = "Application Opened",
    properties = mapOf("property" to true)
)

Register Device

In order to send push notifications to a given device you need to register for notifications and then register the device with Parcelvoy. You can do so by using the register method. If a user does not grant access to send notifications, you can also call this method without a token to register device characteristics.

analytics.register(
    token = token,
    appBuild = BuildConfig.VERSION_CODE,
    appVersion = BuildConfig.VERSION_NAME
)

Deeplink Navigation

To allow for click tracking links in emails can be click-wrapped in a Parcelvoy url that then needs to be unwrapped for navigation purposes. For information on setting this up on your platform, please see our deeplink documentation.

Parcelvoy includes a method which checks to see if a given URL is a Parcelvoy URL and if so, unwraps the url, triggers the unwrapped URL and calls the Parcelvoy API to register that the URL was executed.

To start using deeplinking in your app, add your Parcelvoy deployment URL in your activity intent-filter. Example in the sample project dere.

Next, you'll need to update your apps code to support unwrapping the Parcelvoy URLs that open your app. To do so, use the getUriRedirect(universalLink) method. In your app delegate's onNewIntent(intent) method, unwrap the URL and pass it to the handler:

override fun onNewIntent(intent: Intent?) {
    super.onNewIntent(intent)

    val uri = intent?.data
    if (uri != null) {
        val redirect = analytics.getUriRedirect(uri)
    }
}

Parcelvoy links will now be automatically read and opened in your application.

Example

Explore our example project which includes basic usage.

android-sdk's People

Contributors

johnpaulmckean avatar pushchris avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.