# কাস্টম ইভেন্টের উদাহরণ

নিচে, আপনি বিভিন্ন অ্যাপ ক্যাটাগরির জন্য প্রস্তাবিত কিছু ইন-অ্যাপ ইভেন্ট পাবেন।

এই বা অন্য কোনো ইভেন্ট বাস্তবায়ন করতে:

* আপনার Pushwoosh কন্ট্রোল প্যানেলে [একটি ইভেন্ট তৈরি করুন](/bn/product/audience-data-and-segmentation/events/#1-create-events-in-pushwoosh-control-panel) এবং প্রয়োজনে অ্যাট্রিবিউট যোগ করুন;
* আপনার মোবাইল প্রজেক্টে [postEvent](/bn/developer/api-reference/user-centric-api#postevent) মেথডটি ইন্টিগ্রেট করুন, ইভেন্টের নাম এবং এর অ্যাট্রিবিউটগুলো কন্ট্রোল প্যানেলে যেভাবে আছে ঠিক সেভাবে প্রদান করুন।

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Event name", { // event name exactly as in Control Panel
    "attribute 1": "string value", // attribute name and type exactly as in Control Panel
    "attribute 2": "string value" // attribute name and type exactly as in Control Panel
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "attribute 1" : "string value", // attribute name and type exactly as in Control Panel
   "attribute 2" : "string value" // attribute name and type exactly as in Control Panel
]
PWInAppManager.shared().postEvent("Event name", withAttributes: attributes) // event name exactly as in Control Panel
```
</TabItem>
<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"attribute 1" : @"string value", // attribute name and type exactly as in Control Panel
   @"attribute 2" : @"string value" // attribute name and type exactly as in Control Panel
};
[[PushNotificationManager pushManager] postEvent:@“eventName” withAttributes:attributes]; // event name exactly as in Control Panel
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("attribute 1", "string value") // attribute name and type exactly as in Control Panel
    .putString("attribute 2", "string value") // attribute name and type exactly as in Control Panel
    .build()

PushwooshInApp.getInstance().postEvent("Event name", attributes); // event name exactly as in Control Panel
```
</TabItem>
</Tabs>

<Aside type="note">
নিচের স্যাম্পেলগুলো সরাসরি আপনার অ্যাপে পেস্ট করা যেতে পারে, যদি আপনার কন্ট্রোল প্যানেলে একটি সংশ্লিষ্ট ইভেন্ট এবং তার অ্যাট্রিবিউট তৈরি করা থাকে। একবার ইন্টিগ্রেট করা হলে, ইভেন্টের ডেটা সংগ্রহ করা হবে এবং Audience -> Events -> Event statistics-এ উপলব্ধ হবে, এবং আপনি ক্যাম্পেইন পরিকল্পনায় ইভেন্টটি ব্যবহার করতে পারবেন।
</Aside>

## মোবাইল অ্যাপস

### লগ আউট

ব্যবহারকারীরা যখন আপনার অ্যাপে তাদের অ্যাকাউন্ট থেকে লগ আউট করেন তখন এই ইভেন্টটি ট্রিগার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* user\_id: String
* date: Date

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Log out", {
    "user_id": "string value",
    "date": "date value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "user_id" : "string value",
   "date" : "date value"
]
PWInAppManager.shared().postEvent("Log out", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"user_id" : @"string value",
   @"date" : @"date value"
};
[[PushNotificationManager pushManager] postEvent:@"Log out" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("user_id", "string value")
    .putString("date", "date value")
    .build()

PushwooshInApp.getInstance().postEvent("Log out", attributes);
```
</TabItem>
</Tabs>

### পেমেন্ট পদ্ধতি যোগ করা হয়েছে

যখন একজন ব্যবহারকারী আপনার অ্যাপে তাদের অ্যাকাউন্টে একটি পেমেন্ট পদ্ধতি যোগ করেন, যেমন কার্ডের তথ্য প্রদান করেন বা অ্যাকাউন্টটি একটি পেমেন্ট সিস্টেমের সাথে লিঙ্ক করেন, তখন এই ইভেন্টটি ফায়ার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* payment\_method: String,
* user\_id: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Payment method added", {
    "user_id": "string value",
    "payment_method": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "user_id" : "string value",
   "payment_method" : "string value"
]
PWInAppManager.shared().postEvent("Payment method added", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"payment_method" : @"string value",
   @"user_id" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Payment method added" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("payment_method", "string value")
    .putString("user_id", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Payment method added", attributes);
```
</TabItem>
</Tabs>

### পেমেন্ট পদ্ধতি পরিবর্তন করা হয়েছে

যখন একজন ব্যবহারকারী অ্যাপে তাদের পেমেন্ট পদ্ধতি আপডেট করেন তখন এই ইভেন্টটি পাঠান।

প্রস্তাবিত অ্যাট্রিবিউট:

* user\_id: String,
* payment\_method: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Payment method changed", {
    "user_id": "string value",
    "payment_method": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "user_id" : "string value",
   "payment_method" : "string value"
]
PWInAppManager.shared().postEvent("Payment method changed", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"user_id" : @"string value",
   @"payment_method" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Payment method changed" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("user_id", "string value")
    .putString("payment_method", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Payment method changed", attributes);
```
</TabItem>
</Tabs>

### বাটন ক্লিক করা হয়েছে

আপনার অ্যানালিটিক্স উন্নত করতে, বিভিন্ন কমিউনিকেশন কৌশল পরীক্ষা করতে এবং গ্রাহকের আচরণের উপর ভিত্তি করে আপনার মেসেজের প্রাসঙ্গিকতা বাড়াতে অ্যাপের মধ্যে বাটন ক্লিক ট্র্যাক করুন।

প্রস্তাবিত ইভেন্ট অ্যাট্রিবিউট:

* user\_id: String
* button\_link: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Button clicked", {
    "user_id": "string value",
    "button_link": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "user_id" : "string value",
   "button_link" : "string value"
]
PWInAppManager.shared().postEvent("Button clicked", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"user_id" : @"string value",
   @"button_link" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Button clicked" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("user_id", "string value")
    .putString("button_link", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Button clicked", attributes);

```
</TabItem>
</Tabs>

### অ্যাপ্লিকেশন আপডেট করা হয়েছে

যখনই একজন ব্যবহারকারী আপনার অ্যাপের একটি আপডেট করা সংস্করণ ইনস্টল করেন তখন এই ইভেন্টটি ট্রিগার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* previous\_app\_version: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Application updated", {
    "previous_app_version": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "previous_app_version" : "string value"
]
PWInAppManager.shared().postEvent("Application updated", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"previous_app_version" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Application updated" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("previous_app_version", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Application updated", attributes);
```
</TabItem>
</Tabs>

### OS আপডেট করা হয়েছে

আপনার অ্যাপটি সম্পূর্ণ কমপ্লায়েন্ট কিনা তা নিশ্চিত করতে যখন একজন ব্যবহারকারী তাদের ডিভাইসের OS সংস্করণ আপডেট করেন তখন এই ইভেন্টটি ফায়ার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* previous\_OS\_version: String
* new\_OS\_version: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("OS updated", {
    "previous_OS_version": "string value",
    "new_OS_version": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "previous_OS_version" : "string value",
   "new_OS_version": "string value"
]
PWInAppManager.shared().postEvent("OS updated", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"previous_OS_version" : @"string value",
   @"new_OS_version" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"OS updated" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("previous_OS_version", "string value")
    .putString("new_OS_version", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("OS updated", attributes);
```
</TabItem>
</Tabs>

## ই-কমার্স
### কার্টে প্রোডাক্ট যোগ করা হয়েছে

Abandoned Cart ক্যাম্পেইন তৈরি করতে, ব্যবহারকারী ট্যাগ সেট করতে বা আপনার প্রচারের কার্যকারিতা বিশ্লেষণ করতে যখন একজন ব্যবহারকারী তাদের কার্টে প্রোডাক্ট যোগ করেন তখন এই ইভেন্টটি ফায়ার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* product\_id: String
* price: Integer
* source: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Product added to cart", {
    "product_id": "string value",
    "price": 1,
    "source": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "price" : 1,
   "product_id" : "string value",
   "source" : "string value"
]
PWInAppManager.shared().postEvent("Product added to cart", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"price" : @(1),
   @"product_id" : @"string value",
   @"source" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Product added to cart" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putInt("price", 1)
    .putString("product_id", "string value")
    .putString("source", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Product added to cart", attributes);
```
</TabItem>
</Tabs>

### ডিসকাউন্টে কেনাকাটা

যখন একজন ব্যবহারকারী ডিসকাউন্ট কুপন ব্যবহার করে কোনো প্রোডাক্ট কেনেন তখন এই ইভেন্টটি ট্রিগার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* product\_id: String
* coupon\_id: String
* price: Integer
* discount: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Discounted purchase", {
    "product_id": "string value",
    "coupon_id": "string value",
    "price": 1,
    "discount": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "product_id" : "string value",
   "coupon_id" : "string value",
   "price" : 1,
   "discount" : "string value"
]
PWInAppManager.shared().postEvent("Discounted purchase", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"product_id" : @"string value",
   @"coupon_id" : @"string value",
   @"price" : @(1),
   @"discount" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Discounted purchase" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("product_id", "string value")
    .putString("coupon_id", "string value")
    .putInt("price", 1)
    .putString("discount", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Discounted purchase", attributes);
```
</TabItem>
</Tabs>

### প্রোডাক্ট পেজ পরিত্যক্ত

যখন একজন ব্যবহারকারী কোনো কনভার্সন অ্যাকশন ছাড়াই একটি প্রোডাক্ট পেজ ছেড়ে যান তখন এই ইভেন্টটি ফায়ার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* product\_id: String
* price: Integer
* source: String
* product\_page\_id: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Product Page abandoned", {
    "product_id": "string value",
    "price": 1,
    "source": "string value",
    "product_page_id": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "product_id" : "string value",
   "price" : 1,
   "source" : "string value",
   "product_page_id" : "string value"
]
PWInAppManager.shared().postEvent("Product Page abandoned", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"product_id" : @"string value",
   @"price" : @(1),
   @"source" : @"string value",
   @"product_page_id" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Product Page abandoned" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("product_id", "string value")
    .putInt("price", 1)
    .putString("source", "string value")
    .putString("product_page_id", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Product Page abandoned", attributes);
```
</TabItem>
</Tabs>

### উইশলিস্টে প্রোডাক্ট যোগ করা হয়েছে

ব্যবহারকারীরা তাদের উইশলিস্টে যে প্রোডাক্টগুলো সেভ করেছেন সে সম্পর্কে অবগত থাকুন এবং ব্যক্তিগত অফার ও প্রোমো ক্যাম্পেইন তৈরি করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* product\_id: String
* wishlist\_id: String
* product\_price: Integer
* source: String
* user\_id: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Product added to wishlist", {
    "product_id": "string value",
    "currency": "string value",
    "price": 1,
    "source": "string value",
    "user_id": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "product_id" : "string value",
   "wishlist_id" : "string value",
   "product_price" : 1,
   "source" : "string value",
   "user_id" : "string value"
]
PWInAppManager.shared().postEvent("Product added to wishlist", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"product_id" : @"string value",
   @"wishlist_id" : @"string value",
   @"product_price" : @(1),
   @"source" : @"string value",
   @"user_id" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Product added to wishlist" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("product_id", "string value")
    .putString("wishlist_id", "string value")
    .putInt("product_price", 1)
    .putString("source", "string value")
    .putString("user_id", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Product added to wishlist", attributes);
```
</TabItem>
</Tabs>

### উইশলিস্ট থেকে প্রোডাক্ট সরানো হয়েছে

যখন একজন ব্যবহারকারী তাদের উইশলিস্ট থেকে একটি প্রোডাক্ট মুছে ফেলেন তখন এই ইভেন্টটি ফায়ার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* user\_id: String
* wishlist\_id: String
* product\_id: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Product removed from wishlist", {
    "wishlist_id": "string value",
    "user_id": "string value",
    "product_id": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "wishlist_id" : "string value",
   "user_id" : "string value",
   "product_id" : "string value"
]
PWInAppManager.shared().postEvent("Product removed from wishlist", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"wishlist_id" : @"string value",
   @"user_id" : @"string value",
   @"product_id" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Product removed from wishlist" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("wishlist_id", "string value")
    .putString("user_id", "string value")
    .putString("product_id", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Product removed from wishlist", attributes);
```
</TabItem>
</Tabs>

### প্রোডাক্ট ক্যাটাগরি

যখন একজন ব্যবহারকারী একটি নির্দিষ্ট ক্যাটাগরির প্রোডাক্ট কেনেন তখন এই ইভেন্টটি পাঠান।

প্রস্তাবিত অ্যাট্রিবিউট:

* product\_id: String
* product\_category: String
* currency: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Product category", {
    "product_id": "string value",
    "product_category": "string value",
    "currency": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "product_id" : "string value",
   "product_category" : "string value",
   "currency" : "string value"
]
PWInAppManager.shared().postEvent("Product category", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"product_id" : @"string value",
   @"product_category" : @"string value",
   @"currency" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Product category" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("product_id", "string value")
    .putString("product_category", "string value")
    .putString("currency", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Product category", attributes);
```
</TabItem>
</Tabs>

### প্রথম কেনাকাটা

যখন একজন ব্যবহারকারী তাদের প্রথম কেনাকাটা করেন তখন এই ইভেন্টটি ট্রিগার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* product\_id: String,
* category: String
* date: Date

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("First purchase", {
    "product_id": "string value",
    "category": "string value",
    "date": "date value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "product_id" : "string value",
   "category" : "string value",
   "date" : "date value"
]
PWInAppManager.shared().postEvent("First purchase", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"product_id" : @"string value",
   @"category" : @"string value",
   @"date" : @"date value"
};
[[PushNotificationManager pushManager] postEvent:@"First purchase" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("product_id", "string value")
    .putString("category", "string value")
    .putBoolean("date", "date value")
    .build()

PushwooshInApp.getInstance().postEvent("First purchase", attributes);
```
</TabItem>
</Tabs>

## গেমিং অ্যাপস

### নতুন লেভেল

যখন একজন ব্যবহারকারী একটি নতুন গেম লেভেলে পৌঁছান, তখন নতুন লেভেল ইভেন্টটি ট্রিগার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* level\_id: String
* user\_id: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("New level", {
    "level_id": "string value",
    "user_id": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "level_id" : "string value",
   "user_id" : "string value"
]
PWInAppManager.shared().postEvent("New level", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"level_id" : @"string value",
   @"user_id" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"New level" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("level_id", "string value")
    .putString("user_id", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("New level", attributes);
```
</TabItem>
</Tabs>

### লেভেল সম্পন্ন

যখন একজন ব্যবহারকারী একটি নির্দিষ্ট গেম লেভেল সম্পন্ন করেন তখন এই ইভেন্টটি পাঠান।

প্রস্তাবিত অ্যাট্রিবিউট:

* level\_id: String
* user\_id: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Level completed", {
    "level_id": "string value",
    "user_id": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "level_id" : "string value",
   "user_id" : "string value"
]
PWInAppManager.shared().postEvent("Level completed", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"level_id" : @"string value",
   @"user_id" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Level completed" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("level_id", "string value")
    .putString("user_id", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Level completed", attributes);
```
</TabItem>
</Tabs>

### ভার্চুয়াল কারেন্সি অর্জিত

যখন একজন ব্যবহারকারীর ভার্চুয়াল কারেন্সি ব্যালেন্স টপ আপ হয় তখন এই ইভেন্টটি ফায়ার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* currency\_name: String
* quantity: Integer
* user\_id: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Virtual currency earned", {
    "currency_name": "string value",
    "quantity": 1,
    "user_id": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "currency_name" : "string value",
   "quantity" : 1,
   "user_id" : "string value"
]
PWInAppManager.shared().postEvent("Virtual currency earned", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"currency_name" : @"string value",
   @"quantity" : @(1),
   @"user_id" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Virtual currency earned" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("currency_name", "string value")
    .putInt("quantity", 1)
    .putString("user_id", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Virtual currency earned", attributes);
```
</TabItem>
</Tabs>

### টিউটোরিয়াল সম্পন্ন

যখন একজন ব্যবহারকারী ইন-গেম টিউটোরিয়াল সম্পন্ন করেন তখন এই ইভেন্টটি ট্রিগার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* tutorial\_name: String
* completion: Boolean

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Tutorial completed", {
    "tutorial_name": "string value",
    "completion": true
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "tutorial_name" : "string value",
   "completion" : true
]
PWInAppManager.shared().postEvent("Tutorial completed", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"tutorial_name" : @"string value",
   @"completion" : @YES
};
[[PushNotificationManager pushManager] postEvent:@"Tutorial completed" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("tutorial_name", "string value")
    .putBoolean("completion", true)
    .build()

PushwooshInApp.getInstance().postEvent("Tutorial completed", attributes);
```
</TabItem>
</Tabs>

### অ্যাচিভমেন্ট আনলকড

যখন একজন ব্যবহারকারী একটি নির্দিষ্ট অ্যাচিভমেন্ট আনলক করেন তখন এই ইভেন্টটি ফায়ার করে ব্যবহারকারীর এনগেজমেন্ট মনিটর করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* achievement\_name: String
* level: Integer
* user\_id: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Achievement unlocked", {
    "achievement_name": "string value",
    "level": 5,
    "user_id": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "achievement_name" : "string value",
   "level" : 5,
   "user_id": "string value"
]
PWInAppManager.shared().postEvent("Achievement unlocked", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"achievement_name" : @"string value",
   @"level" : @1,
   @"user_id" : "string value"
};
[[PushNotificationManager pushManager] postEvent:@"Achievement unlocked" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("achievemnt_name", "string value")
    .putString("level", 1)
    .putString("user_id", "string value)
    .build()

PushwooshInApp.getInstance().postEvent("Achievement unlocked", attributes);
```
</TabItem>
</Tabs>

## সাবস্ক্রিপশন ম্যানেজমেন্ট


### পেইড সাবস্ক্রিপশন কেনা

যখন একজন ব্যবহারকারী একটি পেইড সাবস্ক্রিপশন প্ল্যান কিনেছেন তখন এই ইভেন্টটি পাঠান।

প্রস্তাবিত অ্যাট্রিবিউট:

* subscription\_plan\_name: String
* price: Integer
* currency:String
* expiry\_date:Date

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Paid subscription purchase", {
    "subscription_plan_name": "string value",
    "price": 1,
    "currency": "string value",
    "expiry_date": "new Date()"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "subscription_plan_name" : "string value",
   "price" : 1,
   "currency" : "string value",
   "expiry_date" : NSDate()
]
PWInAppManager.shared().postEvent("Paid subscription purchase", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"subscription_plan_name" : @"string value",
   @"price" : @(1),
   @"currency" : @"string value",
   @"expiry_date" : [NSDate date]
};
[[PushNotificationManager pushManager] postEvent:@"Paid subscription purchase" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("subscription_plan_name", "string value")
    .putInt("price", 1)
    .putString("currency", "string value")
    .putDate("expiry_date", new Date())
    .build()

PushwooshInApp.getInstance().postEvent("Paid subscription purchase", attributes);
```
</TabItem>
</Tabs>

### সাবস্ক্রিপশন রিনিউয়াল

যখন একজন ব্যবহারকারী তাদের সাবস্ক্রিপশন প্ল্যান রিনিউ করেন তখন এই ইভেন্টটি ট্রিগার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* subscription\_plan\_name: String
* price: Integer
* currency: String
* renewal\_count: Integer

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Subscription renewal", {
    "subscription_plan_name": "string value",
    "price": 1,
    "currency": "string value",
    "renewal_count": 1
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "subscription_plan_name" : "string value",
   "price" : 1,
   "currency" : "string value",
   "renewal_count" : 1
]
PWInAppManager.shared().postEvent("Subscription renewal", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"subscription_plan_name" : @"string value",
   @"price" : @(1),
   @"currency" : @"string value",
   @"renewal_count" : @(1)
};
[[PushNotificationManager pushManager] postEvent:@"Subscription renewal" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("subscription_plan_name", "string value")
    .putInt("price", 1)
    .putString("currency", "string value")
    .putInt("renewal_count", 1)
    .build()

PushwooshInApp.getInstance().postEvent("Subscription renewal", attributes);
```
</TabItem>
</Tabs>

### ফ্রি ট্রায়াল শুরু হয়েছে

যখন একজন ব্যবহারকারী সাবস্ক্রিপশন নেওয়ার আগে একটি ফ্রি ট্রায়াল শুরু করতে চান তখন এই ইভেন্টটি ট্রিগার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* free\_trial\_name: String
* expiry\_date: Date

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Free trial started", {
    "free_trial_name": "string value",
    "expiry_date": "new Date()"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "free_trial_name" : "string value",
   "expiry_date" : NSDate()
]
PWInAppManager.shared().postEvent("Free trial started", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"free_trial_name" : @"string value",
   @"expiry_date" : [NSDate date]
};
[[PushNotificationManager pushManager] postEvent:@"Free trial started" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("free_trial_name", "string value")
    .putDate("expiry_date", new Date())
    .build()

PushwooshInApp.getInstance().postEvent("Free trial started", attributes);
```
</TabItem>
</Tabs>

### সাবস্ক্রিপশন বাতিল করা হয়েছে

ইন-অ্যাপ সাবস্ক্রিপশন বাতিল ট্র্যাক করতে এই ইভেন্টটি ব্যবহার করুন।

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Subscription cancelled");
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

PWInAppManager.shared().postEvent("Subscription cancelled", withAttributes: nil)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

[[PushNotificationManager pushManager] postEvent:@"Subscription canceled" withAttributes:@{}];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

PushwooshInApp.getInstance().postEvent("Subscription cancelled");
```
</TabItem>
</Tabs>

### ফ্রি থেকে পেইডে কনভার্সন

যখন একজন ব্যবহারকারী আপনার অ্যাপ বিনামূল্যে ব্যবহার করা থেকে একটি পেইড সাবস্ক্রিপশন প্ল্যানে কনভার্ট হন তখন এই ইভেন্টটি ট্রিগার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* subscription\_plan\_name: String
* price: Integer
* currency: String
* date: Date

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Conversion from Free to Paid", {
    "subscription_plan_name": "string value",
    "price": 1,
    "currency": "string value",
    "date": "new Date()"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "plan_name" : "string value",
   "price" : 1,
   "currency" : "string value",
   "date" : NSDate()
]
PWInAppManager.shared().postEvent("Conversion from Free to Paid", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"subscription_plan_name" : @"string value",
   @"price" : @(1),
   @"currency" : @"string value",
   @"date" : [NSDate date]
};
[[PushNotificationManager pushManager] postEvent:@"Conversion from Free to Paid" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("subscription_plan_name", "string value")
    .putInt("price", 1)
    .putString("currency", "string value")
    .putDate("date", new Date())
    .build()

PushwooshInApp.getInstance().postEvent("Conversion from Free to Paid", attributes);
```
</TabItem>
</Tabs>

## মিডিয়া

### সার্চ

যখন একজন ব্যবহারকারী আপনার অ্যাপে কোনো কন্টেন্ট সার্চ করেন তখন এই ইভেন্টটি পাঠান।

প্রস্তাবিত অ্যাট্রিবিউট:

* search\_query: String
* category: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:
const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Search", {
        "search_query": "string value",
        "category": "string value"
    });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "search_query" : "string value",
   "category" : "string value"
]
PWInAppManager.shared().postEvent("Search", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"search_query" : @"string value",
   @"category" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Search" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("search_query", "string value")
    .putString("category", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Search", attributes);
```
</TabItem>
</Tabs>

### কন্টেন্ট পড়া হয়েছে

যখন একজন ব্যবহারকারী একটি নির্দিষ্ট কন্টেন্ট পড়েছেন তখন এই ইভেন্টটি ট্রিগার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* category: String
* article\_id: String
* author: String
* published\_date: Date

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Content read", {
    "category": "string value",
    "article_id": "string value",
    "author": "string value",
    "published_date": "new Date()"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "category" : "string value",
   "article_id" : "string value",
   "author" : "string value",
   "published_date" : NSDate()
]
PWInAppManager.shared().postEvent("Content read", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"category" : @"string value",
   @"article_id" : @"string value",
   @"author" : @"string value",
   @"published_date" : [NSDate date]
};
[[PushNotificationManager pushManager] postEvent:@"Content read" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("category", "string value")
    .putString("article_id", "string value")
    .putString("author", "string value")
    .putDate("published_date", new Date())
    .build()

PushwooshInApp.getInstance().postEvent("Content read", attributes);
```
</TabItem>
</Tabs>

### ফর্ম জমা দেওয়া

আপনার ইন-অ্যাপ ফর্মের জমা (উদাহরণস্বরূপ, নেট প্রোমোটার স্কোর), কন্টেন্ট পছন্দের নির্বাচন এবং অন্যান্য সার্ভে ট্র্যাক করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* form\_name: String
* url: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Form submission", {
    "form_name": "string value",
    "url": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "form_name" : "string value",
   "url" : "string value"
]
PWInAppManager.shared().postEvent("Form submission", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"form_name" : @"string value",
   @"url" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Form submission" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("form_name", "string value")
    .putString("url", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Form submission", attributes);
```
</TabItem>
</Tabs>

### কন্টেন্ট শেয়ার করা হয়েছে

যখন একজন ব্যবহারকারী সোশ্যাল নেটওয়ার্ক, ইমেল বা অন্যান্য চ্যানেলের মাধ্যমে একটি কন্টেন্ট শেয়ার করেছেন তখন এই ইভেন্টটি ট্রিগার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* category: String
* article\_id: String
* author: String
* published\_date: Date
* button\_id: String
* social\_media: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:

const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Content shared", {
    "category": "string value",
    "article_id": "string value",
    "author": "string value",
    "published_date": "new Date()",
    "button_id": "string value",
    "social_media": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "category" : "string value",
   "article_id" : "string value",
   "author" : "string value",
   "published_date" : NSDate(),
   "button_id" : "string value",
   "social_media" : "string value"
]
PWInAppManager.shared().postEvent("Content shared", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"category" : @"string value",
   @"article_id" : @"string value",
   @"author" : @"string value",
   @"published_date" : [NSDate date],
   @"button_id" : @"string value",
   @"social_media" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Content shared" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("category", "string value")
    .putString("article_id", "string value")
    .putString("author", "string value")
    .putDate("published_date", new Date())
    .putString("button_id", "string value")
    .putString("social_media", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Content shared", attributes);
```
</TabItem>
</Tabs>

### কন্টেন্ট পছন্দ

যখন একজন ব্যবহারকারী একটি নির্দিষ্ট বিষয়ে তাদের আগ্রহ প্রকাশ করেন তখন এই ইভেন্টটি ফায়ার করুন।

প্রস্তাবিত অ্যাট্রিবিউট:

* topic: String

<Tabs>
<TabItem label="JavaScript">
```javascript
// To use with Web Push SDK, you can integrate this code:
const Pushwoosh = window.Pushwoosh || [];
Pushwoosh.push(function(api) {
    api.postEvent("Content preferences", {
    "topic": "string value"
  });
});
```
</TabItem>

<TabItem label="Swift">
```swift
// To use with iOS SDK, you can integrate this code:

let attributes: [String : Any] = [
   "topic" : "string value"
]
PWInAppManager.shared().postEvent("Content preferences", withAttributes: attributes)
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
// To use with iOS SDK, you can integrate this code:

NSDictionary *attributes = @{
   @"topic" : @"string value"
};
[[PushNotificationManager pushManager] postEvent:@"Content preferences" withAttributes:attributes];
```
</TabItem>

<TabItem label="Java">
```java
// To use with Android SDK, you can integrate this code:

TagsBundle attributes = new TagsBundle.Builder()
    .putString("topic", "string value")
    .build()

PushwooshInApp.getInstance().postEvent("Content preferences", attributes);
```
</TabItem>
</Tabs>