# iOS লাইভ অ্যাক্টিভিটিস API

> Apple ডকুমেন্টেশন:
> 
> * [লাইভ অ্যাক্টিভিটিস সম্পর্কে](https://developer.apple.com/design/human-interface-guidelines/live-activities)
> * [ActivityKit পুশ নোটিফিকেশনের মাধ্যমে আপনার লাইভ অ্যাক্টিভিটি আপডেট এবং শেষ করা](https://developer.apple.com/documentation/activitykit/updating-and-ending-your-live-activity-with-activitykit-push-notifications)



## startLiveActivity



`POST` `https://api.pushwoosh.com/json/1.3/startLiveActivity`

iOS লাইভ অ্যাক্টিভিটিস তৈরি করার অনুমতি দেয়।

### রিকোয়েস্ট বডি

| প্যারামিটার     | টাইপ   | প্রয়োজনীয়/ঐচ্ছিক | বিবরণ                                                                 |
|---------------|--------|-------------------|-----------------------------------------------------------------------------|
| application   | String | প্রয়োজনীয়           | [Pushwoosh অ্যাপ্লিকেশন কোড](/bn/developer/api-reference/api-identifiers/#application-code)                                             |
| auth          | String | প্রয়োজনীয়           | Pushwoosh কন্ট্রোল প্যানেল থেকে [API অ্যাক্সেস টোকেন](/bn/developer/api-reference/api-identifiers/#api-access-token)।                          |
| notifications | Array  | প্রয়োজনীয়           | মেসেজ প্যারামিটারের JSON অ্যারে। নিচের নোটিফিকেশন টেবিলে বিস্তারিত দেখুন। |

#### নোটিফিকেশনস
`notifications` অ্যারেতে ব্যবহৃত প্যারামিটার:

| প্যারামিটার        | টাইপ             | প্রয়োজনীয়/ঐচ্ছিক | বিবরণ                                                                 |
|------------------|------------------|-------------------|-----------------------------------------------------------------------------|
| content       | String | প্রয়োজনীয়          | iOS 16.1 এর নিচের সংস্করণে চালিত ডিভাইসগুলির জন্য ফলব্যাক কন্টেন্ট যা লাইভ অ্যাক্টিভিটি সমর্থন করে না। iOS 16.1+ এ (লাইভ অ্যাক্টিভিটি সমর্থন সহ), কন্টেন্ট `live_activity` ফিল্ড থেকে নেওয়া হয়। |
| title         | String | ঐচ্ছিক          | নোটিফিকেশন মেসেজের শিরোনাম।                                                                                                            |
| live_activity    | Object           | প্রয়োজনীয়           | iOS-এ লাইভ অ্যাক্টিভিটি তৈরি করার জন্য লাইভ অ্যাক্টিভিটি ডেটা।                          |
| live_activity.content-state    | Object           | প্রয়োজনীয়           | লাইভ অ্যাক্টিভিটি নোটিফিকেশনের জন্য কন্টেন্ট।                                 |
| live_activity.attributes-type  | String           | প্রয়োজনীয়           | লাইভ অ্যাক্টিভিটিতে ব্যবহৃত অ্যাট্রিবিউটের প্রকার।                           |
| live_activity.attributes       | Object           | প্রয়োজনীয়           | লাইভ অ্যাক্টিভিটির জন্য অ্যাট্রিবিউট।                                           |
| live_activity_id | String           | প্রয়োজনীয়           | লাইভ অ্যাক্টিভিটির জন্য একটি অনন্য শনাক্তকারী। `updateLiveActivity` কল করার সময় এই অ্যাক্টিভিটিটিকে টার্গেট করতে ব্যবহৃত হয়। প্রতিটি অ্যাক্টিভিটি সেশনের জন্য অবশ্যই অনন্য হতে হবে। |
| filter | String | ঐচ্ছিক | একটি Pushwoosh ফিল্টারের (সেগমেন্ট) নাম। দেখুন [সেগমেন্ট / ফিল্টার নাম](/bn/developer/api-reference/api-identifiers/#segment--filter-name)। এই ফিল্টারের সাথে মিলে যাওয়া সমস্ত ডিভাইসে লাইভ অ্যাক্টিভিটি শুরু হবে। |
| devices | Array of Strings | ঐচ্ছিক | [ডিভাইস টোকেনের](/bn/developer/api-reference/api-identifiers/#push-token) একটি তালিকা। শুধুমাত্র নির্দিষ্ট ডিভাইসগুলিতে লাইভ অ্যাক্টিভিটি শুরু হবে। |



### রিকোয়েস্টের উদাহরণ

<Tabs>
<TabItem label="ফিল্টার সহ">
```json
{
  "request": {
    "application": "XXXXX-XXXXX",
    "auth": "SECRET_API_TOKEN",
    "notifications": [
      {
        "content": "Your order is being prepared",
        "title": "Food Delivery",
        "live_activity": {
          "event": "start",
          "title": "Order status",
          "content-state": {
            "status": "Third",
            "estimatedTime": "37 min",
            "emoji": "👨‍🍳"
          },
          "attributes-type": "FoodDeliveryAttributes",
          "attributes": {}
        },
        "live_activity_id": "FIRST_LIVE_ACTIVITY",
        "filter": "FILTER_NAME_1"
      }
    ]
  }
}
```
</TabItem>
<TabItem label="ডিভাইস সহ">
```json
{
  "request": {
    "application": "XXXXX-XXXXX",
    "auth": "SECRET_API_TOKEN",
    "notifications": [
      {
        "content": "Your order is being prepared",
        "title": "Food Delivery",
        "live_activity": {
          "event": "start",
          "title": "Order status",
          "content-state": {
            "status": "Third",
            "estimatedTime": "37 min",
            "emoji": "👨‍🍳"
          },
          "attributes-type": "FoodDeliveryAttributes",
          "attributes": {}
        },
        "live_activity_id": "SECOND_LIVE_ACTIVITY",
        "devices": ["first_third", "second_device"]
      }
    ]
  }
}
```
</TabItem>
</Tabs>

### রেসপন্সের উদাহরণ

```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "Messages": [
      "XXXXX-XXXXXXXX-XXXXXXXX"
    ]
  }
}
```
> **দ্রষ্টব্য:**
> 
> Pushwoosh iOS SDK ব্যবহার করে লাইভ অ্যাক্টিভিটিস নিয়ে কাজ করার বিষয়ে আরও জানতে [এই নিবন্ধটি](/bn/developer/pushwoosh-sdk/ios-sdk/ios-live-activities) পড়ুন।


## updateLiveActivity


`POST` `https://api.pushwoosh.com/json/1.3/updateLiveActivity`

iOS লাইভ অ্যাক্টিভিটিস আপডেট এবং শেষ করার অনুমতি দেয়

### রিকোয়েস্ট বডি

| প্যারামিটার      | টাইপ   | প্রয়োজনীয়/ঐচ্ছিক | বিবরণ                                                            |
|----------------|--------|-------------------|------------------------------------------------------------------------|
| auth           | String | প্রয়োজনীয়           | Pushwoosh কন্ট্রোল প্যানেল থেকে [API অ্যাক্সেস টোকেন](/bn/developer/api-reference/api-identifiers/#api-access-token)।                      |
| application    | String | প্রয়োজনীয়           | [Pushwoosh অ্যাপ্লিকেশন কোড](/bn/developer/api-reference/api-identifiers/#application-code)                                       |
| notifications  | Array  | প্রয়োজনীয়           | মেসেজ প্যারামিটারের JSON অ্যারে। নিচের নোটিফিকেশন টেবিলে বিস্তারিত দেখুন। |

#### নোটিফিকেশনস

`notifications` অ্যারেতে ব্যবহৃত প্যারামিটার:

| প্যারামিটার        | টাইপ    | প্রয়োজনীয়/ঐচ্ছিক | বিবরণ                                                                 |
|------------------|---------|-------------------|-----------------------------------------------------------------------------|
| live_activity    | Object  | প্রয়োজনীয়           | iOS-এ লাইভ অ্যাক্টিভিটি আপডেট করার জন্য লাইভ অ্যাক্টিভিটি ডেটা।                          |
| live_activity.event            | String  | প্রয়োজনীয়           | ইভেন্টের ধরন নির্দিষ্ট করে। লাইভ অ্যাক্টিভিটি আপডেট করতে `"update"` ব্যবহার করুন অথবা এটি বন্ধ করতে `"end"` ব্যবহার করুন। |
| live_activity.content-state    | Object  | প্রয়োজনীয়           | কী-ভ্যালু পেয়ার সহ অবজেক্ট যা লাইভ অ্যাক্টিভিটিতে তার কন্টেন্ট আপডেট করার জন্য ডেটা পাস করতে ব্যবহৃত হয়। |
| live_activity.dismissal-date   | Integer | ঐচ্ছিক           | সময় (সেকেন্ডে) যখন লাইভ অ্যাক্টিভিটি শেষ হওয়া উচিত।                    |
| live_activity_id | String  | প্রয়োজনীয়           | আপডেট করার জন্য লাইভ অ্যাক্টিভিটির অনন্য শনাক্তকারী। **startLiveActivity**-তে ব্যবহৃত `live_activity_id` এর সাথে অবশ্যই মিলতে হবে। আপডেটটি সেই সমস্ত ডিভাইসে পৌঁছে দেওয়া হবে যেখানে এই অ্যাক্টিভিটি শুরু হয়েছিল।                |
| live_activity.relevance-score  | Integer | ঐচ্ছিক           | iOS সিস্টেমকে জানায় কোন লাইভ অ্যাক্টিভিটির অগ্রাধিকার অন্যদের চেয়ে বেশি। 1 থেকে অসীম পর্যন্ত মান গ্রহণ করে (100 পর্যন্ত মান সুপারিশ করা হয়)। |
| live_activity.stale-date | Integer | ঐচ্ছিক | সময় (সেকেন্ডে) যা সেই তারিখকে প্রতিনিধিত্ব করে যখন একটি লাইভ অ্যাক্টিভিটি পুরনো বা মেয়াদোত্তীর্ণ হয়ে যায়।|


### রিকোয়েস্টের উদাহরণ

```json

{
  "request": {
    "application": "XXXXX-XXXXX",
    "auth": "SECRET_API_TOKEN",
    "notifications": [
      {
        "live_activity": {
          "event": "update",
          "title": "Live Activity Update",
          "content-state": {
            "status": "second 66",
            "estimatedTime": "66 min",
            "emoji": "👨‍"
          },
          "relevance-score": 60
        },
        "live_activity_id": "FIRST_LIVE_ACTIVITY"
      }
    ]
  }
}
```

### রেসপন্সের উদাহরণ

```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "Messages": [
      "XXXXX-XXXXXXXX-XXXXXXXX"
    ]
  }
}
```

> Pushwoosh iOS SDK ব্যবহার করে লাইভ অ্যাক্টিভিটিস নিয়ে কাজ করার বিষয়ে আরও জানতে [এই নিবন্ধটি](/bn/developer/pushwoosh-sdk/ios-sdk/ios-live-activities/) পড়ুন।


## প্রতি ডিভাইসে একাধিক অ্যাক্টিভিটি

আপনি একই ডিভাইসে একাধিক লাইভ অ্যাক্টিভিটি শুরু করতে পারেন বিভিন্ন `live_activity_id` মান দিয়ে বেশ কয়েকবার `startLiveActivity` কল করে।

উদাহরণস্বরূপ, যদি আপনি দুটি অ্যাক্টিভিটি শুরু করেন: `FIRST_LIVE_ACTIVITY` `filter: FILTER_NAME_1` সহ এবং `SECOND_LIVE_ACTIVITY` `filter: FILTER_NAME_2` সহ, তাহলে যে ডিভাইস উভয় ফিল্টারের সাথে মেলে, সেই ডিভাইসে উভয় অ্যাক্টিভিটি একই সাথে চলবে।

তাদের মধ্যে একটি আপডেট করতে, তার `live_activity_id` `updateLiveActivity`-তে পাস করুন। আপডেটটি সেই সমস্ত ডিভাইসে পৌঁছে দেওয়া হয় যেখানে সেই অ্যাক্টিভিটি তৈরি করা হয়েছিল। অন্য অ্যাক্টিভিটি প্রভাবিত হয় না।

`relevance-score` প্যারামিটারটি একই ডিভাইসে একাধিক লাইভ অ্যাক্টিভিটি সক্রিয় থাকাকালীন প্রদর্শনের অগ্রাধিকার নিয়ন্ত্রণ করে। যদি স্ক্রিনের জায়গা সীমিত থাকে বা অ্যাক্টিভিটিগুলি গ্রুপ করা হয়, তাহলে উচ্চতর মানের অ্যাক্টিভিটিটি উচ্চ অগ্রাধিকারের সাথে দেখানো হয়।