---
title: "نوتیفیکیشن گفتگو"
description: "پیام‌های چت را مثل پیام‌رسان‌ها نشان دهید: عکس فرستنده، یک نوتیفیکیشن برای هر گفتگو و در اندروید، گفتگو در بخش Conversations گوشی. چند کلید به داده‌ی پیام اضافه کنید؛ بقیه کار با SDKهاست."
product: push
language: fa
url: https://abrova.ir/docs/push/conversation-notifications
updated: 2026-11-15
---

# نوتیفیکیشن گفتگو

پیام‌های چت را مثل پیام‌رسان‌ها نشان دهید: عکس فرستنده، یک نوتیفیکیشن برای هر گفتگو و در اندروید، گفتگو در بخش Conversations گوشی. چند کلید به داده‌ی پیام اضافه کنید؛ بقیه کار با SDKهاست.

> **پیام چت باید شبیه پیام چت باشد**
>
> یک پوش معمولی آیکون اپ شما را نشان می‌دهد و هر پیام یک نوتیفیکیشن جداست. در چت، کاربر انتظار دارد چهره‌ی فرستنده را ببیند و پیام‌های یک گفتگو کنار هم باشند، مثل پیام‌رسان‌های بزرگ. یک `conversationId` (و فرستنده) به داده‌ی پیام اضافه کنید تا SDKهای ابرووا پوش آن را همین‌طور نشان دهند. پیام‌های بدون `conversationId` دقیقاً مثل قبل نمایش داده می‌شوند.

## مرحله 1: گفتگو را به داده‌ی پیام اضافه کنید

| کلید در data | کارش |
| --- | --- |
| `conversationId` | الزامی. هر شناسه یک گفتگو، مثلاً شناسه‌ی چت یا اتاق شما. پیام‌های جدید با همین شناسه به همان نوتیفیکیشن اضافه می‌شوند. |
| `senderName` | نویسنده‌ی پیام. اگر نباشد، عنوان پیام استفاده می‌شود. |
| `senderId` | دو فرستنده‌ی هم‌نام را از هم جدا می‌کند. |
| `senderAvatarUrl` | یک تصویر https برای عکس فرستنده. اگر نباشد، اندروید یک دایره با حرف اول نام می‌کشد. |
| `conversationTitle` | نام گروه، برای گروه‌ها نشان داده می‌شود. |
| `conversationIsGroup` | برای گفتگوی گروهی true. |

از سرور شما:

```bash
curl -X POST https://push-api.abrova.ir/push/send-to-user \
  -H "x-api-key: $ABROVA_API_KEY" \
  -H "x-server-secret: $ABROVA_SERVER_SECRET" \
  -H "content-type: application/json" \
  -d '{"userId":"user_kian","title":"@ali","body":"Is the bike still available?",
       "data":{"conversationId":"room_42","senderName":"@ali","senderId":"user_ali",
               "senderAvatarUrl":"https://cdn.example.com/avatars/ali.jpg"}}'
```

با SDK نود جی‌اس، `conversationData()` کلیدها را می‌سازد:

```typescript
import { AbrovaPush, conversationData } from '@abrova/push-node';

await push.send({
  userId: 'user_kian',
  title: '@ali',
  body: 'Is the bike still available?',
  data: {
    ...conversationData({ id: 'room_42', senderName: '@ali', senderId: 'user_ali', senderAvatarUrl: 'https://cdn.example.com/avatars/ali.jpg' }),
    roomId: 'room_42',
  },
});
```

برای گروه `isGroup: true` و `title: 'Family'` را اضافه کنید (یا کلیدهای `conversationIsGroup` و `conversationTitle`).

> **از ابرووا چت استفاده می‌کنید؟**
>
> چت همراه هر پوش پیام، `conversationId`، `senderName`، `senderId` و برای گروه‌ها نام گروه را می‌فرستد. فقط عکس با شماست، چون چت تصویری ذخیره نمی‌کند: هنگام ارسال پیام، `senderAvatarUrl` را در `metadata.pushData` پیام بگذارید. [پوش در چت](https://abrova.ir/docs/chat/push-setup#conversation-notifications) را ببینید.

## مرحله 2: iOS: دو قدم راه‌اندازی

اندروید، وب و فلاتر روی اندروید به کار دیگری نیاز ندارند. در iOS عکس فرستنده یک **communication notification** است که اپل فقط وقتی اجازه می‌دهد که اپ آن را درخواست کند:

1. در Xcode تارگت **اپ** را انتخاب کنید و قابلیت **Communication Notifications** را اضافه کنید. در `Info.plist` اپ، `NSUserActivityTypes` را با آیتم `INSendMessageIntent` اضافه کنید.
2. در **Notification Service Extension** خود (همانی که `pod 'AbrovaPushSDKExtension'` دارد، [SDK iOS](https://abrova.ir/docs/push/ios) را ببینید) محتوا را از SDK عبور دهید:

```swift
override func didReceive(_ request: UNNotificationRequest,
                         withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
    AbrovaPushServiceExtension.conversationContent(for: request) { contentHandler($0) }
}
```

اگر تحویل پیام را هم همان‌جا تأیید می‌کنید، اول `AbrovaPushServiceExtension.didReceive(request, apiKey:appGroup:)` را صدا بزنید. اپ‌های فلاتر و React Native همین کار را در پروژه‌ی iOS خود انجام می‌دهند.

بدون قدم ۱، iOS باز هم پیام‌های گفتگو را کنار هم گروه می‌کند، ولی بدون عکس.

## مرحله 3: کاربر چه می‌بیند

- **اندروید:** عکس گرد فرستنده به جای آیکون اپ، پیام‌های گفتگو روی هم در یک نوتیفیکیشن و نام گروه برای گروه‌ها. در اندروید ۱۱ به بالا گفتگو در بخش **Conversations** بالای فهرست نوتیفیکیشن‌ها قرار می‌گیرد و در پاپ‌آپ کوچک سامسونگ چهره‌ی فرستنده دیده می‌شود. لمس آن مثل قبل اپ شما را با داده‌ی پیام باز می‌کند.
- **iOS ۱۵ به بالا:** عکس و نام فرستنده روی نوتیفیکیشن و نوتیفیکیشن‌های یک گفتگو کنار هم.
- **وب:** یک نوتیفیکیشن برای هر گفتگو. پیام جدید جای آن را می‌گیرد و خط‌های قبلی را نگه می‌دارد (تا ۵ خط)، با عکس فرستنده به عنوان آیکون. گروه نام خودش را با خط‌های `فرستنده: متن` نشان می‌دهد.

> **نسخه‌ی SDK**
>
> نوتیفیکیشن گفتگو به SDK اندروید **0.1.22**، SDK iOS **0.1.21**، فلاتر **0.1.31**، React Native **0.1.22** یا وب **0.1.15** نیاز دارد (`conversationData()` در نود جی‌اس **0.1.9** است). SDKهای قدیمی‌تر این کلیدها را نادیده می‌گیرند و پیام را به شکل نوتیفیکیشن معمولی نشان می‌دهند.
