# 로그인 연동 및 연동 해제

### 로그인 연동 <a href="#bind-uid" id="bind-uid"></a>

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
Adison.setUid("573E010013647A49B8F6B3E35E8B3C4")
```

{% endtab %}
{% endtabs %}

#### UID 생성 설계 요건

> UID는 사용자마다 **고유(unique)하며 변하지 않는 값**이어야 합니다.
>
> **유저가 탈퇴 후 재가입한 경우가 아니라면**  같은 사용자는 **앱 재설치, 기기 변경, 재로그인 이후에도 항상 동일한 UID**를 가져야 합니다.

1. UID는 광고 중복 제거 등을 위해 사용자를 식별할 수 있는 난수값이어야 합니다.
2. UID는 **총 80자 한도에서 설정**해주시기 바랍니다.
3. UID 를 통해 **유저 식별자를 전달받는 것은 개인정보를 전달받지 않기 위한 조치**이므로 애디슨 측에 생성 로직을 설명해주시면 안됩니다.
4. UID는 매체사 앱에서 SDK에 전달해야 하며, 애디슨은 SDK를 통해 UID를 수집합니다.
5. 매체사 적립 서버는 UID를 기반으로 리워드 적립 처리를 할 수 있어야 합니다.

#### 로그인 처리

아래 그림과 같이 오퍼월 표시 이전에 사용자 식별자를 입력해 주시기 바랍니다. 로그인 연동 후 오퍼월을 표시해 주세요.

<figure><img src="https://content.gitbook.com/content/L69UORWMnaBEkVsTezo7/blobs/bEokaGRnMJcT2ZPmXXNC/%E1%84%8B%E1%85%A9%E1%84%91%E1%85%A5%E1%84%8B%E1%85%AF%E1%86%AF%20%E1%84%85%E1%85%A9%E1%84%80%E1%85%B3%E1%84%8B%E1%85%B5%E1%86%AB%20%E1%84%8B%E1%85%A7%E1%86%AB%E1%84%83%E1%85%A9%E1%86%BC.png" alt=""><figcaption><p>오퍼월 표시 전 로그인 처리</p></figcaption></figure>

### 로그인을 지연하여 처리하는 경우  <a href="#offerwall-listener" id="offerwall-listener"></a>

사용자의 적극적인 참여를 유도하기 위해 오퍼월을 먼저 경험한 이후 사용자 식별자가 필수인 시점(광고 참여와 문의하기 이동) 전으로 로그인을 지연하여 처리가 가능합니다. `listener`를 등록하고 사용자 식별자 입력 전에 오퍼월을 표시하면 해당 시점에 `requestLogin()`을 콜백으로 호출하여 로그인을 요청합니다. 로그인 연동 이후 해당 화면을 종료하고 오퍼월 화면으로 재진입하면 내부에서 식별자 변경을 인지하여 사용자의 기존 액션을 이어서 진행합니다.

<figure><img src="https://content.gitbook.com/content/L69UORWMnaBEkVsTezo7/blobs/fH4n3T8LL0KBA2oSnq4p/%E1%84%8B%E1%85%A9%E1%84%91%E1%85%A5%E1%84%8B%E1%85%AF%E1%86%AF%20%E1%84%85%E1%85%A9%E1%84%80%E1%85%B3%E1%84%8B%E1%85%B5%E1%86%AB%20%E1%84%8B%E1%85%A7%E1%86%AB%E1%84%83%E1%85%A9%E1%86%BC.png" alt=""><figcaption><p>오퍼월 표시 후 로그인 처리</p></figcaption></figure>

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
Adison.setLoginListener { context ->
    context.startActivity(Intent(context, LoginActivity::class.java))
    // 사용자 식별자는 setUid 로 처리해주세요.
}
```

{% endtab %}
{% endtabs %}

### 로그인 연동 해제가 필요한 경우 <a href="#unbind-uid" id="unbind-uid"></a>

사용자가 로그아웃을 하거나 서비스를 탈퇴하는 경우에는 애디슨 오퍼월에 사용 식별값 해제하여 연결 관계를 끊을 수 있습니다.

{% hint style="danger" %}
로그아웃, 탈퇴 등의 경우 SDK에서도 반드시 로그인 연동을 해제해 주셔야 합니다.
{% endhint %}

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
Adison.setUid(null)
```

{% endtab %}
{% endtabs %}
