> ## Documentation Index
> Fetch the complete documentation index at: https://moengage-sdk-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Setting Unique Id for SDK versions below 9.2.0

# Implementing Login/Logout

* It's important to set the User Attribute Unique ID when a user logs into your app.
* This is to merge the new user with the existing user, if any exists, and will help prevent creation of unnecessary/stale users.
* Setting the Unique ID is a critical piece to tie a user across devices and installs/uninstalls as well across all platforms (i.e. iOS, Android, Windows, The Web). Set the **USER\_ATTRIBUTE\_UNIQUE\_ID** attribute as soon as the user is **logged in**. Unique ID can be something like an email ID, a username (unique), or a database ID or any Backend generated ID.
* Do not set this for the user who not logged in.

## Login

<CodeGroup>
  ```Dart Dart theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import 'package:moengage_flutter/moengage_flutter.dart';
  final MoEngageFlutter _moengagePlugin = MoEngageFlutter(YOUR_APP_ID);
  _moengagePlugin.initialise();
  _moengagePlugin.setUniqueId("Unique ID");
  ```
</CodeGroup>

**Note:** The following values are not allowed in the UniqueID field: "unknown", "guest", "null", "0", "1", "true", "false", "user\_attribute\_unique\_id", "(empty)", "na", "n/a", "", "dummy\_seller\_code", "user\_id", "id", "customer\_id", "uid", "userid", "none", "-2", "-1", "2"

## Logout

The application needs to notify the MoEngage SDK whenever the user is logged out of the application. To notify the SDK, call the API whenever the user is logged out of the application.

<CodeGroup>
  ```Dart Dart theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import 'package:moengage_flutter/moengage_flutter.dart';
  final MoEngageFlutter _moengagePlugin = MoEngageFlutter(YOUR_WORKSPACE_ID);
  _moengagePlugin.initialise();
  _moengagePlugin.logout();
  ```
</CodeGroup>

 

## Updating User Attribute Unique Id

Use the method *setAlias()* to update the user attribute unique id instead of *setUniqueId()* with a different value. Using the method *setUniqueId()* with a new value creates unintended users in MoEngage.

<CodeGroup>
  ```Dart Dart theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import 'package:moengage_flutter/moengage_flutter.dart';
  final MoEngageFlutter _moengagePlugin = MoEngageFlutter(YOUR_WORKSPACE_ID);
  _moengagePlugin.initialise();
  _moengagePlugin.setAlias("Updated Unique ID");
  ```
</CodeGroup>

<Warning>
  **Critical**

  Please make sure that you use `setAlias()` for updating the Unique Identifier and not `setUniqueId()` as calling `setUniqueId()` with a new value will reset the current user and lead to the creation of unintended users in our system.
</Warning>
