AI Agent Guide

استفاده از مستندات پوشفا با Agentهای هوش مصنوعی

راهنمای عملی برای دانلود یا ارائه فایل Markdown مناسب به Agent، تکمیل اطلاعات پروژه و استفاده از Promptهای آماده Web، Android و iOS.

این فایل‌ها چه کاری انجام می‌دهند؟

سه راهنمای جامع Markdown برای Web Push، Android Push و iOS Push آماده شده‌اند. هر فایل قراردادهای واقعی پوشفا درباره نصب SDK، Permission و Prompt، Subscriber ID، Token، Topic، Alias و Custom Alias، ارسال تکی و گروهی، گزارش، RetenX و Auth Push را در اختیار Agent می‌گذارد. شما فقط باید فایل پلتفرم درست را همراه توضیح کوتاهی از پروژه و نتیجه موردنظر ارائه کنید.

فایل Markdown جای دسترسی Agent به پروژه را نمی‌گیرد. Agent برای پیاده‌سازی باید سورس پروژه، تنظیمات فعلی و اجازه ویرایش فایل‌های مرتبط را نیز داشته باشد.

دانلود فایل مناسب

برای هر پروژه فقط فایل پلتفرم مربوط را دانلود و به گفتگو ضمیمه کنید. اگر پروژه هم‌زمان وب و اپ موبایل دارد، فایل‌های همان پلتفرم‌ها را با هم ارائه دهید و از Agent بخواهید هویت کاربر و Backend API را بین آن‌ها هماهنگ نگه دارد.

آدرس‌های قابل‌کپی برای ارائه به Agent

اگر Agent امکان خواندن URL عمومی دارد، آدرس کامل فایل را در Prompt قرار دهید. در محیط توسعه محلی مانند Codex، Cursor یا Claude Code می‌توانید مسیر فایل داخل Repository را بدهید. دکمه «کپی» بالای بلوک زیر همه مسیرها را کپی می‌کند.

URL عمومی پس از Deploy نسخه‌ای که این فایل‌ها را دارد در دسترس است. اگر Agent نمی‌تواند URL را باز کند، فایل دانلودشده را مستقیماً Attach کنید یا متن آن را در Context پروژه قرار دهید.
Web — URL عمومی:
https://pushfa.com/index/doc/download/pushfa-web-push-complete-guide-fa.md

Android — URL عمومی:
https://pushfa.com/index/doc/download/pushfa-android-push-complete-guide-fa.md

iOS — URL عمومی:
https://pushfa.com/index/doc/download/pushfa-ios-push-complete-guide-fa.md

مسیر داخل Repository برای Agent محلی:
docs/pushfa-web-push-complete-guide-fa.md
docs/pushfa-android-push-complete-guide-fa.md
docs/pushfa-ios-push-complete-guide-fa.md

روش استفاده در سه حالت رایج

نوع Agentروش ارائه سندروش ارائه پروژه
ChatGPT، Claude یا گفتگوی مشابه فایل MD را دانلود و Attach کنید. فایل‌های مرتبط پروژه را نیز Attach کنید یا Repository متصل بدهید.
Codex، Cursor، Claude Code یا Agent محلی مسیر docs/...md را در Prompt بنویسید و از Agent بخواهید ابتدا فایل را کامل بخواند. Agent را از ریشه Repository اجرا کنید.
Agent سازمانی دارای دسترسی URL URL عمومی دانلود را بدهید و صریحاً درخواست خواندن کامل فایل کنید. دسترسی امن و محدود به Repository یا Sandbox بدهید.

اطلاعاتی که انسان باید قبل از شروع آماده کند

هرچه اطلاعات زیر دقیق‌تر باشد، Agent کمتر حدس می‌زند و نتیجه قابل‌اعتمادتر خواهد بود. موارد نامعلوم را با «نامشخص؛ از پروژه کشف کن» مشخص کنید.

پلتفرم: Web / Android / iOS / چندپلتفرمی
هدف: نصب جدید / اصلاح نصب / ارسال Backend / RetenX / Auth Push
Public Key سرویس: ...
Private Key: فقط نام متغیر محیطی Backend؛ مقدار واقعی را در Prompt ننویسید
نوع سرویس و Firebase Project: ...
Frontend یا Mobile stack و نسخه‌ها: ...
Backend stack و محل endpointهای داخلی: ...
روش Login/Logout و شناسه پایدار کاربر: ...
External ID: ...
Custom Aliasها: mobile / crm_id / email / ...
Topicها و UUID آن‌ها: ...
Deep Link یا URLهای مقصد: ...
Prompt مطلوب و زمان نمایش: ...
گزارش Delivery/Click: لازم/غیرلازم
RetenX eventها و Start/Exit event: ...
Auth Push: فعال/غیرفعال
محدودیت‌ها و بخش‌هایی که نباید تغییر کنند: ...

الگوی کار پیشنهادی با Agent

فایل درست را ارائه کنید

فایل را Attach کنید یا URL/مسیر Repository را بدهید و بخواهید پیش از تغییر، آن را کامل بخواند.

نتیجه را به‌صورت رفتاری توضیح دهید

مثلاً بگویید Permission پس از افزودن به سبد نمایش داده شود و پس از Login شناسه CRM ثبت شود.

کشف پروژه را الزام کنید

Agent باید ابتدا معماری، SDKهای موجود، Service Worker، Firebase، Login و Backend را بررسی کند.

مرز امنیت را مشخص کنید

Private Key و Service Account فقط Backend؛ هیچ Secret در Client یا لاگ قرار نگیرد.

پیاده‌سازی کوچک و سازگار بخواهید

Agent قرارداد موجود، API عمومی، Navigation، گزارش Delivery/Click و Token lifecycle را حفظ کند.

خروجی قابل تحویل بخواهید

فایل‌های تغییرکرده، تنظیمات لازم پنل/Firebase/Apple، متغیرهای محیطی و چک‌لیست تست دستی گزارش شوند.

Prompt آماده جامع Web Push و PWA

این Prompt نصب جدید یا تکمیل پیاده‌سازی موجود، Prompt سفارشی، هویت مخاطب، ارسال Backend، RetenX و Auth Push را پوشش می‌دهد. بخش‌های داخل کروشه را پر یا حذف کنید.

فایل docs/pushfa-web-push-complete-guide-fa.md را ابتدا کامل بخوان و آن را قرارداد مرجع Pushfa این کار در نظر بگیر. سپس Web Push پروژه را بررسی و پیاده‌سازی/اصلاح کن.

اطلاعات پروژه:
- دامنه Production: [https://example.com]
- Public Key: [PUBLIC_KEY]
- Frontend: [Laravel Blade / React / Vue / Next.js / ...]
- Backend: [Laravel / Node.js / ...]
- نصب جدید یا موجود: [جدید/موجود]
- Prompt: [آماده Pushfa / مستقیم مرورگر / کاملاً سفارشی]
- زمان نمایش Prompt: [پس از Login / افزودن به سبد / کلیک دکمه / ...]
- External ID: [شناسه داخلی کاربر]
- Custom Aliasها: [mobile, crm_id, email]
- Topicها: [نام و UUID]
- Deep Link یا URLها: [...]
- RetenX eventها: [add_to_cart, checkout_completed, ...]
- Auth Push: [فعال/غیرفعال]

قبل از تغییر، اسکریپت Pushfa، Service Worker، Firebase، Login/Logout، ذخیره Subscriber ID و APIهای Backend فعلی را کشف کن. manual_prompt و prompt_style را مطابق UX انتخاب کن. در Login شناسه‌ها را ثبت و در Logout اتصال کاربر قبلی را پاک کن. ارسال تکی، گروهی، Subscriber ID، External ID و Custom Alias را فقط در Backend و با Private Key محیطی پیاده کن. Delivery/Click، دکمه‌ها، Collapse ID، Silent و Additional Data را حفظ کن. اگر RetenX فعال است Start/Exit eventها و idempotency را هماهنگ کن. اگر Auth Push فعال است Challenge/Grant را فقط در Backend، همراه cancel fallback، rate limit و session regeneration اجرا کن.

هیچ api_private_key یا Service Account را در Frontend، Service Worker، Git یا لاگ قرار نده. تغییرات را با سبک فعلی پروژه و حداقل refactor انجام بده. در پایان فایل‌های تغییرکرده، تنظیمات پنل/Firebase، متغیرهای محیطی و سناریوهای تست دستی را گزارش کن. هر ابهام امن و قابل‌کشف را از کد کشف کن و فقط برای تصمیمی که نتیجه را عوض می‌کند سؤال بپرس.

Prompt آماده جامع Android Push

برای پروژه Kotlin، Java، Compose یا Views قابل استفاده است و حالت داشتن FirebaseMessagingService اختصاصی را نیز پوشش می‌دهد.

فایل docs/pushfa-android-push-complete-guide-fa.md را ابتدا کامل بخوان و براساس قرارداد آن Pushfa Android Push را در پروژه پیاده‌سازی/اصلاح کن.

اطلاعات پروژه:
- applicationId: [com.example.app]
- Public Key: [PUBLIC_KEY]
- زبان و UI: [Kotlin/Java و Compose/Views]
- minSdk/targetSdk: [...]
- FirebaseMessagingService موجود: [بله/خیر/نامشخص؛ کشف کن]
- Navigation و Deep Linkها: [...]
- External ID: [شناسه کاربر]
- Custom Aliasها: [mobile, crm_id, tier]
- Topicها: [نام و UUID]
- RetenX eventها: [...]
- Auth Push: [فعال/غیرفعال]

Gradle، Manifest، Application، google-services، Permission، Notification Channel، FirebaseMessagingService و Navigation فعلی را ابتدا بررسی کن. SDK رسمی Pushfa Android نسخه مرجع سند را فقط از یک Repository نصب و در Application initialize کن. برای Android 13+ ابتدا Soft Prompt اپ و سپس POST_NOTIFICATIONS را در زمان مشخص درخواست کن. Token refresh را به همان Subscriber ID متصل نگه دار. Login/Logout، External ID و Custom Aliasها را کامل مدیریت کن. Foreground، Background، اپ بسته، تصویر، دو Action، Deep Link، Collapse ID، Silent، Additional Data و Delivery/Click را بدون شکستن رفتار SDK پیاده کن. اگر Service اختصاصی FCM وجود دارد از ثبت دو FirebaseMessagingService جلوگیری کن.

Endpointهای ارسال تکی، گروهی، Subscriber، Alias و Custom Alias فقط در Backend با Private Key محیطی باشند. RetenX و Auth Push را فقط در صورت فعال‌بودن با Backend امن متصل کن. Service Account و Private Key نباید وارد APK، سورس یا لاگ شوند. در پایان فایل‌های تغییرکرده، تنظیم Firebase/Pushfa، مسیرهای Deep Link و چک‌لیست تست دستی روی دستگاه واقعی را گزارش کن.

Prompt آماده جامع iOS Push

نصب Swift Package، Firebase/APNs، SwiftUI/UIKit، Notification Service Extension، Deep Link و چرخه هویت را پوشش می‌دهد.

فایل docs/pushfa-ios-push-complete-guide-fa.md را ابتدا کامل بخوان و براساس قرارداد آن Pushfa Native iOS Push را در پروژه پیاده‌سازی/اصلاح کن.

اطلاعات پروژه:
- Bundle ID: [com.example.app]
- Public Key: [PUBLIC_KEY]
- UI lifecycle: [SwiftUI/UIKit]
- Deployment target و Xcode: [...]
- Firebase swizzling: [فعال/غیرفعال/نامشخص؛ کشف کن]
- Universal Link یا Custom Scheme: [...]
- Rich Image و Notification Service Extension: [لازم/غیرلازم]
- External ID: [شناسه کاربر]
- Custom Aliasها: [mobile, crm_id]
- Topicها: [نام و UUID]
- RetenX eventها: [...]
- Auth Push: [فعال/غیرفعال]

ابتدا Xcode targets، Package dependencies، AppDelegate، SwiftUI lifecycle، entitlements، GoogleService-Info.plist، APNs registration، UNUserNotificationCenterDelegate و Navigation موجود را بررسی کن. SDK رسمی Pushfa را از Tag مرجع نصب کن؛ Product اصلی فقط در Target اپ و PushfaExtension فقط در Notification Service Extension باشد. Push Notifications و Remote notifications را تنظیم کن. Permission را بعد از Soft Prompt و اقدام کاربر بخواه. Token refresh، Subscriber ID، Login/Logout، External ID و Custom Aliasها را هماهنگ کن. Foreground، Background، Terminated، Cold Start، Actionها، Universal Link/Custom Scheme، Additional Data، Collapse و Delivery/Click را مدیریت کن. URL ورودی را validate و allowlist کن.

Private Key، APNs Key و Service Account هرگز داخل Bundle، سورس یا لاگ قرار نگیرند. ارسال و Auth Push فقط از Backend امن انجام شوند. RetenX eventهای قطعی مانند پرداخت را ترجیحاً از Backend و با idempotency بفرست. در پایان فایل‌های تغییرکرده، تنظیمات Apple Developer/Firebase/Pushfa و چک‌لیست تست روی دستگاه واقعی را گزارش کن.

Prompt آماده برای Backend مشترک چندپلتفرمی

اگر Web، Android و iOS هم‌زمان دارید، هر سه فایل را به Agent بدهید و از این Prompt برای جلوگیری از سه پیاده‌سازی هویتی جدا استفاده کنید.

هر سه فایل زیر را کامل بخوان:
- docs/pushfa-web-push-complete-guide-fa.md
- docs/pushfa-android-push-complete-guide-fa.md
- docs/pushfa-ios-push-complete-guide-fa.md

Backend مشترک Pushfa را طوری طراحی/اصلاح کن که یک کاربر روی Web، Android و iOS با External ID واحد و Custom Aliasهای مشترک به Profileهای قابل هدف‌گیری متصل شود. Private Key فقط در Secret محیط Backend باشد. سرویس و Public Key هر پلتفرم را اشتباه مخلوط نکن. یک لایه مشترک برای ارسال به Subscriber ID، External ID، Custom Alias، Topic و گروه بساز و فیلتر platform را فقط هنگام نیاز اعمال کن. Token را هویت کسب‌وکاری فرض نکن. Login/Logout، چنددستگاهی، only_last_device، smart_targeting، Delivery/Click، Bracket، Additional Data، RetenX Profile/Event و Auth Push bind/unbind را پوشش بده.

قبل از تغییر، مدل User، سرویس ارسال فعلی، Queue، Retry، Secret management، لاگ‌ها و endpointهای داخلی را بررسی کن. API عمومی موجود را نشکن و داده هر Tenant/Service را جدا نگه دار. در پایان قرارداد داخلی پیشنهادی، فایل‌های تغییرکرده، متغیرهای محیطی و نمونه درخواست هر نوع هدف‌گیری را ارائه کن.

Prompt آماده برای بازبینی پیاده‌سازی موجود

این Prompt فقط Audit و گزارش می‌خواهد و به Agent اجازه تغییر نمی‌دهد؛ بعد از دریافت گزارش می‌توانید جداگانه اجرای اصلاحات را درخواست کنید.

فایل راهنمای جامع Pushfa مربوط به پلتفرم این پروژه را کامل بخوان. پیاده‌سازی موجود را فقط به‌صورت Read-only بازبینی کن و هیچ فایلی را تغییر نده. مسیر کامل ثبت Permission، ساخت/Refresh Token، نگهداری Subscriber ID، Login/Logout، External ID، Custom Alias، Topic، دریافت Foreground/Background، Deep Link، Delivery/Click، ارسال Backend، RetenX و Auth Push را Trace کن.

یافته‌ها را با اولویت Critical/High/Medium/Low گزارش بده. برای هر مورد فایل و خط، قرارداد نقض‌شده، اثر واقعی، ریسک امنیتی یا رفتاری و کوچک‌ترین اصلاح پیشنهادی را بنویس. افشای Private Key یا Service Account، اختلاط Service/Tenant، استفاده از Token به‌عنوان هویت پایدار، ثبت دو Handler، از دست‌رفتن Ack و پاک‌نشدن Alias هنگام Logout را به‌طور ویژه بررسی کن.

اشتباه‌هایی که باید از Agent جلوگیری کنید

اشتباهدستور صحیح
قرار دادن Private Key در Client فقط نام Secret یا متغیر محیطی Backend را بدهید؛ مقدار را وارد گفتگو نکنید.
شروع کدنویسی بدون خواندن سند و پروژه صریحاً خواندن کامل MD و کشف معماری موجود را مرحله اول قرار دهید.
یکی‌گرفتن Token و User ID Subscriber ID و External ID را هویت پایدار و Token را شناسه فنی قابل‌تعویض بدانید.
پیاده‌سازی یکسان Prompt در همه پلتفرم‌ها قواعد Browser، Android 13+ و iOS را جدا رعایت کنید.
دورزدن Click/Delivery tracking Renderer و Deep Link سفارشی باید Ack استاندارد Pushfa را حفظ کنند.
نوشتن دوباره کل ماژول تغییر کوچک، سازگار با سبک پروژه و بدون Refactor غیرضروری بخواهید.
اعتماد به کد بدون تحویل تنظیمات گزارش تنظیمات پنل، Firebase، Apple و Secretهای لازم را نیز مطالبه کنید.

چک‌لیست قبل از قبول خروجی Agent

پیش از Merge یا انتشار، مطمئن شوید Agent دقیقاً توضیح داده چه چیزی تغییر کرده و چه تنظیم دستی باقی مانده است.

امنیت

هیچ Private Key، Service Account، APNs Key، Grant یا OTP در Client، Git یا Log نیست.

هویت

Subscriber ID پایدار است و Login/Logout و Custom Aliasها رفتار مشخص دارند.

چرخه Push

Permission، Token Refresh، Foreground، Background، Click و Delivery کامل‌اند.

Backend

ارسال‌ها Tenant/Service scoped، دارای Validation، Retry و مدیریت خطا هستند.

تنظیمات بیرونی

فهرست تنظیمات پنل Pushfa، Firebase و Apple Developer تحویل شده است.

تست دستی

سناریوهای دستگاه واقعی و نتیجه مورد انتظار برای تیم مشخص شده‌اند.

Ctrl+I