---
title: Report Methods
slug: sdks/report-methods
docTags: 
createdAt: 2025-12-24T04:31:40.438Z
---

### New Context-based Report Methods

**Availability**

- <font color="#2166ae">**Android**</font>**:** 1.0.6-A or later&#x20;
- <font color="#2166ae">**iOS**</font>**:** 2026.01.06 or later
- <font color="#2166ae">**React-Native**</font>**:** 1.0.6-RN or later
- <font color="#2166ae">**Web\:-**</font> 1.0.6-RN or later

:::Heading{depth="2" indent="1"}
reportAddToCartData
:::

:::::Tabs
::::Tab{title="Android"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Android

```java
public void reportAddToCartData(Context contextData)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports an **Add To Cart** event to the SDK.
:::

:::Heading{depth="3" indent="1"}
&#x20; <font color="#6b7280">Example</font>
:::

:::CodeblockTabs{indent="2"}
Android

```java
CartLine cartLine = new CartLine();
cartLine.setSku("SKU");
cartLine.setPid("PID");
cartLine.setQuantity(2);
cartLine.setCurrency("US");
cartLine.setValue("20");

Context context = new Context();
context.addSingleCartData(cartLine);

personalization.reportAddToCartData(context);
```
:::
::::

::::Tab{title="IOS"}
### &#x20;         Method Signature

:::CodeblockTabs{indent="2"}
IOS

```swift
public func reportAddToCartData(contextData: ContextObj)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports an **Add To Cart** event to the SDK.
:::

:::Heading{depth="3" indent="1"}
&#x20; <font color="#6b7280">Example</font>
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
let cartLine = CartLine(sku: "sku6", pid: "pid4", quantity: 3, currency: "curr1", value: "21")
let contextObj = ContextObj()      
        do {
            try contextObj.addSingleCartData(cartLine)
            personalization.reportAddToCartData(contextData: contextObj)
        } catch {
            print(error.localizedDescription)
        }

```
:::
::::

::::Tab{title="React-Native"}
### &#x20;    Method Signature

:::CodeblockTabs{indent="2"}
React-Native

```typescript
reportAddToCartData();
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports an **Add To Cart** event to the SDK.
:::

:::Heading{depth="3" indent="1"}
&#x20; <font color="#6b7280">Example</font>
:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
const context = new Context();

context
    .addSingleCartData()
    .product({
      sku: "SKU-123",
      pid: "ddsds",
      productId: "123",
      quantity: 1,
      value: "1999",
      currency: "INR",
    });

personalization.reportAddToCartData();
```
:::
::::

::::Tab{title="Web"}
### Method Signature

:::CodeblockTabs{indent="2"}
React-Native

```typescript
reportAddToCartData();
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports an **Add To Cart** event to the SDK.
:::

:::Heading{depth="3" indent="1"}
&#x20; <font color="#6b7280">Example</font>
:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
const context = new Context();

context
    .addSingleCartData()
    .product({
      sku: "SKU-123",
      pid: "ddsds",
      productId: "123",
      quantity: 1,
      value: "1999",
      currency: "INR",
    });

personalization.reportAddToCartData();
```
:::
::::
:::::

:::Heading{depth="2" indent="1"}
reportCartData
:::

:::::Tabs
::::Tab{title="Android"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Android

```java
public void reportCartData(Context contextData)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports an **Entire Cart state** to the SDK.
:::

:::Heading{depth="3" indent="1"}
&#x20;  <font color="#6b7280">Example</font>
:::

:::CodeblockTabs{indent="2"}
Android

```java
CartLine cartLine = new CartLine();
cartLine.setSku("SKU");
cartLine.setPid("PID");
cartLine.setQuantity(2);
cartLine.setCurrency("US");
cartLine.setValue("20");

Context context = new Context();
context.addAllCartData(cartLine);

personalization.addAllCartData(context);
```
:::
::::

::::Tab{title="IOS"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
public func reportCartData(contextData: ContextObj)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports an **Entire Cart state** to the SDK.
:::

:::Heading{depth="3" indent="1"}
&#x20;  <font color="#6b7280">Example</font>
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
let cartLinesSample = [
            CartLine(sku: "SKU123", pid: "PID123", quantity: 1, currency: "USD", value: "19.99"),
            CartLine(sku: "SKU456", pid: "PID456", quantity: 2, currency: "USD", value: "39.98")
        ]
let contextObj = ContextObj()
        do {
            try contextObj.addAllCartData(cartLinesSample)
            personalization.reportCartData(contextData: contextObj)
        } catch {
            print(error.localizedDescription)
        }

```
:::
::::

::::Tab{title="React-Native"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
React-native

```typescript
reportCartData();
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports an **Entire Cart state** to the SDK.
:::

:::Heading{depth="3" indent="1"}
&#x20;  <font color="#6b7280">Example</font>
:::

:::CodeblockTabs{indent="2"}
React-native

```typescript
const context = new Context();
context
    .addAllCartData()
    .cartLines([
      {
        sku: "SKU-123",
        pid: "ddsds",
        productId: "123",
        quantity: 1,
        value: "1999",
        currency: "INR",
      },
    ]);

personalization.reportCartData(context);

```
:::
::::

::::Tab{title="Web"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Web

```typescript
reportCartData();
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports an **Entire Cart state** to the SDK.
:::

:::Heading{depth="3" indent="1"}
&#x20;  <font color="#6b7280">Example</font>
:::

:::CodeblockTabs{indent="2"}
Web

```typescript
const context = new Context();
context
    .addAllCartData()
    .cartLines([
      {
        sku: "SKU-123",
        pid: "ddsds",
        productId: "123",
        quantity: 1,
        value: "1999",
        currency: "INR",
      },
    ]);

personalization.reportCartData(context);
```
:::
::::
:::::

:::Heading{depth="2" indent="1"}
reportImpressionsData
:::

:::::Tabs
::::Tab{title="Android"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Android

```java
public void reportImpressionsData(String[] ids)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{listStyleType="disc" indent="2"}
Reports **impression events**.
:::

:::Paragraph{listStyleType="disc" listStart="2" indent="2"}
Each impression ID represents a token associated with an action received from a previous SDK response.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
Android

```java
public void reportImpressionsData(String[] ids)
```
:::
::::

:::Tab{title="IOS"}
### Method Signature
:::

::::Tab{title="React-Native"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
reportImpressionsData()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{listStyleType="disc" indent="2"}
Reports **impression events**.
:::

:::Paragraph{listStyleType="disc" listStart="2" indent="2"}
Each impression ID represents a token associated with an action received from a previous SDK response.
:::

:::Heading{depth="3" indent="1"}
Example
:::
::::

:::Tab{title="Web"}
### Method Signature
:::
:::::

:::CodeblockTabs{indent="2"}
IOS

```swift
personalization.reportImpressionsData(
    [ "3.MS4xLjE1MTQ4MDg5MDAuMDAwMDAw" ]
)
```
:::

:::Heading{depth="2" indent="1"}
reportPageDetails
:::

:::::Tabs
::::Tab{title="Android"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Android

```java
public void reportPageDetails(Context contextData)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Page Detail events**  to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
Android

```java
Context context = new Context();
context.addPageDetails(
    "home-page",
    "https://example.com",
    new String[] { "category1", "category2" },
    new String[] { "breadcrumb1", "breadcrumb2" },
    "abc/xyz/pqr/testpath"
);

personalization.reportPageDetails(context);
```
:::
::::

::::Tab{title="IOS"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
 public func reportPageDetails(contextData: ContextObj)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="1"}
&#x20;Reports a **Page Detail events**  to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
let contextObj = ContextObj()
try? contextObj.addPageDetails(pageType: "home", path: "offers/deals", url: nil, categories: ["electronics", "sale"], breadcrumbs: ["home", "deals"])

personalization.reportPageDetails(contextData: contextObj)
```
:::
::::

::::Tab{title="React-native"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
React-Native

```java
reportPageDetails()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Page Detail events**  to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example:-
:::

:::CodeblockTabs{indent="2"}
React-Native

```java
const context = new Context();
context
    .addPageDetails()
    .url(window.location.href)
    .path(window.location.pathname)
    .pageType("home")
    .breadcrumbs(["Home"])
    .categories(["Homepage"]);

personalization.reportPageDetails();
```
:::
::::

::::Tab{title="Web"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Web

```java
reportPageDetails()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Page Detail events**  to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example:-
:::

:::CodeblockTabs{indent="2"}
Web

```java
const context = new Context();
context
    .addPageDetails()
    .url(window.location.href)
    .path(window.location.pathname)
    .pageType("home")
    .breadcrumbs(["Home"])
    .categories(["Homepage"]);

personalization.reportPageDetails();
```
:::
::::
:::::

:::Heading{depth="2" indent="1"}
reportPageEvents
:::

:::::Tabs
::::Tab{title="Android"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Android

```java
public void reportPageEvents(Context contextData)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports one or more&#x20;**&#x20;page events** to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
Android

```java
Context context = new Context();
context.addPageEventsData(new String[] { "buttonClick" });

personalization.reportPageEvents(context);
```
:::
::::

::::Tab{title="IOS"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
public func reportPageEvents(contextData: ContextObj)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports one or more **custom page events** to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
let contextObj = ContextObj()
try? contextObj.addPageEventsData(["pageLoad", "buttonClick", "formSubmit"])
personalization.reportPageEvents(contextData: contextObj)
```
:::
::::

::::Tab{title="React-Native"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
React-Native

```java
reportPageEvents()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports one or more&#x20;**&#x20;page events** to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
React-Native

```java
const context = new Context();
context
    .addPageDetails()
    .url(window.location.href)
    .path(window.location.pathname)
    .pageType("home")
    .breadcrumbs(["Home"])
    .categories(["Homepage"]);

personalization.reportPageDetails();

```
:::
::::

::::Tab{title="Web"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Web

```typescript
reportPageEvents()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports one or more&#x20;**&#x20;page events** to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
Web

```typescript
const context = new Context();
context
    .addPageDetails()
    .url(window.location.href)
    .path(window.location.pathname)
    .pageType("home")
    .breadcrumbs(["Home"])
    .categories(["Homepage"]);

personalization.reportPageDetails();
```
:::
::::
:::::

:::Heading{depth="2" indent="1"}
reportProductDetails
:::

:::::Tabs
::::Tab{title="Android"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Android

```java
public void reportProductDetails(Context contextData)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Product Detail View** event to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
Android

```java
Product product = new Product();
product.setProductId("PID");
product.setSku("SKU");

Context context = new Context();
context.addProductDetails(new Product[] { product });

personalization.reportProductDetails(context);
```
:::
::::

::::Tab{title="IOS"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
 public func reportProductDetails(contextData: ContextObj)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Product Detail View** event to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
 let productsSample = [
            Product(productId: "PROD001", sku: "SKU001")
        ]
 let contextObj = ContextObj()

 try? contextObj.addProductDetails(productsSample)
 personalization.reportProductDetails(contextData: contextObj)
```
:::
::::

::::Tab{title="React-Native"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
reportProductDetails()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Product Detail View** event to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
const context = new Context();
context.
     addProductDetails().
     productId("123").
     productSKU("SKU-123")

personalization.reportProductDetails();

```
:::
::::

::::Tab{title="Web"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Web

```typescript
reportProductDetails()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Product Detail View** event to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
Web

```typescript
const context = new Context();
context.
     addProductDetails().
     productId("123").
     productSKU("SKU-123")

personalization.reportProductDetails();

```
:::
::::
:::::

:::Heading{depth="2" indent="1"}
reportProductThumbnailData
:::

:::::Tabs
::::Tab{title="Android"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Android

```java
public void reportProductThumbnailData(Context contextData)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Product Thumbnail View** event to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
Android

```java
Context context = new Context();
context.addProductThumbnailsData(new String[] { "product21", "product43" });

personalization.reportProductThumbnailData(context);
```
:::
::::

::::Tab{title="IOS"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
public func reportProductThumbnailData(contextData: ContextObj)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Product Thumbnail View** event to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
 let contextObj = ContextObj()
 try? contextObj.addProductThumbnailsData(["PROD001", "PROD002", "PROD003"])
 personalization.reportProductThumbnailData(contextData: contextObj)
```
:::
::::

::::Tab{title="React-Native"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
reportProductThumbnailData()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Product Thumbnail View** event to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
const context = new Context();
context
  .addProductThumbnailsData()
  .product([
    "prod_101",
    "prod_102",
    "prod_103"
  ]);

personalization.reportProductThumbnailData();

```
:::
::::

::::Tab{title="Web"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Web

```typescript
reportProductThumbnailData()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Product Thumbnail View** event to the SDK.
:::

:::Heading{depth="3" indent="1"}
Example:-
:::

:::CodeblockTabs{indent="2"}
Web

```typescript
const context = new Context();
context
  .addProductThumbnailsData()
  .product([
    "prod_101",
    "prod_102",
    "prod_103"
  ]);

personalization.reportProductThumbnailData();

```
:::
::::
:::::

:::Heading{depth="2" indent="1"}
reportPurchaseData
:::

:::::Tabs
::::Tab{title="Android"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Android

```java
public void reportPurchaseData(Context contextData)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Purchase** event to the SDK, including associated line items.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
Android

```java
PurchaseLine purchaseLine = new PurchaseLine();
purchaseLine.setSku("SKU1");
purchaseLine.setPid("PID1");
purchaseLine.setQuantity(2);
purchaseLine.setCurrency("US");
purchaseLine.setValue("23.00");

Context context = new Context();
context.addPurchaseData("1b2c3d", new PurchaseLine[] { purchaseLine });

personalization.reportPurchaseData(context);
```
:::
::::

::::Tab{title="IOS"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
 public func reportPurchaseData(contextData: ContextObj)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Purchase** event to the SDK, including associated line items.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
 let purchaseLinesSample: [PurchaseLine] = [
            PurchaseLine(sku: "sku0", pid: "PID123", quantity: 1, currency: "USD", value: "19.99"),
            PurchaseLine(sku: "sku1", pid: "PID456", quantity: 2, currency: "USD", value: "39.98")
        ]
 let contextObj = ContextObj()

try? contextObj.addPurchaseData(purchaseId: "purchase123", purchaseLineData: purchaseLinesSample)
personalization.reportPurchaseData(contextData: contextObj)
```
:::
::::

::::Tab{title="React-Native"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
 reportPurchaseData()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Purchase** event to the SDK, including associated line items.
:::

:::Heading{depth="3" indent="1"}
Example:-
:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
Context context = new Context();
context
  .addPurchaseData()
  .purchaseId("ORDER_12345")
  .purchaseLines([
    {
      pid: "p1",
      sku: "sku1",
      productId: "101",
      quantity: 2,
      value: 500,
      currency: "INR"
    },
    {
      pid: "p2",
      sku: "sku2",
      productId: "102",
      quantity: 1,
      value: 1200,
      currency: "INR"
    }
  ]);
personalization.reportPurchaseData();
```
:::
::::

::::Tab{title="Web"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Web

```typescript
 reportPurchaseData()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{indent="2"}
Reports a **Purchase** event to the SDK, including associated line items.
:::

:::Heading{depth="3" indent="1"}
Example:-
:::

:::CodeblockTabs{indent="2"}
Web

```typescript
Context context = new Context();
context
  .addPurchaseData()
  .purchaseId("ORDER_12345")
  .purchaseLines([
    {
      pid: "p1",
      sku: "sku1",
      productId: "101",
      quantity: 2,
      value: 500,
      currency: "INR"
    },
    {
      pid: "p2",
      sku: "sku2",
      productId: "102",
      quantity: 1,
      value: 1200,
      currency: "INR"
    }
  ]);
personalization.reportPurchaseData();
```
:::
::::
:::::

:::Heading{depth="2" indent="1"}
reportRecClicksData
:::

:::::Tabs
::::Tab{title="Android"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Android

```java
eportRecClicksData(String[] tokens)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{listStyleType="disc" indent="2"}
Reports **recommendation click** events.
:::

:::Paragraph{listStyleType="disc" listStart="2" indent="2"}
A click is recorded for each provided token.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
Android

```java
personalization.reportRecClicksData(
    new String[] { "rt.1.xxx", "rt.1.yyy" }
);
```
:::
::::

::::Tab{title="IOS"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
public func reportRecClicksData(tokens: [String])
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{listStyleType="disc" indent="2"}
Reports **recommendation click** events.
:::

:::Paragraph{listStyleType="disc" listStart="2" indent="2"}
A click is recorded for each provided token.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
personalization.reportRecClicksData(tokens: ["rt.1.xxx", "rt.1.yyy"])
```
:::
::::

::::Tab{title="React-Native"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
reportRecClicksData()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{listStyleType="disc" indent="2"}
Reports **recommendation click** events.
:::

:::Paragraph{listStyleType="disc" listStart="2" indent="2"}
A click is recorded for each provided token.
:::

:::Heading{depth="3" indent="1"}
Example:-

:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
personalization.reportRecClicksData(
  "rt.1.xxx", "rt.1.yyy"
);

```
:::
::::

::::Tab{title="Web"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Web

```typescript
reportRecClicksData()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{listStyleType="disc" indent="2"}
Reports **recommendation click** events.
:::

:::Paragraph{listStyleType="disc" listStart="2" indent="2"}
A click is recorded for each provided token.
:::

:::Heading{depth="3" indent="1"}
Example:-

:::

:::CodeblockTabs{indent="2"}
web

```typescript
personalization.reportRecClicksData(
  "rt.1.xxx", "rt.1.yyy"
);

```
:::
::::
:::::

:::Heading{depth="2" indent="1"}
reportRecImpressionsData
:::

:::::Tabs
::::Tab{title="Android"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Android

```java
public void reportRecImpressionsData(String[] tokens)
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{listStyleType="disc" indent="2"}
Reports **recommendation impression** events.
:::

:::Paragraph{listStyleType="disc" listStart="2" indent="2"}
An impression is recorded for each provided token.
:::

:::Heading{depth="3" indent="1"}
Example
:::

:::CodeblockTabs{indent="2"}
Android

```java
personalization.reportRecImpressionsData(
    new String[] { "rt.1.xxx", "rt.1.yyy" }
);
```
:::

##
::::

::::Tab{title="IOS"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
IOS

```swift
 public func reportRecImpressionsData(tokens: [String])
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{listStyleType="disc" indent="2"}
Reports **recommendation impression** events.
:::

:::Paragraph{listStyleType="disc" listStart="2" indent="2"}
An impression is recorded for each provided token.
:::

:::Heading{depth="3" indent="1"}
Example
:::
::::

::::Tab{title="React-Native"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
reportRecImpressionsData()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{listStyleType="disc" indent="2"}
Reports **recommendation impression** events.
:::

:::Paragraph{listStyleType="disc" listStart="2" indent="2"}
An impression is recorded for each provided token.
:::

:::Heading{depth="3" indent="1"}
Example:-
:::

:::CodeblockTabs{indent="2"}
React-Native

```typescript
personalization.reportRecImpressionsData(
  "rt.1.xxx", "rt.1.yyy"
);

```
:::

:::Paragraph{indent="1"}


:::
::::

::::Tab{title="Web"}
:::Heading{depth="3" indent="1"}
Method Signature
:::

:::CodeblockTabs{indent="2"}
Web

```typescript
reportRecImpressionsData()
```
:::

:::Heading{depth="3" indent="1"}
Description
:::

:::Paragraph{listStyleType="disc" indent="2"}
Reports **recommendation impression** events.
:::

:::Paragraph{listStyleType="disc" listStart="2" indent="2"}
An impression is recorded for each provided token.
:::

:::Heading{depth="3" indent="1"}
Example:-

:::

:::CodeblockTabs{indent="2"}
Web

```typescript
personalization.reportRecImpressionsData(
  "rt.1.xxx", "rt.1.yyy"
);
```
:::
::::
:::::

