چرخه token و Subscriber ID در Android SDK
آنچه SDK درباره ساخت Subscriber، ثبت خودکار FCM token، Refresh و Sync انجام میدهد و وظیفه واقعی اپ چیست.
نیازی به ثبت دستی endpoint نیست
initialize ابتدا یک Subscriber ID محلی میسازد و آن را با پوشفا همگام میکند. اگر autoRegister=true و اعلانها فعال باشند، FCM token را از Firebase میگیرد و ثبت میکند. در Android 13+ پس از permission فقط registerForPush را صدا بزنید. endpointهای داخلی ثبت token بخشی از پیادهسازی SDK هستند، نه API پیشنهادی اپ.
چرخه خودکار
initialize
Subscriber ID ساخته یا بازیابی و state سرور Sync میشود.
permission فعال
autoRegister token را خودکار دریافت و ثبت میکند.
permission جدید
اپ registerForPush را بعد از قبول کاربر اجرا میکند.
FCM token جدید
Service خود SDK handleNewToken را اجرا و token جدید را روی همان Subscriber ثبت میکند.
Service اختصاصی
فقط در این حالت اپ باید onNewToken را به Pushfa.handleNewToken تحویل دهد.
چه چیزی پایدار است؟
| مقدار | رفتار |
|---|---|
| FCM token | ممکن است Refresh شود و SDK آن را بروزرسانی میکند. |
| Subscriber ID | در Update عادی اپ باقی میماند و برای همان نصب پایدار است. |
| Uninstall یا Clear Data | داده محلی و Subscriber ID حذف میشود و نصب بعدی هویت جدید میگیرد. |
| External ID و Alias | برای اتصال نصب جدید به هویت کسبوکاری دوباره ثبت شوند. |
تنظیم autoRegister
در حالت عادی مقدار پیشفرض true را نگه دارید. اگر محصول نیاز دارد ثبت Push فقط بعد از مرحله خاصی انجام شود، autoRegister=false قرار دهید و پس از permission و تصمیم کاربر registerForPush را اجرا کنید.
Pushfa.initialize(
application = this,
config = PushfaConfig(
apiPublicKey = "YOUR_PUBLIC_KEY",
autoRegister = false,
),
)
// بعد از رضایت کاربر
Pushfa.registerForPush { result ->
Log.d("Pushfa", "active=${result.value?.hasPush}")
}
