Merge remote-tracking branch 'origin/main' into play-app-record
# Conflicts: # CHANGELOG.md # docs/pitfalls.md # skills/store-pitfalls/SKILL.md # tests/console-fill.test.ts
This commit is contained in:
commit
04fb0089b5
70 changed files with 3729 additions and 290 deletions
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: store-pitfalls
|
||||
description: Known pitfalls with App Store Connect, Google Play and storebound itself, learned from real releases, and what to do about each - store lists that lag right after a create, dry runs that print a count instead of a plan, App Store names taken on a storefront, keyword limits in bytes, Data safety answers without code evidence, missing font glyphs in screenshots, console sign-in and sessions, Capacitor monorepo plugins, duplicates from retries, re-runs and parallel runs., Play's Create app form (no API, opener and submit share a name, Free is final), App Privacy purposes over-mapped (Play advertising is Third-Party Advertising only). Read it before any store task, and when a store command does something you did not expect.
|
||||
description: Known pitfalls with App Store Connect, Google Play and storebound itself, learned from real releases, and what to do about each - store lists that lag right after a create, dry runs that print a count instead of a plan, App Store names taken on a storefront, keyword limits in bytes, Data safety answers without code evidence, missing font glyphs in screenshots, console sign-in and sessions, Capacitor monorepo plugins, duplicates from retries, re-runs and parallel runs, App Store search ranks that are only a trend, Play without a search API, Play's Create app form (no API, opener and submit share a name, Free is final), App Privacy purposes over-mapped (Play advertising is Third-Party Advertising only). Read it before any store task, and when a store command does something you did not expect.
|
||||
---
|
||||
|
||||
# Store pitfalls
|
||||
|
|
@ -83,7 +83,23 @@ Each entry: **symptom** → cause → what to do → what guards it now. The ful
|
|||
Play edits deleted on every error and never redone after an unclear commit, screenshot / preview sets keep the
|
||||
matching prefix in order, `.storebound/locks/` per app and store. `tests/idempotency.test.ts`.
|
||||
|
||||
## 10. A new Play app: "Create app" is both the opener and the submit
|
||||
## 10. "We rank #4 for this keyword" (from the Search API)
|
||||
- **Symptom:** `aso rank` says #4, the owner's phone shows the app lower (or higher) in App Store search.
|
||||
- **Cause:** the iTunes Search API order is close to, not equal to, App Store search: no personalisation, no search
|
||||
ads, no in-app event rows. It has no subtitle field either.
|
||||
- **Do:** read ranks as a trend over weeks (`aso audit` arrows), never as a promise; never claim a competitor's
|
||||
subtitle (no public API has it); a popularity number exists only from Apple Ads, never estimate one.
|
||||
- **Guard:** `aso rank`, `aso competitors` and `aso audit` say it in their output; `aso suggest` shows popularity
|
||||
"unknown" without Apple Ads credentials.
|
||||
|
||||
## 11. "Check our Google Play keyword ranks"
|
||||
- **Symptom:** the owner asks for Play ranks or Play competitors per keyword.
|
||||
- **Cause:** Google Play has no public search API; reading Play search pages would be scraping.
|
||||
- **Do:** say so. Measure Play through the Play Console acquisition reports (search terms) and `analytics snapshot`
|
||||
(store listing visitors, acquisitions); improve the listing text with `aso audit` (short description, density).
|
||||
- **Guard:** `aso` covers App Store search only; the aso-basics skill states the limit.
|
||||
|
||||
## 12. A new Play app: "Create app" is both the opener and the submit
|
||||
- **Symptom:** an agent cannot create the Play app through the API, or clicks "Create app" without knowing whether it
|
||||
opens the form or submits it; or an app goes out as Free and the owner later wants it paid.
|
||||
- **Cause:** the Play Developer API cannot create apps. Play Console's Home has a "Create app" button that opens the
|
||||
|
|
@ -95,7 +111,7 @@ Each entry: **symptom** → cause → what to do → what guards it now. The ful
|
|||
- **Guard:** `createAppAllowed` lets the opener through only on the app list, never inside a form or dialog (English
|
||||
and Turkish); agreement checkboxes are never ticked; Free or paid is outlined as an owner check.
|
||||
|
||||
## 11. App Privacy purposes over-mapped
|
||||
## 13. App Privacy purposes over-mapped
|
||||
- **Symptom:** App Privacy says Developer's Advertising or Marketing for Device ID, Coarse Location, Product Interaction
|
||||
or Performance Data, although the app only shows an ad SDK's ads.
|
||||
- **Cause:** a Play purpose was turned into two Apple purposes ("advertising" -> Third-Party Advertising AND
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue