> ## Documentation Index
> Fetch the complete documentation index at: https://docs.almedia.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Test checklist

> What to exercise on an Almedia Link integration before a build ships.

A pre-ship pass over the parts of a Link integration a player actually touches.

> [!NOTE]
>
> This page assumes a build you can test with. [Set up a test build](https://docs.almedia.dev/qa/test-build.md) covers the
> device matrix, which build talks to which backend, and how to force any SDK state from the
> Unity editor.

## A successful link, end to end

**1. The player opens the pop-up**

They tap the entry point, or your code calls `ShowLink()`. Both open the same link pop-up.

**2. The linking page opens**

The pop-up's CTA opens the Freecash linking page in a secure browser.

**3. The player links, and the page closes**

They complete linking on the Freecash side and are returned to your game.

**4. Status becomes Linked**

The SDK syncs and reports `Linked`. Anything gated on linked state should now be visible.

**5. `OnLinkCompleted` fires**

The hook for a celebration, a one-time reward, or a one-off analytics event.

> [!WARNING]
>
> The last step only fires for a link completed **in that session**. A player who was already
> linked when the game started gets a `Linked` status with no `OnLinkCompleted`. A test that
> checks for the celebration on a second launch will fail for the wrong reason.

## A failed or abandoned link

If linking fails, or the player simply closes the linking page, the SDK reports
`LinkingFailed` and **status stays Eligible — the player can try again immediately.** There is
nothing to reset and no cooldown.

A *completed* link is different: there is no unlink, so that device will not show the flow
again. [Re-testing on the same device](https://docs.almedia.dev/qa/test-build.md#re-testing-on-the-same-device) covers the
ways round it.

## Test the experiences in the right order

The Earn Tab only exists for players who have already linked. The supported sequence is
**link first, Earn Tab second** — showing the Earn Tab to an unlinked player is not a
supported setup, so a test that starts there is testing something the product does not do.

Worth writing into the test plan explicitly, because it is an easy one to get backwards when
both entry points are being added in the same release.

## What the placement is judged against

The rules the pop-up and entry point have to satisfy are already written up, with worked
examples of what passes and what fails:

> **[Best practices guide](https://docs.almedia.dev/overview/best-practices.md)**
>
> Timing, dismissal, CTA wording, reward wording, and the persistent entry point — with
> annotated do and don't screenshots for each.

That guide also carries two AI audit prompts. Paste one into an assistant with a screenshot of
your pop-up or entry point and it returns a rule-by-rule scorecard and a ranked fix list, which
is a faster first pass than reading the guide end to end.

**TODO(copy)** — the known-good result for each step, so a tester can tell pass from fail
without asking.

> [!NOTE]
>
> A human review is available and is the reliable check until the above is written. Send your
> setup to `link@almedia.co`.

***

*Unfamiliar with a term on this page? The [glossary](https://docs.almedia.dev/overview/glossary.md) explains the
vocabulary used across this site.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.