To fully harness the potential of In-App Messaging, you must segment and target your In-App Messaging campaigns to specific user subsets. By identifying users with additional information, including their device demographics, location and any attributes of your choosing, you will be able to display intelligent, targeted in-app messages to the right users.

```js
const userInfo = {
  attributes: {
    // E.g. hobbies: ['cooking', 'knitting'],
  },
  demographic: {
    appVersion: '',
    locale: '', // E.g. en_US
    make: '', // E.g. Apple
    model: '', // E.g. iPhone
    modelVersion: '', // E.g. 13
    platform: '', // E.g. iOS
    platformVersion: '', // E.g. 15
    timezone: '' // E.g. Americas/Los_Angeles
  },
  location: {
    city: '', // E.g. Seattle
    country: '', // E.g. US,
    postalCode: '', // E.g. 98121
    region: '', // E.g. WA
    latitude: 0.0,
    longitude: 0.0
  },
  metrics: {
    // E.g. logins: 157
  }
};

await InAppMessaging.identifyUser('some-user-id', userInfo);
```

## Identify a user with Amazon Pinpoint

When using `identifyUser` with Amazon Pinpoint, you can configure the `address` and `optOut` properties in addition to the other user info properties.

```js
const userInfo = {
  address: '' // E.g. A device token or email address
  optOut: ''  // Either ALL or NONE
};

await InAppMessaging.identifyUser('some-user-id', userInfo);
```
