---
schema_version: "1"
id: 38d4ed2ba48a23d0de33b026be74fa019341b9e11d93c03b78d2cf4a90a7e827
title: Marketing Cloud Engagement SDK
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud-mobilepush/engagement_sdk/references/flutter-hybrid/flutter-marketing-cloud-engagement-sdk.md
canonical_url: https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/flutter-marketing-cloud-engagement-sdk.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: f4d292bd366c7b9c543e4f1a40fe8f01a21f01e28679e934bad03903b4bfef99
products:
  - Salesforce Engagement SDK
---
# Marketing Cloud Engagement SDK

This section provides API reference details for the Marketing Cloud Engagement SDK module in the Flutter unified plugin.

## refreshInbox

Requests an updated list of inbox messages from the Marketing Cloud servers.

### Syntax

```dart
MarketingCloudSdk.refreshInbox();
```

### Returns

- `Future<bool>` - Indicates whether the refresh request succeeded.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final refreshed = await MarketingCloudSdk.refreshInbox();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/refresh-inbox.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)refreshMessages>)

## getAllMessages

Retrieves all active inbox messages, including read and unread messages. Doesn't retrieve deleted inbox messages.

### Syntax

```dart
MarketingCloudSdk.getAllMessages();
```

### Returns

- `Future<List<InboxMessage>>` - A future that completes with the list of inbox messages.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final messages = await MarketingCloudSdk.getAllMessages();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-messages.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getAllMessages>)

## getUnreadMessages

Retrieves all active, unread inbox messages. Doesn't retrieve deleted inbox messages.

### Syntax

```dart
MarketingCloudSdk.getUnreadMessages();
```

### Returns

- `Future<List<InboxMessage>>` - A future that completes with the list of unread inbox messages.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final messages = await MarketingCloudSdk.getUnreadMessages();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-unread-messages.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getUnreadMessages>)

## getReadMessages

Retrieves all active, read inbox messages. Doesn't retrieve unread inbox messages.

### Syntax

```dart
MarketingCloudSdk.getReadMessages();
```

### Returns

- `Future<List<InboxMessage>>` - A future that completes with the list of read inbox messages.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final messages = await MarketingCloudSdk.getReadMessages();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-read-messages.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getReadMessages>)

## getDeletedMessages

Retrieves all active, deleted inbox messages.

### Syntax

```dart
MarketingCloudSdk.getDeletedMessages();
```

### Returns

- `Future<List<InboxMessage>>` - A future that completes with the list of deleted inbox messages.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final messages = await MarketingCloudSdk.getDeletedMessages();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-deleted-messages.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getDeletedMessages>)

## getMessageCount

Retrieves the total number of inbox messages, excluding deleted messages.

### Syntax

```dart
MarketingCloudSdk.getMessageCount();
```

### Returns

- `Future<int?>` - A future that completes with the total inbox message count.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final count = await MarketingCloudSdk.getMessageCount();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-message-count.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getAllMessagesCount>)

## getUnreadMessageCount

Retrieves the total number of unread inbox messages, excluding deleted messages.

### Syntax

```dart
MarketingCloudSdk.getUnreadMessageCount();
```

### Returns

- `Future<int?>` - A future that completes with the unread inbox message count.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final count = await MarketingCloudSdk.getUnreadMessageCount();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-unread-message-count.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getUnreadMessagesCount>)

## getReadMessageCount

Retrieves the total number of read inbox messages, excluding deleted messages.

### Syntax

```dart
MarketingCloudSdk.getReadMessageCount();
```

### Returns

- `Future<int?>` - A future that completes with the read inbox message count.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final count = await MarketingCloudSdk.getReadMessageCount();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-read-message-count.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getReadMessagesCount>)

## getDeletedMessageCount

Retrieves the total number of deleted inbox messages.

### Syntax

```dart
MarketingCloudSdk.getDeletedMessageCount();
```

### Returns

- `Future<int?>` - A future that completes with the deleted inbox message count.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final count = await MarketingCloudSdk.getDeletedMessageCount();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-deleted-message-count.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getDeletedMessagesCount>)

## markMessageRead

Marks an inbox message as read in local storage.

### Syntax

```dart
MarketingCloudSdk.markMessageRead(id);
```

### Parameters

| Parameter | Type     | Description                                  |
| --------- | -------- | -------------------------------------------- |
| `id`      | `String` | The ID of the inbox message to mark as read. |

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.markMessageRead('message-id-123');
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/set-message-read.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)markMessageWithIdReadWithMessageId:>)

## markMessageDeleted

Marks an inbox message as deleted in local storage.

### Syntax

```dart
MarketingCloudSdk.markMessageDeleted(id);
```

### Parameters

| Parameter | Type     | Description                                     |
| --------- | -------- | ----------------------------------------------- |
| `id`      | `String` | The ID of the inbox message to mark as deleted. |

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.markMessageDeleted('message-id-123');
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/delete-message.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)markMessageWithIdDeletedWithMessageId:>)

## markAllMessagesRead

Marks all active, unread inbox messages as read.

### Syntax

```dart
MarketingCloudSdk.markAllMessagesRead();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.markAllMessagesRead();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/mark-all-messages-read.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)markAllMessagesRead>)

## markAllMessagesDeleted

Marks all active inbox messages as deleted.

### Syntax

```dart
MarketingCloudSdk.markAllMessagesDeleted();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.markAllMessagesDeleted();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/mark-all-messages-deleted.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)markAllMessagesDeleted>)

## trackInboxMessageOpened

Tracks the opening of an inbox message for analytics.

### Syntax

```dart
MarketingCloudSdk.trackInboxMessageOpened(id);
```

### Parameters

| Parameter | Type     | Description                                  |
| --------- | -------- | -------------------------------------------- |
| `id`      | `String` | The ID of the inbox message that was opened. |

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.trackInboxMessageOpened('message-id-123');
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/track-inbox-open-event.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)trackMessageOpened:>)

## addTag

Adds a tag to the list of tags in the registration.

### Syntax

```dart
MarketingCloudSdk.addTag(tag);
```

### Parameters

| Parameter | Type     | Description     |
| --------- | -------- | --------------- |
| `tag`     | `String` | The tag to add. |

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.addTag('vip-customer');
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/-editor/add-tag.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)addTag:>)

## addTags

Adds multiple tags to the list of tags in the registration.

### Syntax

```dart
MarketingCloudSdk.addTags(tags);
```

### Parameters

| Parameter | Type           | Description              |
| --------- | -------------- | ------------------------ |
| `tags`    | `List<String>` | The list of tags to add. |

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.addTags(['vip-customer', 'newsletter-subscriber']);
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/-editor/add-tags.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)addTags:>)

## removeTag

Removes a tag from the list of tags in the registration.

### Syntax

```dart
MarketingCloudSdk.removeTag(tag);
```

### Parameters

| Parameter | Type     | Description        |
| --------- | -------- | ------------------ |
| `tag`     | `String` | The tag to remove. |

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.removeTag('vip-customer');
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/-editor/remove-tag.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)removeTag:>)

## removeTags

Removes multiple tags from the list of tags in the registration.

### Syntax

```dart
MarketingCloudSdk.removeTags(tags);
```

### Parameters

| Parameter | Type           | Description                 |
| --------- | -------------- | --------------------------- |
| `tags`    | `List<String>` | The list of tags to remove. |

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.removeTags(['vip-customer', 'newsletter-subscriber']);
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/-editor/remove-tags.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)removeTag:>)

## getTags

Returns the tags currently set on the device.

### Syntax

```dart
MarketingCloudSdk.getTags();
```

### Returns

- `Future<List<String>?>` - A future that completes with the list of tags currently set on the device.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final tags = await MarketingCloudSdk.getTags();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/get-tags.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)tags>)

## getAttributes

Returns a map of attributes set in the registration.

This method is deprecated. Use `SFMCSdkModule.getAttributes` from `sfmc_core` instead. `SFMCSdkModule.getAttributes` coerces null attribute values to an empty string (`''`) rather than the literal string `"null"`.

### Syntax

```dart
MarketingCloudSdk.getAttributes();
```

### Returns

- `Future<Map<String, String>?>` - A future that completes with the map of attributes set in the registration.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final attributes = await MarketingCloudSdk.getAttributes();
```

## getDeviceId

Returns the device ID that Marketing Cloud uses to send push messages to the device.

### Syntax

```dart
MarketingCloudSdk.getDeviceId();
```

### Returns

- `Future<String?>` - A future that completes with the device ID.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final deviceId = await MarketingCloudSdk.getDeviceId();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/get-device-id.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)deviceIdentifier>)

## getContactKey

Returns the contact key for the device.

This method is deprecated. Use `SFMCSdkModule.getProfileId` from `sfmc_core` instead.

### Syntax

```dart
MarketingCloudSdk.getContactKey();
```

### Returns

- `Future<String?>` - A future that completes with the contact key currently set on the device.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final contactKey = await MarketingCloudSdk.getContactKey();
```

## setSignedString

Sets the signed string for device/contact authentication. The signed string is typically a JWT used to authenticate the device or contact, and this feature must be enabled on the Marketing Cloud account.

### Syntax

```dart
MarketingCloudSdk.setSignedString(signedString);
```

### Parameters

| Parameter      | Type      | Description                                               |
| -------------- | --------- | --------------------------------------------------------- |
| `signedString` | `String?` | The signed string to set. Pass `null` to clear the value. |

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.setSignedString('eyJhbGciOiJIUzI1NiJ9...');
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/-editor/set-signed-string.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setSignedString:>)

## getSignedString

Returns the signed string for the device. The signed string is usually a JWT used to authenticate the device or contact. If no signed string is set, this method returns `null`.

### Syntax

```dart
MarketingCloudSdk.getSignedString();
```

### Returns

- `Future<String?>` - A future that completes with the signed string, or `null` if no signed string is set.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final signedString = await MarketingCloudSdk.getSignedString();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/get-signed-string.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)signedString>)

## enablePiAnalytics

Enables Predictive Intelligence analytics in the Marketing Cloud SDK.

### Syntax

```dart
MarketingCloudSdk.enablePiAnalytics();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.enablePiAnalytics();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/enable-pi-analytics.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setPiAnalyticsEnabled:>)

## disablePiAnalytics

Disables Predictive Intelligence analytics in the Marketing Cloud SDK.

### Syntax

```dart
MarketingCloudSdk.disablePiAnalytics();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.disablePiAnalytics();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/disable-pi-analytics.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setPiAnalyticsEnabled:>)

## isPiAnalyticsEnabled

Checks if Predictive Intelligence analytics is enabled.

### Syntax

```dart
MarketingCloudSdk.isPiAnalyticsEnabled();
```

### Returns

- `Future<bool>` - Indicates whether Predictive Intelligence analytics is enabled.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final enabled = await MarketingCloudSdk.isPiAnalyticsEnabled();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/are-pi-analytics-enabled.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)isPiAnalyticsEnabled>)

## enableAnalytics

Enables analytics in the Marketing Cloud SDK.

### Syntax

```dart
MarketingCloudSdk.enableAnalytics();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.enableAnalytics();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/enable-analytics.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setAnalyticsEnabled:>)

## disableAnalytics

Disables analytics in the Marketing Cloud SDK.

### Syntax

```dart
MarketingCloudSdk.disableAnalytics();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.disableAnalytics();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/disable-analytics.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setAnalyticsEnabled:>)

## isAnalyticsEnabled

Checks if analytics is enabled in the Marketing Cloud SDK.

### Syntax

```dart
MarketingCloudSdk.isAnalyticsEnabled();
```

### Returns

- `Future<bool>` - Indicates whether analytics is enabled.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final enabled = await MarketingCloudSdk.isAnalyticsEnabled();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/are-analytics-enabled.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)isAnalyticsEnabled>)

## enableLogging

Enables verbose logging within the native Marketing Cloud SDK.

### Syntax

```dart
MarketingCloudSdk.enableLogging();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.enableLogging();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sfmcsdk/com.salesforce.marketingcloud.sfmcsdk.components.logging/-log-level/index.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setDebugLoggingEnabled:>)

## disableLogging

Disables verbose logging within the native Marketing Cloud SDK.

### Syntax

```dart
MarketingCloudSdk.disableLogging();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.disableLogging();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sfmcsdk/com.salesforce.marketingcloud.sfmcsdk.components.logging/-log-level/index.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setDebugLoggingEnabled:>)

## setRegistrationCallback

Registers a callback to receive registration change events from the SDK.

### Syntax

```dart
MarketingCloudSdk.setRegistrationCallback();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.setRegistrationCallback();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/register-for-registration-events.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setRegistrationCallback:>)

## unsetRegistrationCallback

Unregisters the registration change callback.

### Syntax

```dart
MarketingCloudSdk.unsetRegistrationCallback();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.unsetRegistrationCallback();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/unregister-for-registration-events.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)unsetRegistrationCallback>)

## registrationEvents

A broadcast stream of registration events. Emits a map that contains registration data when the registration changes.

### Syntax

```dart
MarketingCloudSdk.registrationEvents;
```

### Returns

- `Stream<Map<String, dynamic>>` - A broadcast stream that emits a map of registration data when the registration changes.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
MarketingCloudSdk.registrationEvents.listen((event) {
  print('Registration changed: $event');
});
```

## registerInboxResponseListener

Registers a listener for inbox message changes.

### Syntax

```dart
MarketingCloudSdk.registerInboxResponseListener(listener);
```

### Parameters

| Parameter  | Type                    | Description                                         |
| ---------- | ----------------------- | --------------------------------------------------- |
| `listener` | `InboxResponseListener` | The callback invoked when an inbox message changes. |

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();

void onInboxChanged(List<InboxMessage> messages) {
  print('Inbox changed: ${messages.length} messages');
}

await MarketingCloudSdk.registerInboxResponseListener(onInboxChanged);
```

## unregisterInboxResponseListener

Unregisters a previously registered inbox response listener.

### Syntax

```dart
MarketingCloudSdk.unregisterInboxResponseListener(listener);
```

### Parameters

| Parameter  | Type                    | Description             |
| ---------- | ----------------------- | ----------------------- |
| `listener` | `InboxResponseListener` | The callback to remove. |

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();

void onInboxChanged(List<InboxMessage> messages) {
  print('Inbox changed: ${messages.length} messages');
}

await MarketingCloudSdk.registerInboxResponseListener(onInboxChanged);
await MarketingCloudSdk.unregisterInboxResponseListener(onInboxChanged);
```

## enableLocation

Enables the location (geofence) feature at runtime. In iOS apps, flips the developer override on `MarketingCloudSdk`. In Android apps, enables geofence messaging using `RegionMessageManager`. Request the required OS location permissions before you call this method.

### Syntax

```dart
MarketingCloudSdk.enableLocation();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.enableLocation();
final enabled = await MarketingCloudSdk.isLocationEnabled();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages/-region-message-manager/enable-geofence-messaging.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setLocationEnabled:>)

## disableLocation

Disables the location (geofence) feature at runtime. In iOS apps, flips the developer override on `MarketingCloudSdk`. In Android apps, disables geofence messaging using `RegionMessageManager`.

### Syntax

```dart
MarketingCloudSdk.disableLocation();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.disableLocation();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages/-region-message-manager/disable-geofence-messaging.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setLocationEnabled:>)

## isLocationEnabled

Reports whether the location, or the geofence feature, is enabled.

### Syntax

```dart
MarketingCloudSdk.isLocationEnabled();
```

### Returns

- `Future<bool>` - Indicates whether the location (geofence) feature is enabled.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final enabled = await MarketingCloudSdk.isLocationEnabled();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages/-region-message-manager/is-geofence-messaging-enabled.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)isLocationEnabled>)

## startWatchingLocation

In iOS apps, starts tracking the coordinates of an app user. In Android apps, geofence transitions are driven by `enableLocation` and `disableLocation`.

### Syntax

```dart
MarketingCloudSdk.startWatchingLocation();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.startWatchingLocation();
```

### See Also

- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)startWatchingLocation>)

## stopWatchingLocation

In iOS apps, stops tracking the app user's location.

### Syntax

```dart
MarketingCloudSdk.stopWatchingLocation();
```

### Returns

- `Future<void>`

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
await MarketingCloudSdk.stopWatchingLocation();
```

### See Also

- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)stopWatchingLocation>)

## isWatchingLocation

In iOS apps, reports whether the SDK actively watches the app user's location. In Android apps, always returns `false`.

### Syntax

```dart
MarketingCloudSdk.isWatchingLocation();
```

### Returns

- `Future<bool>` - Indicates whether the SDK is actively watching the app user's location.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final watching = await MarketingCloudSdk.isWatchingLocation();
```

### See Also

- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)watchingLocation>)

## getLastKnownLocation

Returns the last known device location as reported by the native SDK. iOS returns a raw `[String: String]` dictionary, which usually includes `latitude` and `longitude` keys. Returns `null` when the app hasn't captured any data. Always returns `null` in Android apps.

### Syntax

```dart
MarketingCloudSdk.getLastKnownLocation();
```

### Returns

- `Future<Map<String, String>?>` - A future that completes with the last known location, or `null` if unavailable.

### Example

```dart
import 'package:sfmc_marketingcloudsdk/sfmc_marketingcloudsdk.dart';

await MarketingCloudSdk.requestSdk();
final location = await MarketingCloudSdk.getLastKnownLocation();
if (location != null) {
  final lat = location['latitude'];
  final lng = location['longitude'];
  debugPrint('Last known: $lat, $lng');
}
```

### See Also

- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)lastKnownLocation>)

## enableProximityMessaging

In Android apps, enables proximity (beacon) messaging and requires `ACCESS_FINE_LOCATION` and `ACCESS_BACKGROUND_LOCATION`.

### Syntax

```dart
MarketingCloudSdk.enableProximityMessaging();
```

### Returns

- `Future<void>`
