جستوجو در مستندات پوشفا
موضوع یا کاری را که میخواهید انجام دهید بنویسید تا راهنمای مربوط به آن را پیدا کنید.
توسعه با دستیار برنامهنویسی هوش مصنوعی
راهنمای ساده و مرحلهبهمرحله برای اینکه یک دستیار برنامهنویسی هوش مصنوعی بتواند با کمک مستندات رسمی پوشفا، اتصال Web، Android یا iOS پروژه شما را درست و امن پیادهسازی کند.
این راهنما چگونه به شما کمک میکند؟
برای هرکدام از پلتفرمهای Web، Android و iOS یک فایل راهنمای کامل آماده کردهایم. این فایل به دستیار برنامهنویسی توضیح میدهد پوشفا چگونه نصب میشود، اجازه دریافت اعلان چگونه گرفته میشود، شناسه مخاطب و توکن چگونه نگهداری میشوند و ارسال، گزارشگیری، RetenX و سرویس Auth Push چگونه کار میکنند. کافی است فایل مربوط به پلتفرم خود را همراه با توضیح پروژه و نتیجهای که میخواهید، در اختیار دستیار برنامهنویسی بگذارید.
فایل مناسب پروژه را دانلود کنید
فایل مربوط به پلتفرم پروژه را دانلود و به گفتوگو پیوست کنید. اگر پروژه شما هم وبسایت دارد و هم اپ موبایل، فایل همه پلتفرمهای مورد استفاده را بدهید و از دستیار برنامهنویسی بخواهید شناسه کاربر و API سرور را میان آنها هماهنگ نگه دارد.
آدرسهایی که میتوانید به دستیار برنامهنویسی بدهید
اگر دستیار برنامهنویسی میتواند لینک اینترنتی را باز کند، نشانی کامل فایل را در درخواست خود قرار دهید. در ابزارهای متصل به پروژه، مانند Codex، Cursor یا Claude Code، میتوانید مسیر فایل داخل مخزن پروژه را بدهید. دکمه «کپی» همه نشانیهای زیر را یکجا کپی میکند.
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
در ابزارهای مختلف چه کار کنیم؟
| ابزار مورد استفاده | چگونه راهنما را بدهیم؟ | چگونه پروژه را بدهیم؟ |
|---|---|---|
| ChatGPT، Claude یا ابزار گفتوگومحور | فایل MD را دانلود و به گفتوگو پیوست کنید. | فایلهای مرتبط را نیز پیوست کنید یا مخزن پروژه را متصل کنید. |
| Codex، Cursor، Claude Code یا دستیار برنامهنویسی متصل به پروژه | مسیر فایل docs/...md را در درخواست بنویسید و بخواهید ابتدا آن را کامل بخواند. | دستیار برنامهنویسی را از پوشه اصلی پروژه اجرا کنید. |
| دستیار برنامهنویسی سازمانی با امکان بازکردن لینک | لینک عمومی دانلود را بدهید و بخواهید فایل را کامل بخواند. | دسترسی امن و محدود به مخزن یا محیط ایزوله بدهید. |
پیش از شروع چه اطلاعاتی آماده کنیم؟
هرچه اطلاعات زیر روشنتر باشد، دستیار برنامهنویسی کمتر حدس میزند و نتیجه مطمئنتر میشود. اگر چیزی را نمیدانید، بنویسید «نامشخص است؛ از داخل پروژه پیدا کن».
پلتفرم: 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: فعال/غیرفعال
محدودیتها و بخشهایی که نباید تغییر کنند: ...
بهترین روش همکاری با دستیار برنامهنویسی
فایل درست را ارائه کنید
فایل را به گفتوگو پیوست کنید یا نشانی اینترنتی یا مسیر فایل در مخزن پروژه را بدهید و بخواهید پیش از تغییر، آن را کامل بخواند.
دقیق بگویید چه اتفاقی باید بیفتد
مثلاً بگویید اجازه دریافت اعلان پس از افزودن به سبد نمایش داده شود و پس از Login شناسه CRM ثبت شود.
کشف پروژه را الزام کنید
دستیار برنامهنویسی باید ابتدا معماری، SDKهای موجود، Service Worker، Firebase، Login و سرور را بررسی کند.
مرز امنیت را مشخص کنید
کلید خصوصی و Service Account فقط سرور؛ هیچ Secret در Client یا لاگ قرار نگیرد.
پیادهسازی کوچک و سازگار بخواهید
Agent قرارداد موجود، API عمومی، Navigation، گزارش Delivery/Click و توکن lifecycle را حفظ کند.
خروجی قابل تحویل بخواهید
فایلهای تغییرکرده، تنظیمات لازم پنل/Firebase/Apple، متغیرهای محیطی و فهرست بررسی تست دستی گزارش شوند.
درخواست عضویت آماده جامع Web Push و PWA
این درخواست عضویت نصب جدید یا تکمیل پیادهسازی موجود، درخواست عضویت با ظاهر دلخواه، هویت مخاطب، ارسال سرور، 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، متغیرهای محیطی و سناریوهای تست دستی را گزارش کن. هر ابهام امن و قابلکشف را از کد کشف کن و فقط برای تصمیمی که نتیجه را عوض میکند سؤال بپرس.
درخواست عضویت آماده جامع 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 و چکلیست تست دستی روی دستگاه واقعی را گزارش کن.
درخواست عضویت آماده جامع 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 و چکلیست تست روی دستگاه واقعی را گزارش کن.
درخواست عضویت آماده برای سرور مشترک چندپلتفرمی
اگر Web، Android و iOS همزمان دارید، هر سه فایل را به دستیار برنامهنویسی بدهید و از این درخواست عضویت برای جلوگیری از سه پیادهسازی هویتی جدا استفاده کنید.
هر سه فایل زیر را کامل بخوان:
- 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 را جدا نگه دار. در پایان قرارداد داخلی پیشنهادی، فایلهای تغییرکرده، متغیرهای محیطی و نمونه درخواست هر نوع هدفگیری را ارائه کن.
درخواست عضویت آماده برای بازبینی پیادهسازی موجود
این درخواست عضویت فقط Audit و گزارش میخواهد و به دستیار برنامهنویسی اجازه تغییر نمیدهد؛ بعد از دریافت گزارش میتوانید جداگانه اجرای اصلاحات را درخواست کنید.
فایل راهنمای جامع 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 را بهطور ویژه بررسی کن.
اشتباههایی که باید از دستیار برنامهنویسی جلوگیری کنید
| اشتباه | دستور صحیح |
|---|---|
| قرار دادن کلید خصوصی در Client | فقط نام Secret یا متغیر محیطی سرور را بدهید؛ مقدار را وارد گفتگو نکنید. |
| شروع کدنویسی بدون خواندن سند و پروژه | صریحاً خواندن کامل MD و کشف معماری موجود را مرحله اول قرار دهید. |
| یکیگرفتن توکن و User ID | شناسه ثابت مخاطب (Subscriber ID) و شناسه کاربر در سیستم شما (External ID) را هویت پایدار و توکن را شناسه فنی قابلتعویض بدانید. |
| پیادهسازی یکسان درخواست عضویت در همه پلتفرمها | قواعد Browser، Android 13+ و iOS را جدا رعایت کنید. |
| دورزدن Click/Delivery tracking | Renderer و Deep Link سفارشی باید Ack استاندارد Pushfa را حفظ کنند. |
| نوشتن دوباره کل ماژول | تغییر کوچک، سازگار با سبک پروژه و بدون Refactor غیرضروری بخواهید. |
| اعتماد به کد بدون تحویل تنظیمات | گزارش تنظیمات پنل، Firebase، Apple و Secretهای لازم را نیز مطالبه کنید. |
فهرست بررسی قبل از قبول خروجی Agent
پیش از Merge یا انتشار، مطمئن شوید Agent دقیقاً توضیح داده چه چیزی تغییر کرده و چه تنظیم دستی باقی مانده است.
امنیت
هیچ کلید خصوصی، Service Account، APNs Key، Grant یا OTP در Client، Git یا Log نیست.
هویت
شناسه ثابت مخاطب (Subscriber ID) است و Login/Logout و شناسههای سفارشی رفتار مشخص دارند.
چرخه Push
اجازه دریافت اعلان، توکن Refresh، هنگام استفاده از اپ و در پسزمینه، Click و Delivery کاملاند.
Backend
ارسالها Tenant/Service scoped، دارای Validation، Retry و مدیریت خطا هستند.
تنظیمات بیرونی
فهرست تنظیمات پنل Pushfa، Firebase و Apple Developer تحویل شده است.
تست دستی
سناریوهای دستگاه واقعی و نتیجه مورد انتظار برای تیم مشخص شدهاند.