iOS SDK Releases
The Magify Swift SDK is available in two distribution formats:
- Swift Package Manager (SPM)
- XCFramework
Choose the package that matches your preferred installation method.
Latest Release
5.0.4
Downloads
What changed
- Added
trackBaseAdsImpression(impressionData:)— reports an ads impression that isn't backed by an SDK-presented campaign (basic integration), alongside the existingtrackAdsImpression(for:impressionData:). - Added lifetime ads revenue accumulation: every filed impression feeds
ad_impressions_by_precisioningetContext, split by revenue precision and currency. Only impressions whose analytics event actually gets filed are counted, so the totals can't drift from what's sent tostore. AdsRevenuePrecisionnow recognizes"undefined"as a valid case; negative revenue values are handled explicitly in accumulation.- Added ad fill price tracking for AppLovin MAX mediators via a new price registry (
AdPricePoint). networkNameandinstanceIdare now optional on the AppLovin and IronSource impression models.- Renamed the
costparameters toacquisition_costinJSONRPCRequest. - Removed the
GifuandReachabilitydependencies; replaced withAppsFlyerFramework. - Other technical improvements.
5.0.3
Downloads
What changed
- Reworked purchase verification on top of StoreKit 2: purchases are tracked by signed transaction (JWS) instead of the app receipt.
- StoreKit 1 support has ended starting with SDK version 5.0.3.
- Added
appAccountTokensupport for purchases made through the SDK. - Added purchase support for basic integration: external in-app and subscription impressions are reported under the
baseNone…campaign/event names. - Breaking:
transactionIdis now required (non-optional) intrackSubscriptionActivation,trackExternalSubscriptionActivation,trackInAppand their external / string variants — Swift and Objective-C alike. - Removed the
SwiftyStoreKitdependency. - Added cost data:
setAppsFlyerCostData(conversionInfo:)andsetAdjustCostData(costAmount:costCurrency:costType:)forward MMP acquisition cost into the context. - Added per-feature subscriptions on
magify.features—subscribe(forKey:)plus typedsubscribeBool/subscribeInt/subscribeDouble/subscribeString. - Added the feature ignore list
setIgnoredFeatures(_:source:)(.current/.default/.both). - Added raw per-source snapshots
allCurrentValuesandallDefaultValues. - Added
allValuesJson()— the whole feature set as one JSON string. - Extended the Objective-C bridge with all of the above.
- Other technical improvements.
5.0.1
Downloads
What changed
- Added
allValuesto retrieve a snapshot of all app feature values from bothmagify.featuresandmagify.storedFeatures. - Added
getCustomJsonData(forKey:)to retrieve a single feature value as raw JSON text. - Added validation for custom event names and top-level parameter keys. Invalid names are currently accepted but will be rejected in a future major SDK release.
- Added session tracking fields to analytics events and the SDK version to custom session events.
- Other technical improvements.
Related documentation
Previous Releases
5.0.0
Downloads
What changed
- Added Stored App Features (
magify.storedFeatures) with automatic background preloading and caching. - Added Objective-C support for the feature providers.
- Reworked purchase verification, including trusted purchase tracking, retry/wait/finish handling, and correct trial activation pricing.
- Added analytics for feature reads served from the default configuration.
- Improved thread safety across core SDK components.
- Other technical improvements.