AlmediaStatus
Namespace: AlmediaLink.Models · enum
Mirrors the SDK’s runtime state. Delivered to OnStatusChanged on every transition and always available as a snapshot via CurrentStatus.
Terminal values:
Eligible, Linked, NotAvailable, Blocked, Disabled. NotInitialized is the pre-init default and is never re-entered after the first terminal transition.
The status says whether the service is available; it does not say whether a given screen can be opened. A Linked player may still have no reward hub - see AlmediaScreenAvailability.
AlmediaNotAvailableReason
Namespace: AlmediaLink.Models · enum
Why the SDK is NotAvailable for this player. Read it from AlmediaLinkSDK.NotAvailableReason, which is non-null exactly while CurrentStatus is NotAvailable.
The mapping from the backend’s value happens inside the SDK, so a reason added by the backend later lands on
Unknown in an existing build rather than surfacing a value your code cannot name. Handle Unknown as a real case; do not switch exhaustively without a default.
The reason never changes what the SDK does - the entry point hides on NotAvailable whatever the reason. Use it for analytics, support diagnostics, and messaging.
AlmediaScreenAvailability
Namespace: AlmediaLink.Models · readonly struct
Which SDK screens native can present right now. Read it from AlmediaLinkSDK.ScreenAvailability; changes fire OnScreenAvailabilityChanged.
Value type with
Equals, ==, and !=, so two snapshots can be compared directly.
These are not derived from the status. Both read false for a player who is not linked, but a Linked player can also have either flag false - a reward hub the backend has withdrawn, or an offer that has not appeared yet - and the flags can flip between syncs without the status moving. Availability is a live signal, not a property of the status.
Both flags read false until the SDK reaches its first terminal status.
AlmediaError
Namespace: AlmediaLink.Models · class
Immutable error payload passed to OnErrorOccurred.
AlmediaErrorCode
Namespace: AlmediaLink.Models · enum
AlmediaNotification
Namespace: AlmediaLink.Models · class
Immutable reward-notification payload delivered via OnNotificationsReceived.
AlmediaInGameRewardGrant
Namespace: AlmediaLink.Models · class
An in-game-reward grant delivered via OnInGameRewardGrantRequested. Every reward in Rewards was granted together and belongs to one celebration.
AlmediaInGameReward
Namespace: AlmediaLink.Models · class
One reward line item of an AlmediaInGameRewardGrant.
AlmediaProgress
Namespace: AlmediaLink.Models · class
A snapshot of the player’s progress in this game. Progress exposes it and OnProgressUpdated delivers it. A snapshot is never partial. A newer snapshot replaces the previous one. The SDK does not merge snapshots.
AlmediaTask
Namespace: AlmediaLink.Models · class
A task the player can do in this game to earn a reward.
AlmediaTaskKind
Namespace: AlmediaLink.Models · static class
The known values of AlmediaTask.Kind, as const string members. The server can add more.
AlmediaTaskProgress
Namespace: AlmediaLink.Models · class
The progress of an AlmediaTask.
AlmediaCompletedTask
Namespace: AlmediaLink.Models · class
One completion of an AlmediaTask. A player can complete the same task more than once.
AlmediaRewardPoints
Namespace: AlmediaLink.Models · class
A balance or a reward in coins, with the display values the server supplied.
Each SDK version supports a closed set of player currencies. You can write your formatting against this list. This release supports
USD, EUR, GBP, CAD, AUD, PLN, CHF, KRW, JPY and SEK. A new market needs a new SDK release.
AlmediaMoney
Namespace: AlmediaLink.Models · class
A coin amount in real money, for display only.
Every progress type compares by value, so
progress.Completed.Contains(completion.Task) works and two snapshots with the same content are equal. AlmediaMoney compares numerically: 12.50 equals 12.5.
The SDK does not format money. Format Amount with your own symbols, decimals and fonts:
AlmediaTaskCompletion
Namespace: AlmediaLink.Models · class
A task the server reports as completed. OnTaskCompleted delivers it.
AlmediaBalanceChange
Namespace: AlmediaLink.Models · class
A balance change the server reports. OnBalanceChanged delivers it.
PlacementType
Namespace: AlmediaLink.Models · enum
Analytics tag passed to AlmediaLinkSDK.StartLinking(placement).
Behaviorally identical - the difference is reflected only in analytics.
AlmediaScreen
Namespace: AlmediaLink.Models · enum
Identifies which SDK screen a lifecycle event is about. Delivered to OnScreenPresented and OnScreenDismissed.
An unrecognized screen string from native is logged as a warning and the callback is dropped - the events never fire with a garbage value.
AlmediaFeature
Namespace: AlmediaLink.Models · sealed class
A part of the Link experience a game can declare it hides from its players, through AlmediaLinkConfig.DisabledFeatures or the settings asset. The backend enforces the declaration; the SDK only reports it and reacts to the status that comes back. Only the static members below exist; there is no constructor and no cast, so an undeclared value cannot be built. A null entry in DisabledFeatures is ignored.
Linking and the two screens are independent: hiding the entry point does not un-link anyone or close the hub to a player who linked earlier.
InAppScreenResult
Namespace: AlmediaLink.Models · class
How an in-app screen was dismissed. Delivered to OnScreenDismissed.
InAppScreenResultType
Namespace: AlmediaLink.Models · enum
An unrecognized value from native is treated as
Cancelled and logged.
AlmediaLogLevel
Namespace: AlmediaLink · enum
Severity levels for OnLog, ordered low → high.