Функционал SDK
Предварительно вам необходимо настроить SDK для работы с вашим приложением. Подробная инструкция находится здесь
Работа со статусами подписки
Изменение статуса подписки
AltcraftSDK
└─ val pushSubscriptionFunctions: PublicPushSubscriptionFunctions
// Подписка (статус = SUBSCRIBED)
├─ fun pushSubscribe(
│ context: Context,
│ sync: Boolean = true,
│ profileFields: Map<String, Any?>? = null,
│ customFields: Map<String, Any?>? = null,
│ cats: List<DataClasses.CategoryData>? = null,
│ replace: Boolean? = null,
│ skipTriggers: Boolean? = null
│ ): Unit
// Приостановка (статус = SUSPENDED)
├─ fun pushSuspend(
│ context: Context,
│ sync: Boolean = true,
│ profileFields: Map<String, Any?>? = null,
│ customFields: Map<String, Any?>? = null,
│ cats: List<DataClasses.CategoryData>? = null,
│ replace: Boolean? = null,
│ skipTriggers: Boolean? = null
│ ): Unit
// Отписка (статус = UNSUBSCRIBED)
└─ fun pushUnSubscribe(
context: Context,
sync: Boolean = true,
profileFields: Map<String, Any?>? = null,
customFields: Map<String, Any?>? = null,
cats: List<DataClasses.CategoryData>? = null,
replace: Boolean? = null,
skipTriggers: Boolean? = null
): Unit
Функции изменения статуса подписки:
fun pushSubscribe()— выполняет подписку на push-уведомления;fun pushUnSubscribe()— отменяет подписку на push-уведомления;fun pushSuspend()— приостанавливает подписку на push-уведомления (уведомления не приходят, но при этом не создается событие отписки в профиле пользователя);fun unSuspendPushSubscription()— используется для созданияLogIn-,LogOut-переходов.
Функции этой группы имеют одинаковую сигнатуру, содержащую следующие параметры:
context: Context
Обязательный: Да
Описание: Android Context.
sync: Boolean
По умолчанию: true
Обязательный: Нет
Описание: Флаг, устанавливающий синхронность выполнения запроса.
Успешное выполнение запроса:
В случае успешного выполнения запроса данной группы функций будет создано событие с кодом 230, содержащее значение event.value, определяемое в зависимости от флага синхронизации:
Если sync == true
ResponseWithHttpCode
├─ httpCode: 200
└─ response
├─ error: 0
├─ errorText: ""
└─ profile
├─ id: "your id"
├─ status: "subscribed"
├─ isTest: false
└─ subscription
├─ subscriptionId: "your subscriptionId"
├─ hashId: "7f31a9c4"
├─ provider: "android-firebase"
├─ status: "subscribed"
├─ fields
│ ├─ _os_ver: {"raw":"14","ver":"[\"14.0\", \"0.0\", \"0.0\"]"}
│ ├─ _device_type: "mob"
│ ├─ _ad_track: true
│ ├─ _device_name: "Pixel"
│ ├─ _os_language: "en"
│ ├─ _os_tz: "+0100"
│ ├─ _os: "Android"
│ ├─ _device_model: "Pixel 7"
│ └─ _app_ver: "1.0.0"
└─ cats
└─ [ { name: "developer_news", title: "dev_news", steady: false, active: false } ]
При синхронном запросе в значении события event.value по ключу "response_with_http_code" доступны:
-
httpCode – транспортный код ответа;
-
Response – data class, содержащий:
-
error: Int?— внутренний код ошибки сервера (0, если ошибок нет), -
errorText: String?— текст ошибки (пустая строка, если ошибок нет), -
profile: ProfileData?— данные профиля, если запрос успешный:- информация о профиле (ProfileData)
-