Play 'Live' only when the public store page proves it: play status checks https://play.google.com/store/apps/details?id=<pkg> (no auth, 4 s timeout, cached 5 min; publicPage in the JSON), a completed production release with a 404 page is 'Sent to Google (in review or not yet published)', 200 is live for the first release or when the page shows the versionName, otherwise 'Released to production (Google may still be reviewing)', offline is unknown; new phases sent / released in the desktop Releases tab, Portfolio, release status | plan; versions matched across the stores without trailing .0 parts (App Store 1.0 and Play 1.0.0 are one row and one train, each side shows its own string); tests/play-public-version-match.test.ts, desktop boot check release-state cases (page 404 and 200) (pitfall 56)
This commit is contained in:
parent
aa72204a06
commit
be9ff8b788
18 changed files with 436 additions and 30 deletions
|
|
@ -115,7 +115,10 @@ export interface AppIdentity {
|
|||
}
|
||||
|
||||
/** Where a version is on one store. */
|
||||
export type ReleasePhase = 'live' | 'rollout' | 'halted' | 'approved' | 'review' | 'rejected' | 'testing' | 'draft' | 'other';
|
||||
/** `sent`: a Google Play production release that is completed in the API while the public store page is 404 (sent to
|
||||
* Google, in review or not yet published). `released`: completed in production and the app is public, but this
|
||||
* version is not proven live (an update Google may still be reviewing, or the public page could not be read). */
|
||||
export type ReleasePhase = 'live' | 'rollout' | 'halted' | 'released' | 'approved' | 'review' | 'sent' | 'rejected' | 'testing' | 'draft' | 'other';
|
||||
|
||||
export interface StoreRelease {
|
||||
store: 'ios' | 'android';
|
||||
|
|
@ -131,6 +134,8 @@ export interface StoreRelease {
|
|||
track: string | null;
|
||||
/** iOS phased release: day 1-7 and its state (ACTIVE, PAUSED, COMPLETE); null without one. */
|
||||
phased?: { state: string; day: number | null } | null;
|
||||
/** Google Play production: the public store page (public = 200, notPublic = 404, unknown = not read). */
|
||||
publicPage?: 'public' | 'notPublic' | 'unknown';
|
||||
/** When the store record was made (iOS version createdDate), if the store says. */
|
||||
date?: string | null;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue