AlmediaStatus
Namespace: AlmediaSDK · abstract class
The player’s status. Status holds it and OnStatusChanged delivers every change. Each status is a nested sealed class that carries its own data.
Test a status with a type pattern. Keep a
default branch in a switch: a later version can add statuses.
Linked player can 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 while the player stays linked. Each change arrives as a new Linked status through OnStatusChanged.
Statuses compare by value. Two Linked statuses with the same flags are equal, and so are two NotAvailable statuses with the same RawReason. ToString() includes the data of Linked and NotAvailable, for example Linked(canShowRewardHub: True, canShowOffer: False), and returns the class name for the other statuses.
Every constructor is public, so a test can build any status and deliver it with AlmediaEditorMock.EmitStatus.
AlmediaNotAvailableReason
Namespace: AlmediaSDK · sealed class
Why the status is NotAvailable. Read it from Reason on AlmediaStatus.NotAvailable. Only the static members below exist. Compare them with ==. ToString() returns the member name.
A reason added by the backend later reads as
Unknown in an existing build, and RawReason keeps the string the server sent. Handle Unknown as a real case.
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:
AlmediaError
Namespace: AlmediaSDK · sealed class
Immutable error payload passed to OnErrorOccurred.
Errors compare by value: two errors with the same code and message are equal.
AlmediaErrorCode
Namespace: AlmediaSDK · sealed class
Only the static members below exist. Compare them with ==. ToString() returns the member name.
AlmediaNotification
Namespace: AlmediaSDK · class
Immutable reward-notification payload delivered via OnNotificationsReceived.
The constructor reads an empty
display as "popup" and an empty iconUrl as null, and parses ReceivedAt from timestamp. Tests pass notifications built this way to AlmediaEditorMock.EmitNotifications.
AlmediaInGameRewardGrant
Namespace: AlmediaSDK · class
An in-game-reward grant delivered via OnInGameRewardGrantRequested. Every reward in Rewards was granted together and belongs to one celebration.
The constructor throws
ArgumentException when rewards is empty.
AlmediaInGameReward
Namespace: AlmediaSDK · class
One reward line item of an AlmediaInGameRewardGrant.
AlmediaProgress
Namespace: AlmediaSDK · sealed 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.
The constructor copies the lists, reads a
null list as empty and reads an empty username as null.
AlmediaTask
Namespace: AlmediaSDK · sealed class
A task the player can do in this game to earn a reward.
The constructor reads an empty
rewardDropsAtTimestamp as null.
AlmediaTaskKind
Namespace: AlmediaSDK · static class
The known values of AlmediaTask.Kind, as const string members. The server can add more.
AlmediaTaskProgress
Namespace: AlmediaSDK · sealed class
The progress of an AlmediaTask.
AlmediaCompletedTask
Namespace: AlmediaSDK · sealed class
One completion of an AlmediaTask. A player can complete the same task more than once.
AlmediaRewardPoints
Namespace: AlmediaSDK · sealed 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: AlmediaSDK · sealed 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: AlmediaSDK · sealed class
A task the server reports as completed. OnTaskCompleted delivers it.
AlmediaBalanceChange
Namespace: AlmediaSDK · sealed class
A balance change the server reports. OnBalanceChanged delivers it.
AlmediaPlacementType
Namespace: AlmediaSDK · sealed class
Analytics tag passed to StartLinking(placement). Only the static members below exist. Compare them with ==. ToString() returns the member name.
Behaviorally identical - the difference is reflected only in analytics.
AlmediaLinkSource
Namespace: AlmediaSDK · sealed class
Where a link popup open came from. ShowLink(source) takes it, the popup reads it as Source, and the AlmediaLinkPopupController events carry it.
Two sources are equal, with
== and Equals, when their Kind and Name are equal. The payload takes no part. ToString() returns the name.
AlmediaLinkSourceKind
Namespace: AlmediaSDK · sealed class
What opened the link popup, read from AlmediaLinkSource.Kind. Only the static members below exist. Compare them with ==. ToString() returns the member name.
AlmediaScreen
Namespace: AlmediaSDK · sealed class
Identifies which SDK screen a lifecycle event is about. Delivered to OnScreenPresented and OnScreenDismissed. Only the static members below exist. Compare them with ==. ToString() returns the member name.
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: AlmediaSDK · sealed class
A part of the Link experience a game can declare it hides from its players, through AlmediaConfig.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. ToString() returns the wire name.
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.
AlmediaInAppScreenResult
Namespace: AlmediaSDK · abstract class
How an in-app screen was dismissed. Delivered to OnScreenDismissed. Each result is a nested sealed class.
An unrecognized value from native is treated as
Cancelled and logged. Test a result with a type pattern. Keep a default branch in a switch: a later version can add results.
Failed built with a null error carries an Unknown error.
AlmediaLogLevel
Namespace: AlmediaSDK · sealed class
Severity levels for OnLog, ordered low → high: Verbose, Debug, Info, Warning, Error. Only these static members exist. Compare them with ==, and order them with <, <=, > and >=. ToString() returns the member name.