# Handling 2FA / Transaction Request

## Request Notification Permission

You must request **Notification Permission** to receive notifications from Android 13+.

{% embed url="<https://developer.android.com/develop/ui/views/notifications/notification-permission>" %}

## Add Firebase Messaging Service

`FirebaseMessagingService` must be implemented to receive push notifications. If the service is already exist, you only need to add code related to Hyphen.

{% tabs %}
{% tab title="SampleMessagingService.kt" %}

```kotlin
import at.hyphen.android.sdk.ui.HyphenUI
import com.google.firebase.messaging.FirebaseMessagingService
import com.google.firebase.messaging.RemoteMessage

class SampleMessagingService : FirebaseMessagingService() {

    override fun onMessageReceived(message: RemoteMessage) {
        HyphenUI.onFirebaseMessageReceived(applicationContext, message)
    }
}
```

{% endtab %}

{% tab title="AndroidManifest.xml" %}

```xml
<service
    android:name=".SampleMessagingService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>
```

{% endtab %}
{% endtabs %}

## Handling Hyphen Notification Click

Add the code below to the root activity to ensure proper handling when click Hyphen push notification.

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

```kotlin
class MainActivity : AppCompatActivity(), HyphenAuthenticateDelegate {
    
    // ...
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        
        intent?.let {
            HyphenUI.handleHyphenIntent(this, it)
        }
    }
    
    // ...
    
    override fun onNewIntent(intent: Intent?) {
        super.onNewIntent(intent)

        intent?.let {
            HyphenUI.handleHyphenIntent(this, it)
        }
    }
}
```

{% endtab %}
{% endtabs %}
