cross-store text: other platforms named in App Store text (2.3.10: Android, Google Play, ...) or Play text (Metadata: iOS, App Store, Game Center, ...) are refused by every text write (apple / play listing, play release / upload notes, listing set, whats-new, storebound edit, desktop editor), blockers in check / validate, scan other-platforms / play-other-platforms; listing.allowPlatformMentions for the owner's functional mentions; whats-new splits [apple] / [play] lines per store; storebound api --yes without a TTY is refused (exit 1, stderr) instead of a silent dry run; pitfalls 77, 78
This commit is contained in:
parent
3e4015b686
commit
edabbec874
32 changed files with 613 additions and 53 deletions
|
|
@ -56,7 +56,7 @@ import { consoleLink } from '../console-links';
|
|||
import { PLAY_AGE_GROUPS } from '../config';
|
||||
import { allSubscriptions } from '../subscriptions';
|
||||
import { grep, type Hit, type ProjectFacts } from './project';
|
||||
import type { ScanFinding, ScanInput } from './rules';
|
||||
import { platformHits, type ScanFinding, type ScanInput } from './rules';
|
||||
import { versionAtLeast } from './sdks';
|
||||
|
||||
const PLAY = 'https://support.google.com/googleplay/android-developer/answer/';
|
||||
|
|
@ -347,6 +347,11 @@ export function playRules(inp: ScanInput, x: PlayCtx): void {
|
|||
// ---- Play listing metadata ----
|
||||
if (c?.play || inp.listings.play) {
|
||||
const listing = inp.listings.play;
|
||||
// Apple platforms or services named in Play text (Metadata policy; the mirror of App Store 2.3.10, pitfall 77)
|
||||
const apple = platformHits(inp, 'play');
|
||||
if (apple.length)
|
||||
add({ rule: 'play-other-platforms', guideline: 'Play: Metadata', severity: 'high', title: 'Apple platforms or stores (iOS, iPhone, App Store, Game Center, TestFlight) named in the Play listing text', evidence: apple.slice(0, 6),
|
||||
ref: PLAY_REFS.metadata, skill: 'aso-basics', fix: 'Remove them from store/listing.md (release notes shared with the App Store: tag the line [apple]); a functional mention ("Sign in with Apple") goes into listing.allowPlatformMentions (owner\'s call). Every Play text write refuses these.' });
|
||||
const titles: Hit[] = fieldBlocks(listing, /\btitle\b/i).map(b => ({ ...b.at, text: b.text.trim() }));
|
||||
if (!titles.length && c?.app.name) titles.push(...cfg(/\bname\s*:/, c.app.name).map(h => ({ ...h, text: c.app.name })));
|
||||
const long = titles.filter(t => [...t.text].length > 30);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue