پوشفا
Android SDK API Android

مرجع کامل متدهای Pushfa Android SDK

فهرست تمام APIهای public نسخه 2.0.4، خروجی هر متد و زمان مناسب استفاده از آن‌ها در Kotlin و Java.

راه‌اندازی، وضعیت و permission

متدخروجیکاربرد
Pushfa.initialize(application, config, callback) PushfaState مقداردهی SDK، ساخت Subscriber، ثبت خودکار token، Visit و همگام‌سازی state
Pushfa.currentState() PushfaState? خواندن فوری آخرین state محلی بدون شبکه
Pushfa.syncState(callback) PushfaState دریافت وضعیت معتبر Subscriber از سرور
Pushfa.getSubscriberId() String? شناسه پایدار همین نصب؛ حتی پیش از permission ساخته می‌شود
Pushfa.getPushToken() String? FCM token ثبت‌شده فعلی؛ ممکن است هنوز null باشد
Pushfa.areNotificationsEnabled(context) Boolean بررسی permission و فعال‌بودن اعلان‌های اپ در سیستم
Pushfa.requestNotificationPermission(activity, requestCode) Boolean نمایش permission در Android 13+؛ true یعنی درخواست اجرا شد
Pushfa.registerForPush(callback) PushfaState دریافت و ثبت FCM token بعد از فعال‌بودن permission

Topic و هویت

متدخروجی Callbackکاربرد
subscribeTopic(topicUuid) List<String> عضویت با UUID تاپیک و بازگرداندن فهرست فعلی
unsubscribeTopic(topicUuid) List<String> لغو عضویت Topic
getTopics() List<String> دریافت فهرست معتبر Topicها از سرور
setExternalId(externalId) String? ثبت شناسه اصلی کاربر؛ null یعنی حذف در Logout
getExternalId() String? خواندن External ID معتبر از سرور
addAlias(label, value) Map<String,String> افزودن یا بروزرسانی یک Alias
addAliases(map) Map<String,String> ثبت چند Alias در یک درخواست
removeAlias(label) Map<String,String> حذف یک Alias
removeAliases(labels) Map<String,String> حذف چند Alias
getAliases() Map<String,String> دریافت Aliasهای معتبر از سرور

Event، دریافت و نمایش

متدخروجیکاربرد
trackEvent(eventName, params, aliases) PushfaEventResult ارسال event و داده‌های RetenX همراه Alias اختیاری
setNotificationListener(listener) Unit مشاهده پیام پیش از نمایش خودکار؛ null یعنی حذف Listener
displayNotification(context, message) Boolean اجرای Renderer استاندارد و Queue کردن گزارش تحویل
handleMessage(context, remoteMessage) Boolean تحویل پیام از FirebaseMessagingService اختصاصی؛ false برای پیام غیرپوشفا
handleNewToken(context, token) Unit تحویل token جدید از Service اختصاصی به SDK

ثابت‌های عمومی

ثابتمقدار/کاربرد
Pushfa.VERSION نسخه SDK در زمان اجرا؛ برای این راهنما 2.0.4
DEFAULT_PERMISSION_REQUEST_CODE کد پیش‌فرض 7402 برای permission
EXTRA_TARGET_URL مقصد نسبی اعلان در Intent اپ
EXTRA_NOTIFICATION_ID شناسه اعلان کلیک‌شده
EXTRA_ACTION_ID body یا شناسه دکمه مانند btn-left و btn-right

مدل Callback و خطا

متدهای شبکه Async هستند و Callback روی Main Thread اجرا می‌شود. نتیجه همیشه PushfaResult<T> است. isSuccess را بررسی کنید؛ value نتیجه موفق و error شامل message و httpStatus است. getOrThrow نیز در صورت خطا exception پرتاب می‌کند.

Pushfa.syncState { result ->
    if (result.isSuccess) {
        val state = result.value
        Log.d("Pushfa", "topics=${state?.topics}")
    } else {
        Log.e("Pushfa", "http=${result.error?.httpStatus}", result.error)
    }
}

فیلدهای PushfaState

فیلدمعنی
subscriberId شناسه پایدار نصب در پوشفا
pushToken FCM token فعلی یا null
hasPush آیا token معتبر Push به پروفایل متصل است
externalId شناسه اصلی کاربر در سیستم شما
aliases Aliasهای برچسب‌دار پروفایل
topics UUID تاپیک‌های عضو شده