Пакет 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,
);

Методы

МетодAuthPublic keyЗаметки
getPaywallнетнуженПо умолчанию main
registerUser(...)даПосле Auth; не апгрейдит версии юр. доков
getMyConsents / acceptConsentsдаЯвное принятие новых версий
updateUserProfile(...)даПосле смены имени/аватара
registerDeviceдаСтабильный UUID installationId → «Устройства active»
getMyEntitlements / hasEntitlementдаПрава
createPaymentдануженТолько платные
syncPaymentдаСверка после return
activateLicenseKeyдаКлюч
getConfig / getFeaturesconfig: нет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.