نمایش 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)
}
}