Пакет raidboss_platform_sdk для Flutter / Dart.
Flutter — raidboss_platform_sdk
Установка из Git (как обычно для продуктовых приложений)
dependencies:
raidboss_platform_sdk:
git:
url: https://github.com/ivanbalandin/RaidBossPlatform.git
path: packages/raidboss_platform_sdk
ref: main # или тег sdk-flutter-v0.1.3
Приватный репозиторий:
dependencies:
raidboss_platform_sdk:
git:
url: git@github.com:ivanbalandin/RaidBossPlatform.git
path: packages/raidboss_platform_sdk
ref: main
flutter pub get
Установка из path (локальная разработка)
dependencies:
raidboss_platform_sdk:
path: ../RaidBossPlatform/packages/raidboss_platform_sdk
import 'package:raidboss_platform_sdk/raidboss_platform_sdk.dart';
Создание клиента
final platform = RaidBossPlatformClient(
apiUrl: 'YOUR_API_URL',
applicationCode: 'YOUR_APP_CODE',
publicKey: 'YOUR_PUBLIC_KEY',
getAccessToken: () async => accessTokenOrNull,
);
Методы
| Метод | Auth | Public key | Заметки |
|---|---|---|---|
getPaywall | нет | нужен | По умолчанию main |
registerUser(...) | да | — | После Auth; не апгрейдит версии юр. доков |
getMyConsents / acceptConsents | да | — | Явное принятие новых версий |
updateUserProfile(...) | да | — | После смены имени/аватара |
registerDevice | да | — | Стабильный UUID installationId → «Устройства active» |
getMyEntitlements / hasEntitlement | да | — | Права |
createPayment | да | нужен | Только платные |
syncPayment | да | — | Сверка после return |
activateLicenseKey | да | — | Ключ |
getConfig / getFeatures | config: нет | — | Remote |
getApplicationBranding | нет | нужен | Иконка и сайт |
getBanner / listBanners | нет | нужен | HTML-баннеры |
getSiteBanner / listSiteBanners | нет | нужен | Баннеры сайта |
trackEvent | да | — | Аналитика; с installationId+platform — heartbeat устройства |
createSupportTicket / uploadSupportAttachment | да | нужен | Helpdesk |
listMySupportTickets / getSupportTicket / replyToSupportTicket | да | — | Заявки |
PaywallData.isFreePrice(i) | — | — | Free |
Free
if (paywall.isFreePrice(0)) {
// локальный free — без createPayment
}
Модели: EntitlementSnapshot, PaywallData, PaymentResult, RaidBossPlatformException.