فهرست منبع

B1b afgemeld + Google Play-checklist (blok G) in TASKS.md

B1b (splashscreen) geverifieerd op een verse export: nav.dart:462 toont nu
logo_1080x2160.png; nagemeten op vier schermverhoudingen met BoxFit.cover,
merknaam overal volledig leesbaar.

B1 (app-icoon) blijkt grotendeels al af: de export wijst naar PNG's en het
logo staat op 64% van de breedte, dus "itgaanskrant.co" is verholpen.

Nieuw blok G consolideert taak 63 (a-i) en punt 2 van "Bob's 7" tot een
afvinkbare Play Console-checklist. Bevestigd via Google's documentatie:
organisatie-accounts zijn vrijgesteld van de 12-testers/14-dagen-regel, en
D-U-N-S duurt tot 30 dagen (kritieke pad).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 10 ساعت پیش
والد
کامیت
087114e1dd
1فایلهای تغییر یافته به همراه114 افزوده شده و 31 حذف شده
  1. 114 31
      TASKS.md

+ 114 - 31
TASKS.md

@@ -64,37 +64,34 @@ builder-dialoog waar Claude aantoonbaar niet bij komt). Claude werkt ondertussen
 zelf door aan de app-kant — zie het blok "Claude werkt aan" hieronder, pak die
 nummers dus niet zelf op.*
 
-**B1 · App-icoon: lever één PNG aan. 🔴 Blokkeert de livegang.**
-Het icoon is nu deels stuk (zie taak 65 verderop): op een toestel staat er
-**"itgaanskrant.co"** — de U en de m vallen weg. Oorzaak: `adaptive_icon_foreground`
-in `pubspec.yaml` wijst naar een **JPEG**, en JPEG kan geen transparantie hebben.
-Android maskeert een adaptive foreground rond en toont alleen de middelste ~66 %,
-dus een volvlaks plaatje wordt altijd afgesneden.
-*Wat je maakt:* één **PNG 1024×1024 met transparante achtergrond**, alleen het
-beeldmerk gecentreerd op **±60 % van het vlak** (dus ±610 px breed), verder leeg.
-Geen achtergrondkleur in het plaatje zelf — die staat al goed op `#9a141d`.
-*Waar:* uploaden in FlutterFlow (App Settings → App Details → het
-adaptive-foreground-slot), of als bestand aanleveren dan zet Claude het erin.
-`image_path` (het gewone, volvlakse icoon) mag blijven zoals het is.
-*Meteen meepakken — B1b, splashscreen (taak 61):* `nav.dart` toont
-`Image.asset('uitgaanskrant.com-applogo.jpg', fit: BoxFit.cover)`. Op een vierkant
-plaatje snijdt `cover` links en rechts weg. Lever een **staand** plaatje
-(1080×2160), vlak `#9A141D`, logo gecentreerd op ±70 % breedte — dan klopt `cover`
-vanzelf en is dit meteen af i.p.v. "later mooier maken".
-
-**B2 · Play Console: de listing-assets en verklaringen (taak 63 f/g/h/i).**
-Dit is de langste wachtstap en staat los van alle code. Zodra het account
-doorkomt kun je (g) de assets uploaden: **512×512 icoon** (gebruik `image_path`,
-niet de adaptive foreground), **feature graphic 1024×500**, **2+ telefoon-
-screenshots** én **7"/10"-tabletscreenshots** (de app draait op tablets, dan
-vraagt Google erom). Zeg het als je de screenshots wilt — Claude schiet ze
-browserloos op beide AVD's, dat is 10 minuten. Korte (80) + lange (4000)
-omschrijving: de helptekst van taak 59 is de basis.
-Verder (h) de verklaringen: Content rating (IARC), *Contains ads* → **ja**,
-**Advertising ID** → **ja** (gemeten in het manifest van de release-APK),
-Target audience bewust kiezen (er staat 18+ uitgaanscontent in), en in Data
-safety naast Crashlytics/AdMob/login óók **foto's** (camera + galerij).
-(f) testaccount is al gedaan; (i) versionCode ophogen vóór élke upload.
+**B1 · App-icoon — 🟢 grotendeels AF (gemeten Claude 2026-09-19).**
+De export van 18 sept wijst niet meer naar JPEG's maar naar **PNG's**
+(`adaptive_icon_foreground: assets/images/adaptive_foreground_icon.png`,
+1900×1900). Gerenderd wat Android daarvan toont (middelste 66 % + rond masker):
+het logo staat nu op **64 %** van de breedte i.p.v. 100 %, en
+"Uitgaanskrant.com" is **volledig leesbaar** — het oude "itgaanskrant.co" is weg.
+*Restpunt, klein en optioneel:* de PNG heeft **0 % transparante pixels**, dus de
+foreground dekt `adaptive_icon_background: '#9a141d'` volledig af (onzichtbaar,
+beide zijn hetzelfde rood, maar bij launcher-parallax schuift het rode vlak mee).
+Wil je het helemaal netjes: PNG 1024×1024 met **transparante** achtergrond,
+beeldmerk op ±60 % (±610 px). Niet blokkerend voor livegang.
+⚠️ **Blijft gelden:** een *lokaal* gebouwde APK draagt het Flutter-vogeltje tenzij
+je in de exportmap eerst `fvm flutter pub run flutter_launcher_icons` draait.
+Controleer het icoon op het artefact dat je daadwerkelijk uploadt.
+
+**B1b · Splashscreen — ✅ AF 2026-09-19 (Bob), export-geverifieerd.**
+`nav.dart:462` toont nu `assets/images/logo_1080x2160.png` (1080×2160, staand)
+i.p.v. het vierkante `uitgaanskrant.com-applogo.jpg`. Nagemeten op vier
+schermverhoudingen met `BoxFit.cover`: telefoon 1:2 → 100 % breedte zichtbaar,
+modern 9:20 → 90 %, tablet staand → 100 %, tablet liggend → 100 % breedte
+(31 % hoogte, logo gecentreerd dus volledig in beeld). Op alle vier is de
+merknaam volledig leesbaar. Resteert alleen de korte **witte flits** van de
+Android-native launch screen ervóór — die stelt FlutterFlow niet in.
+
+**B2 · Play Console — zie de volledige checklist in het blok "G · GOOGLE PLAY"
+direct onder deze lijst** (opgesteld 2026-09-19 op Bob's verzoek; vervangt en
+consolideert taak 63 a-i en punt 2 van "Bob's 7"). Dit is de langste wachtstap
+en staat los van alle code.
 
 **B3 · Helppagina: één link erbij (taak 87, deel 1). 2 minuten Drupal.**
 Op `/nl/support/mobieleapp` staat de zin *"Horecagelegenheden toevoegen kan op
@@ -136,6 +133,92 @@ Claude het overzicht "Mijn aanmeldingen" bouwen en ziet een gebruiker eindelijk
 wat hij heeft ingediend en of het goedgekeurd is. A2 (klonen) kan daarna.
 ⚠️ Vergeet de eigenaarscheck op A2 niet, anders leest iemand andermans gegevens.
 
+## 🅖 G · GOOGLE PLAY — volledige checklist · Eigenaar: Bob
+
+*Opgesteld 2026-09-19. Account aangemaakt 2026-09-18 als **Organisatie** (Digital
+Force); wacht op verificatie. Vervangt taak 63 (a-i) en punt 2 van "Bob's 7" —
+die twee niet meer los afwerken. Vink hier af.*
+
+**Bevestigd via Google's eigen documentatie, 2026-09-19:**
+- **Een organisatie-account is vrijgesteld van de 12-testers/14-dagen-regel.**
+  Die geldt alleen voor *persoonlijke* accounts van ná 13-11-2023. De keuze voor
+  Organisatie was dus juist en scheelt minimaal twee weken.
+- **D-U-N-S duurt tot 30 dagen.** Dat is de kritieke pad-stap, niet de $25.
+- **Legal name + adres in het Google Payments-profiel moeten EXACT matchen met
+  het D-U-N-S-profiel.** Mismatch = e-mail met deadline, daarna verwijdering van
+  de app uit Play. Dit is de meest gemaakte fout en kost weken.
+
+### G0 · Nu doen, terwijl de verificatie loopt (buiten Play Console)
+- [ ] **G0.1 — D-U-N-S: check of Digital Force er al een heeft** vóór je een
+      nieuwe aanvraagt (dubbele nummers geven later een mismatch). Gratis bij
+      Dun & Bradstreet. Leg het nummer + de exact geregistreerde bedrijfsnaam en
+      het adres vast. 🔴 Langste wachtstap.
+- [ ] **G0.2 — Payments-profiel gelijktrekken** met precies die naam/adres.
+- [ ] **G0.3 — Besluit upload-route** (was taak 63d, nog open): FlutterFlow-deploy
+      (advies — dan hoeft er lokaal niets) óf lokaal. Lokaal betekent een keystore
+      + `android/key.properties`, want `android/app/build.gradle:80` staat nog op
+      `signingConfig signingConfigs.debug` — daarmee kun je niet uploaden.
+- [ ] **G0.4 — Besluit iOS wel/niet** (was taak 63e). Er is niets voor ingericht;
+      alleen `project.pbxproj` beweegt mee in elke export.
+- [ ] **G0.5 — Teksten schrijven:** korte omschrijving (max 80 tekens) + lange
+      (max 4000). Basis = de helptekst van taak 59.
+- [ ] **G0.6 — Screenshots laten maken.** Claude schiet ze browserloos op beide
+      AVD's (telefoon + tablet), ±10 min. Nodig: 2+ telefoon, én 7" en 10" tablet.
+- [ ] **G0.7 — Feature graphic 1024×500** laten maken (grafisch werk, Bob).
+
+### G1 · Zodra het account geverifieerd is
+- [ ] **G1.1 — Create app.** Naam "Uitgaanskrant.com", Nederlands, App (geen game),
+      Gratis. Package is `com.uitgaanskrant.app` — **onveranderlijk na de eerste
+      upload**, dus controleer 'm.
+- [ ] **G1.2 — Payments-profiel verifiëren** (deposit-challenge of bankdocument,
+      ±5 dagen). Moet vóór publicatie rond zijn.
+
+### G2 · App content (Policy and programs → App content)
+- [ ] **G2.1 — Privacy policy-URL:** `https://uitgaanskrant.com/nl/support/privacybeleid`
+      (anoniem 200, gemeten 2026-09-16).
+- [ ] **G2.2 — Data deletion-URL:** `https://uitgaanskrant.com/nl/support/mobieleapp`
+      ⚠️ **NIET** `/nl/account-verwijderen` — die geeft anoniem **403** en reviewers
+      openen 'm uitgelogd. Taak 85 heeft de in-app-knop al naar dezelfde URL gezet.
+- [ ] **G2.3 — App access:** "All or some functionality is restricted" + de
+      inloggegevens van het testaccount (taak 86, al aangemaakt). ⚠️ Wachtwoord
+      **niet** in dit bestand — alleen Play Console + wachtwoordmanager.
+      Zorg dat er 3-4 favorieten in Amsterdam en één gevolgde gemeente op staan,
+      anders ziet de reviewer vier lege tabs en leest dat als kapot.
+- [ ] **G2.4 — Ads:** *Contains ads* → **JA** (AdMob zit in de build).
+- [ ] **G2.5 — Content rating:** IARC-vragenlijst invullen.
+- [ ] **G2.6 — Target audience:** bewust kiezen — er staat 18+ uitgaanscontent in.
+- [ ] **G2.7 — Data safety.** Gemeten in het manifest van de release-APK:
+      permissies `INTERNET`, `CAMERA`, `READ_EXTERNAL_STORAGE`,
+      `WRITE_EXTERNAL_STORAGE`, plus via AdMob/Firebase `ACCESS_NETWORK_STATE`,
+      `WAKE_LOCK`, `FOREGROUND_SERVICE`, `AD_ID` en drie `ACCESS_ADSERVICES_*`.
+      Declareren: **Advertising ID → JA** (verplicht, `AD_ID` staat erin),
+      crashlogs/diagnostiek (Crashlytics), gebruikersnaam/e-mail (login), en
+      **foto's** (camera + galerij, voor de aanmaakpagina's). Transport is
+      versleuteld en verwijdering is mogelijk → beide aanvinken.
+- [ ] **G2.8 — Government apps / Financial features:** beide nee (staat er wel,
+      makkelijk over te slaan, blokkeert anders de release).
+
+### G3 · Store listing
+- [ ] **G3.1 — App-icoon 512×512.** Gebruik `assets/images/app_launcher_icon.png`
+      (het volvlakse), **niet** de adaptive foreground.
+- [ ] **G3.2 — Feature graphic 1024×500** (uit G0.7).
+- [ ] **G3.3 — Screenshots** telefoon + 7" + 10" tablet (uit G0.6). Tabletshots zijn
+      verplicht omdat de app tablets ondersteunt.
+- [ ] **G3.4 — Korte + lange omschrijving** (uit G0.5).
+- [ ] **G3.5 — Categorie + contactgegevens + e-mail.** Die e-mail wordt **publiek**
+      getoond.
+
+### G4 · Release
+- [ ] **G4.1 — versionCode ophogen** vóór élke upload. Staat nu op `1.0.0+1`
+      (`pubspec.yaml:18`). Bij de FlutterFlow-route: App Settings → App Details.
+- [ ] **G4.2 — Build uploaden** volgens de route uit G0.3. AAB, niet APK — die
+      splitst per architectuur (de APK is nu 95,6 MB).
+- [ ] **G4.3 — ⚠️ Icoon controleren op het geüploade artefact zelf.** Open vraag:
+      doet FlutterFlow's deploy-pipeline `flutter_launcher_icons` wél? Lokaal
+      gebouwd draagt het bestand anders het Flutter-vogeltje. Niet aannemen.
+- [ ] **G4.4 — Interne test eerst** (geen tester-minimum voor organisaties), dan
+      pas productie.
+
 **Twee dingen die al af bleken en dus GEEN taak meer zijn** (nagemeten door
 Claude op productie, 2026-09-18 avond):
 - **Taak 82 staat al op productie.** `flutterflowmobiel_establishment_events`