Files
Pol Miro 4f3b82defe Load configured ad rewards from remote config (#7912)
* feat: load configured ad rewards from remote config

* feat: decode configured reward durations in seconds

* feat: enable configured ad rewards loading by default

* fix: add configured rewards provider to Xcode project

* feat: load configured ad rewards from blob

* refactor: remove obsolete inline config lookup

* refactor: distinguish empty and unavailable ad reward configuration

* refactor: warm configured ad rewards cache

* refactor: adopt configured reward naming

* feat: finish configured ad rewards loading

* feat: expose configured ad rewards API

* feat: represent missing configured ad rewards explicitly

* refactor: resolve empty ad reward configurations explicitly

* refactor: expose configured reward duration idiomatically

* Handle malformed ad reward entries independently

* Clarify app-scoped ad rewards caching

* fix: fetch unavailable configured ad rewards

* fix: reject configured rewards without a primary

* refactor: decode configured currency rewards separately

* refactor: remove cached ad rewards implementation

* Avoid reloading unavailable ad rewards

* refactor: resolve configured ad rewards on demand

* fix: remove duplicate API availability annotations

* fix: ignore empty additional ad rewards

* fix: log malformed configured ad rewards

* fix: fetch ad rewards blobs on demand

* fix: align configured ad rewards API baselines

* test: check virtual currency reward configuration API
2026-10-21 11:46:21 +02:00

30 lines
784 B
Swift

//
// RemoteConfigTopic.swift
// RevenueCat
//
// Created by Rick van der Linden.
// Copyright © 2026 RevenueCat, Inc. All rights reserved.
import Foundation
/// Remote config topics that SDK code can read through `RemoteConfigManager`.
///
/// The sync path remains string-keyed so unknown server topics can still be persisted.
/// The read facade uses this closed set to avoid arbitrary or misspelled topic reads.
enum RemoteConfigTopic: String {
case workflows
case uiConfig = "ui_config"
case sources
case checkpointRules = "checkpoint_rules"
case audiences
case sdkSettings = "sdk_settings"
case subscriberDimensions = "subscriber_dimensions"
case adRewards = "ad_rewards"
var wireName: String {
return self.rawValue
}
}