# Quick Start

## Create an App in the Dashboard

You need to create an app in the [Hyphen Dashboard](https://hyphen.at/dashboard/new) before using Hyphen SDK. After creating an app, an app secret will be issued. The app secret is required to initialize the SDK.

## Install the SDK using Gradle

We recommend Gradle to install our SDK.

{% tabs %}
{% tab title="build.gradle" %}
Edit `build.gradle` of your app level module to add Hyphen SDK.

```gradle
implementation "at.hyphen:android-sdk-core:1.0.0-alpha06"
implementation "at.hyphen:android-sdk-authenticate:1.0.0-alpha06"
implementation "at.hyphen:android-sdk-networking:1.0.0-alpha06"
implementation "at.hyphen:android-sdk-ui:1.0.0-alpha06"
implementation "at.hyphen:android-sdk-flow:1.0.0-alpha06"
```

{% endtab %}

{% tab title="build.gradle.kts" %}
Edit `build.gradle.kts` of your app level module to add Hyphen SDK.

```kotlin
implementation("at.hyphen:android-sdk-core:1.0.0-alpha06")
implementation("at.hyphen:android-sdk-authenticate:1.0.0-alpha06")
implementation("at.hyphen:android-sdk-networking:1.0.0-alpha06")
implementation("at.hyphen:android-sdk-ui:1.0.0-alpha06")
implementation("at.hyphen:android-sdk-flow:1.0.0-alpha06")
```

{% endtab %}
{% endtabs %}

## Firebase Configuration

Need your Firebase project to use Hyphen SDK. After enabling Google Authenticate and Push Messaging in your Firebase project, complete the Firebase setup through the `google-services.json` file.&#x20;

Please read the link below to set up Firebase.

<https://firebase.google.com/docs/android/setup>

## Configuring the SDK

### Declaring Permission

The following permissions are required to use the Hyphen SDK. Insert the code snippet below your `AndroidManifest.xml`.

<pre class="language-xml"><code class="lang-xml"><strong>&#x3C;!-- Required for hyphen networking (communicate with hyphen api server / flow network) -->
</strong><strong>&#x3C;uses-permission android:name="android.permission.INTERNET" />
</strong><strong>
</strong><strong>&#x3C;!-- Required for signing with device key -->
</strong>&#x3C;uses-permission android:name="android.permission.USE_BIOMETRIC" />

&#x3C;!-- Required for 2fa / transaction request notifications -->
&#x3C;uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
</code></pre>

### Register Hyphen Activity

SDK has its own activity to handle 2FA authenticate, transaction requests. Register the activity in your `AndroidManifest.xml`.

<pre class="language-xml"><code class="lang-xml"><strong>&#x3C;activity
</strong>    android:name="at.hyphen.android.sdk.ui.twofactor.Hyphen2FAActivity"
    android:exported="true" />
</code></pre>

### Initialize SDK

Insert the code below into the `onCreate` area of the class that inherited the `Application` used within the app.

{% tabs %}
{% tab title="\[YourActivityName]Activity.kt" %}

```kotlin
import at.hyphen.android.sdk.core.Hyphen

class MainActivity : Application() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        
        // ... 
        
        Hyphen.initialize(context = this)
        Hyphen.appSecret = "<YOUR-APP-SECRET>"
        Hyphen.network = Hyphen.NetworkType.TESTNET // or MAINNET
    }
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hyphen.at/android/quick-start.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
