# firebase::ump

API for User Messaging Platform.

## Summary

The User Messaging Platform (UMP) SDK is Google's option to handle user privacy and consent in mobile apps.

| ### Enumerations ||
|---|---|
| `https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a31571b292445fe90e7dd4755f8ff93b6{ https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a31571b292445fe90e7dd4755f8ff93b6ae162ed1c577de3a076f5f409f9980cc8 = 0, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a31571b292445fe90e7dd4755f8ff93b6a9d0ac2f9960a830cdbabc8389e15ff7b, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a31571b292445fe90e7dd4755f8ff93b6a1243cde668068dba714c0a0d9b24a459 }` | enumDebug values for testing geography. |
| `https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a692b9c51649e076b477453ca62dc0267{ https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a692b9c51649e076b477453ca62dc0267aee34a2e30c557d5b650dbebcd0866f16 = 0, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a692b9c51649e076b477453ca62dc0267a1871ae1dcfa90c1ed717d6be9ba3b7e4, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a692b9c51649e076b477453ca62dc0267aef3e3ea71ef29d3398d557be7c56de06, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a692b9c51649e076b477453ca62dc0267af80e63d636d231bcf759fa01d6c38fbb, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a692b9c51649e076b477453ca62dc0267a5c39207ec317d4adf3358d9b92fd7909, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a692b9c51649e076b477453ca62dc0267a3019eeafc447051f94471aca11308de3, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a692b9c51649e076b477453ca62dc0267a6909436f235a691d65db6d48cb0355dd, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a692b9c51649e076b477453ca62dc0267af5a59f3fba05eadd8c102867cfc4fc48 }` | enumErrors when loading or showing the consent form. |
| `https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ae649338824dc5088b6534b51b33107dd{ https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ae649338824dc5088b6534b51b33107dda5dd24ba730a31a1739f7d7b3bbef86ec = 0, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ae649338824dc5088b6534b51b33107ddad2c53216a3da19a614b7455bdc24cd54, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ae649338824dc5088b6534b51b33107dda35adfee85ae9d2dcaf81bc366a4fdec3 }` | enumStatus of the consent form, whether it is available to show or not. |
| `https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ac7152315ea2c7f2175d99d23a4d5dd90{ https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ac7152315ea2c7f2175d99d23a4d5dd90a8e729bcb5f6d7608abcd8dae9b2b013c = 0, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ac7152315ea2c7f2175d99d23a4d5dd90a2adc03e04b423a25d4ffc4a7fce62566, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ac7152315ea2c7f2175d99d23a4d5dd90a2a9a4e4647317f21f6b29271b7c2e2b0, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ac7152315ea2c7f2175d99d23a4d5dd90a6e617e5d395bd884c58d2005207ce792, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ac7152315ea2c7f2175d99d23a4d5dd90ad957da3806d812948fe3916919be76ab, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ac7152315ea2c7f2175d99d23a4d5dd90a07c66a3928ad3ae529e64cd5fab0084a, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ac7152315ea2c7f2175d99d23a4d5dd90a4e25c6fef1bb63c5f99e0dd41217c4ec, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1ac7152315ea2c7f2175d99d23a4d5dd90aa967358201877c017b34b28ac4d00b0f }` | enumErrors that can occur during a RequestConsentInfoUpdate operation. |
| `https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a6e109ceb2bcc5f23925ed2b97cda8a03{ https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a6e109ceb2bcc5f23925ed2b97cda8a03ad3fcd8589cfdc4149441ade6eb951a43 = 0, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a6e109ceb2bcc5f23925ed2b97cda8a03a124e3758b828d0bd77ab3630b0b6d3fc, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a6e109ceb2bcc5f23925ed2b97cda8a03ad05e235d734c93caacf0c05166484de2, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a6e109ceb2bcc5f23925ed2b97cda8a03a5eb753335c140beb77fc3c4c827e9195 }` | enumConsent status values. |
| `https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a9306e65217f577d523b053354d26e479{ https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a9306e65217f577d523b053354d26e479ab53805e7b44546997e3ed17bd57b4d09 = 0, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a9306e65217f577d523b053354d26e479a5665d4f822fd4a839e8791e7d4883462, https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1a9306e65217f577d523b053354d26e479ad2429cd336a17eafa6815147107cf7e6 }` | enumWhether the privacy options need to be displayed. |

| ### Typedefs ||
|---|---|
| `https://developers.google.com/admob/cpp/reference/namespace/firebase/ump#namespacefirebase_1_1ump_1aa0543ea7f5b1511b6ebf8cedd4b3bd44` | typedef `void *` This is a platform specific datatype that is required to show a consent form on screen. |

| ### Classes ||
|---|---|
| [firebase::ump::ConsentInfo](https://developers.google.com/admob/cpp/reference/class/firebase/ump/consent-info) | Consent Information class for the User Messaging Platform SDK. |

| ### Structs ||
|---|---|
| [firebase::ump::ConsentDebugSettings](https://developers.google.com/admob/cpp/reference/struct/firebase/ump/consent-debug-settings) | Debug settings for `https://developers.google.com/admob/cpp/reference/class/firebase/ump/consent-info#classfirebase_1_1ump_1_1_consent_info_1a38f38f22b70b35732c3cd63b18dd26d2`. |
| [firebase::ump::ConsentRequestParameters](https://developers.google.com/admob/cpp/reference/struct/firebase/ump/consent-request-parameters) | Parameters for the `https://developers.google.com/admob/cpp/reference/class/firebase/ump/consent-info#classfirebase_1_1ump_1_1_consent_info_1a38f38f22b70b35732c3cd63b18dd26d2` operation. |

## Enumerations

### ConsentDebugGeography

```c++
 ConsentDebugGeography
```
Debug values for testing geography.

| Properties ||
|---|---|
| `kConsentDebugGeographyDisabled` | Disable geography debugging. |
| `kConsentDebugGeographyEEA` | Geography appears as in EEA (European Economic Area) for debug devices. |
| `kConsentDebugGeographyNonEEA` | Geography appears as not in EEA for debug devices. |

### ConsentFormError

```c++
 ConsentFormError
```
Errors when loading or showing the consent form.

| Properties ||
|---|---|
| `kConsentFormErrorAlreadyUsed` | This form was already used. |
| `kConsentFormErrorInternal` | An internal error occurred. |
| `kConsentFormErrorInvalidOperation` | An invalid operation occurred. Try again. |
| `kConsentFormErrorOperationInProgress` | The operation is already in progress. Call `https://developers.google.com/admob/cpp/reference/class/firebase/ump/consent-info#classfirebase_1_1ump_1_1_consent_info_1a244f1fc0f2730cb37b74939f98031c6e` or `https://developers.google.com/admob/cpp/reference/class/firebase/ump/consent-info#classfirebase_1_1ump_1_1_consent_info_1a44a7b187f5c0719b369c731681da4e13` to get the status. |
| `kConsentFormErrorTimeout` | The load request timed out. Try again. |
| `kConsentFormErrorUnavailable` | The form is unavailable. |
| `kConsentFormErrorUnknown` | An unknown error occurred. |
| `kConsentFormSuccess` | The operation succeeded. |

### ConsentFormStatus

```c++
 ConsentFormStatus
```
Status of the consent form, whether it is available to show or not.

| Properties ||
|---|---|
| `kConsentFormStatusAvailable` | The consent form is available. Call `https://developers.google.com/admob/cpp/reference/class/firebase/ump/consent-info#classfirebase_1_1ump_1_1_consent_info_1a66259b326dfcda9035bffec424d8908d` to display it. |
| `kConsentFormStatusUnavailable` | The consent form is unavailable. Call `https://developers.google.com/admob/cpp/reference/class/firebase/ump/consent-info#classfirebase_1_1ump_1_1_consent_info_1aa20ce33d2e4e8fe5f1c5fe390dce5b5f` to load it. |
| `kConsentFormStatusUnknown` | Status is unknown. Call `https://developers.google.com/admob/cpp/reference/class/firebase/ump/consent-info#classfirebase_1_1ump_1_1_consent_info_1a38f38f22b70b35732c3cd63b18dd26d2` to update this. |

### ConsentRequestError

```c++
 ConsentRequestError
```
Errors that can occur during a RequestConsentInfoUpdate operation.

| Properties ||
|---|---|
| `kConsentRequestErrorInternal` | An internal error occurred. |
| `kConsentRequestErrorInvalidAppId` | Invalid GMA [App](https://developers.google.com/admob/cpp/reference/class/firebase/app#classfirebase_1_1_app) ID specified in AndroidManifest.xml or Info.plist. |
| `kConsentRequestErrorInvalidOperation` | An invalid operation occurred. Try again. |
| `kConsentRequestErrorMisconfiguration` | A misconfiguration exists in the UI. |
| `kConsentRequestErrorNetwork` | A network error occurred. |
| `kConsentRequestErrorOperationInProgress` | The operation is already in progress. Use `https://developers.google.com/admob/cpp/reference/class/firebase/ump/consent-info#classfirebase_1_1ump_1_1_consent_info_1a60953bd0246a112e3f69a60eb789afdb` to get the status. |
| `kConsentRequestErrorUnknown` | An unknown error occurred. |
| `kConsentRequestSuccess` | The operation succeeded. |

### ConsentStatus

```c++
 ConsentStatus
```
Consent status values.

| Properties ||
|---|---|
| `kConsentStatusNotRequired` | Consent is not required. |
| `kConsentStatusObtained` | Consent was required, and has been obtained. |
| `kConsentStatusRequired` | Consent is required, but not obtained. |
| `kConsentStatusUnknown` | Unknown status, e.g. prior to calling Request, or if the request fails. |

### PrivacyOptionsRequirementStatus

```c++
 PrivacyOptionsRequirementStatus
```
Whether the privacy options need to be displayed.

| Properties ||
|---|---|
| `kPrivacyOptionsRequirementStatusNotRequired` | Privacy options are not required to be shown. |
| `kPrivacyOptionsRequirementStatusRequired` | Privacy options must be shown. Call `https://developers.google.com/admob/cpp/reference/class/firebase/ump/consent-info#classfirebase_1_1ump_1_1_consent_info_1a56684b2b823cef513297084a440dd363` to fulfil this requirement. |
| `kPrivacyOptionsRequirementStatusUnknown` | Privacy options requirement status is unknown. Call `https://developers.google.com/admob/cpp/reference/class/firebase/ump/consent-info#classfirebase_1_1ump_1_1_consent_info_1a38f38f22b70b35732c3cd63b18dd26d2` to update. |

## Typedefs

### FormParent

```c++
void * FormParent
```
This is a platform specific datatype that is required to show a consent form on screen.

The following defines the datatype on each platform:

- Android: A `jobject` which references an Android Activity.
- iOS: An `id` which references an iOS UIViewController.

A void pointer for stub classes.

<br />