<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@snowplow/react-native-tracker](./react-native-tracker.md) &gt; [PlatformContextRetriever](./react-native-tracker.platformcontextretriever.md)

## PlatformContextRetriever interface

Overrides for the values for properties of the platform context.

<b>Signature:</b>

```typescript
export interface PlatformContextRetriever 
```

## Properties

|  Property | Type | Description |
|  --- | --- | --- |
|  [getAndroidIdfa?](./react-native-tracker.platformcontextretriever.getandroididfa.md) | () =&gt; Promise&lt;string \| undefined&gt; | <i>(Optional)</i> Advertising identifier on Android. |
|  [getAppAvailableMemory?](./react-native-tracker.platformcontextretriever.getappavailablememory.md) | () =&gt; Promise&lt;number \| undefined&gt; | <i>(Optional)</i> Amount of memory in bytes available to the current app |
|  [getAppleIdfa?](./react-native-tracker.platformcontextretriever.getappleidfa.md) | () =&gt; Promise&lt;string \| undefined&gt; | <i>(Optional)</i> Advertising identifier on iOS (UUID formatted string) |
|  [getAppleIdfv?](./react-native-tracker.platformcontextretriever.getappleidfv.md) | () =&gt; Promise&lt;string \| undefined&gt; | <i>(Optional)</i> UUID identifier for vendors on iOS |
|  [getAppSetId?](./react-native-tracker.platformcontextretriever.getappsetid.md) | () =&gt; Promise&lt;string \| undefined&gt; | <i>(Optional)</i> Android vendor ID scoped to the set of apps published under the same Google Play developer account (see https://developer.android.com/training/articles/app-set-id). |
|  [getAppSetIdScope?](./react-native-tracker.platformcontextretriever.getappsetidscope.md) | () =&gt; Promise&lt;string \| undefined&gt; | <i>(Optional)</i> Scope of the <code>appSetId</code>. Can be scoped to the app or to a developer account on an app store (all apps from the same developer on the same device will have the same ID). |
|  [getAvailableStorage?](./react-native-tracker.platformcontextretriever.getavailablestorage.md) | () =&gt; Promise&lt;number \| undefined&gt; | <i>(Optional)</i> Bytes of storage remaining |
|  [getBatteryLevel?](./react-native-tracker.platformcontextretriever.getbatterylevel.md) | () =&gt; Promise&lt;number \| undefined&gt; | <i>(Optional)</i> Remaining battery level as an integer percentage of total battery capacity |
|  [getBatteryState?](./react-native-tracker.platformcontextretriever.getbatterystate.md) | () =&gt; Promise&lt;'unplugged' \| 'charging' \| 'full' \| undefined&gt; | <i>(Optional)</i> Battery state for the device |
|  [getCarrier?](./react-native-tracker.platformcontextretriever.getcarrier.md) | () =&gt; Promise&lt;string \| undefined&gt; | <i>(Optional)</i> The carrier of the SIM inserted in the device |
|  [getDeviceManufacturer?](./react-native-tracker.platformcontextretriever.getdevicemanufacturer.md) | () =&gt; Promise&lt;string&gt; | <i>(Optional)</i> The manufacturer of the product/hardware |
|  [getDeviceModel?](./react-native-tracker.platformcontextretriever.getdevicemodel.md) | () =&gt; Promise&lt;string&gt; | <i>(Optional)</i> The end-user-visible name for the end product |
|  [getLanguage?](./react-native-tracker.platformcontextretriever.getlanguage.md) | () =&gt; Promise&lt;string \| undefined&gt; | <i>(Optional)</i> System language currently used on the device (ISO 639) |
|  [getLowPowerMode?](./react-native-tracker.platformcontextretriever.getlowpowermode.md) | () =&gt; Promise&lt;boolean \| undefined&gt; | <i>(Optional)</i> A Boolean indicating whether Low Power Mode is enabled |
|  [getNetworkTechnology?](./react-native-tracker.platformcontextretriever.getnetworktechnology.md) | () =&gt; Promise&lt;string \| undefined&gt; | <i>(Optional)</i> Radio access technology that the device is using |
|  [getNetworkType?](./react-native-tracker.platformcontextretriever.getnetworktype.md) | () =&gt; Promise&lt;'mobile' \| 'wifi' \| 'offline' \| undefined&gt; | <i>(Optional)</i> Type of network the device is connected to |
|  [getOsType?](./react-native-tracker.platformcontextretriever.getostype.md) | () =&gt; Promise&lt;string&gt; | <i>(Optional)</i> Operating system type (e.g., ios, tvos, watchos, osx, android) |
|  [getOsVersion?](./react-native-tracker.platformcontextretriever.getosversion.md) | () =&gt; Promise&lt;string&gt; | <i>(Optional)</i> The current version of the operating system |
|  [getPhysicalMemory?](./react-native-tracker.platformcontextretriever.getphysicalmemory.md) | () =&gt; Promise&lt;number \| undefined&gt; | <i>(Optional)</i> Total physical system memory in bytes |
|  [getResolution?](./react-native-tracker.platformcontextretriever.getresolution.md) | () =&gt; Promise&lt;string \| undefined&gt; | <i>(Optional)</i> Screen resolution in pixels. Arrives in the form of WIDTHxHEIGHT (e.g., 1200x900). Doesn't change when device orientation changes |
|  [getScale?](./react-native-tracker.platformcontextretriever.getscale.md) | () =&gt; Promise&lt;number \| undefined&gt; | <i>(Optional)</i> Scale factor used to convert logical coordinates to device coordinates of the screen (uses UIScreen.scale on iOS) |
|  [getSystemAvailableMemory?](./react-native-tracker.platformcontextretriever.getsystemavailablememory.md) | () =&gt; Promise&lt;number \| undefined&gt; | <i>(Optional)</i> Available memory on the system in bytes (Android only). |
|  [getTotalStorage?](./react-native-tracker.platformcontextretriever.gettotalstorage.md) | () =&gt; Promise&lt;number \| undefined&gt; | <i>(Optional)</i> Total size of storage in bytes |
|  [isPortrait?](./react-native-tracker.platformcontextretriever.isportrait.md) | () =&gt; Promise&lt;boolean \| undefined&gt; | <i>(Optional)</i> A Boolean indicating whether the device orientation is portrait (either upright or upside down) |

