Getting Started with the Magic Client SDK for Android Apps

Getting Started with the Magic Client SDK for Android Apps

Reference for the Magic SDK for Android.

Overview

The Magic SDK for Android is your entry-point to secure, passwordless authentication for your mobile app. This guide will cover some important topics for getting started with Android APIs and to make the most of Magic's features.

Magic can support either server-based or serverless web applications. It is up to the developers to implement the Admin SDK to validate the DID Token.

Installation

Magic SDK is available in mavenCentral. Simply add the following line to the build.gradle in your Android project:

dependencies { implementation 'link.magic:magic-android:0.3.0' }

Sync the project with new dependencies settings.

Creating an SDK Instance

All the examples are written in Kotlin.

open class MagicActivity: AppCompatActivity() { lateinit var magic: Magic override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) magic = Magic(this, "YOUR_PUBLISHABLE_KEY") } }

Returns CompletableFuture

All Magic functions are asynchronous calls. They will return a CompletableFuture object, which resolves the results in a Response class.

To get the result without blocking the UI thread, call CompletableFuture.whenComplete to wait for the results asynchronously.

val result = magic.auth.loginWithMagicLink("hello@example.com") result.whenComplete { response: DIDToken?, error: Throwable? -> if (error != null) { //Handle Error } if (response != null && !response.hasError()) { Log.d("Magic", "You're logged in." + response.result) } else { Log.d("login", "Not Logged in") } }

For the full implementation of Response class, please check here.


Getting Started with the Magic Client SDK for Android Apps