Birbonus provides a server-controlled eligibility mechanism that determines whether SDK features are available to the current user or context.
The configurator exposes an availability service that conforms to EcoAvailabilityProtocol.
public protocol EcoAvailabilityProtocol {
/// Checks whether the current user or context is eligible
/// for the relevant Birbonus feature or service.
///
/// - Returns: A publisher that emits one Boolean value and never fails.
func isEligible() -> AnyPublisher<Bool, Never>
/// Clears the cached eligibility result.
/// The next isEligible() call performs a fresh check.
func clearEligibilityCache()
}After configuring EcoConfigurator, access the availability service through configurator.availabilityService.
guard let availabilityService = configurator.availabilityService else {
return
}
availabilityService
.isEligible()
.receive(on: DispatchQueue.main)
.handleEvents(receiveOutput: { isEligible in
print("Birbonus eligibility: \(isEligible)")
})
.eraseToAnyPublisher()Clear the cached result when a fresh eligibility check is required, for example after login or logout:
availabilityService.clearEligibilityCache()