AppsinityAPPSINITY
Guides and support

Best practices

Everything that goes wrong on Appsinity traces back to the same three habits: publishing a partial listing, shipping an unversioned build, and letting a declaration drift from the software. This page is the operating discipline that avoids all three.

Open Appsinity Studio

The order that works

  1. Create the listing first, publish last. A draft row can hold every field. Do not open a listing to players until the checklist section for it reports done.
  2. Name and slug before artwork. The slug becomes the object-key prefix and the URL. Changing it later breaks every link you already shared.
  3. Write the descriptions, then the artwork. Screenshots should illustrate the text. Doing artwork first is how you end up selling a game you did not describe.
  4. Upload a build, then sign it, then test the URL. Confirm the public URL resolves with /public/ in the path before you point the listing at it.
  5. Complete privacy and content rating. Both have hard completion rules and both are visible on the listing, see Data safety and Content ratings.
  6. Publish, then read your own page as a player. Open the live listing in a private window and check the badge, the gallery and the download button.

What completeness means

Studio computes section completion from the fields that exist, and the store section is only done when every one of them is present. A missing field is not a soft warning; it holds the section at incomplete.

SectionFields required for doneCommon gap
Storename, description, icon or logo, feature graphic, at least one screenshotNo feature graphic
Privacysubmitted, a policy URL, and both attestations tickedOne unticked attestation
Contacta monitored support emailAn address nobody reads
Buildan uploaded object and a resolvable URLURL missing the bucket segment
Ratinga submitted content declarationLeft at nothing ticked, which displays 3+
Watch out: A listing can be published with an incomplete checklist. The status is yours to set, and the checklist is advisory at publish time — which is precisely why published-but-broken listings exist.

Version deliberately

  • Every upload takes a version segment in its object key. If you omit one, the platform uses a timestamp, so two uploads of the same file become two build directories.
  • For Android, the version name and version code are read from the binary by the extract step; treat them as the source of truth rather than retyping them.
  • Publish AAB where you can, APK where you must, and keep the pair consistent for one version, see APK vs AAB.
  • Never reuse a version number for different bytes. Players on the old one cannot tell what they got.
  • Windows releases ship as a ZIP; name the archive with the version inside it, not just in the path.
Note: There is no staged rollout and no release channel. A publish is immediate and total, so the version you publish is the version everyone gets.

Metadata discipline

The 80-character short description limit and the artwork dimensions are enforced; everything above is judgement.
PracticeWhy it pays
One specific title, no keyword listSearch ranks relevance; a stuffed title reads as spam
Short description inside 80 charactersIt truncates in cards rather than in your head
Screenshots in the order a player experiences the gameThe first image is the ad
Category that matches the loop, not the aspirationWrong category means wrong audience and bad reviews
Long description with a known-issues lineHonesty about limits deflects the one-star complaint
Update the description with the buildDrift is a policy violation, not a typo
Keep the support email humanIt is the only channel a safety report reaches you on

Measure what exists

You get lifetime totals, top sources and top countries. There is no time series and no export, so keep your own record if you want a trend.

// a daily snapshot is the whole workaround
curl -4 -s -H "Authorization: Bearer $TOKEN" \
  'https://api.appsinity.com/api/listing-analytics?collection=games&listingId=my-game' \
  | jq '{d:.downloads, v:.visits, r:.reviewsSummary.ratingAvg, n:.reviewsSummary.ratingCount}' \
  >> history.jsonl
Watch out: Reading analytics writes the recomputed counters back onto your listing document. That is fine once a day and wasteful on a loop, see Webhooks for the polling design.

Anti-patterns

  • Publishing the same game twice to own two slots in a category.
  • Retitling a live listing every week to chase a search term.
  • Pasting a token into a script and committing it.
  • Shipping a web build that contains an API key.
  • Advising players to buy elsewhere while the listing says free.
  • Leaving a pre-registration row published after launch day.
  • Treating the automated scan as an approval, see Malware policy.
Not available: None of these are caught at publish time. Each becomes a manual review, a player report, or a payout question later.

Frequently asked questions

Should I publish before the checklist is complete?

You can, and you should not. Status is a switch you control, so there is no reason to expose a listing with no privacy section or no feature graphic.

Do I need an AAB and an APK?

One Android artefact per version is enough. Pick by how players install: an APK is directly installable, an AAB needs the extraction path, see App bundle (AAB).

How often should I update the listing?

Whenever the product changes materially. Metadata drift is the violation; frequent honest updates are not penalised.

Can I schedule a release?

There is no scheduler. Publish manually, or use pre-registration to announce a date in advance.

Need help?

Developer publishing support: [email protected]
General support: [email protected]
Partnerships: [email protected]