mirror of
https://github.com/RevenueCat/purchases-ios
synced 2026-11-09 22:35:56 +05:45
* 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
30 lines
784 B
Swift
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
|
|
}
|
|
|
|
}
|