12 lines
2.1 KiB
Markdown
12 lines
2.1 KiB
Markdown
---
|
|
title: iBeacons sur device réel — Android <em>et</em> iOS
|
|
area: visitapp
|
|
tags: §9
|
|
flag: warn | Nouveau 28/08 · device requis
|
|
src: test-plan.md §9 · todo-features.md — Beacons / géofencing
|
|
---
|
|
<p>Les 5 cas du <code>§9</code> sont écrits et <strong>aucun n'est coché</strong> : le déclenchement par balise n'a jamais été observé sur un téléphone. Vendu dans Pro et Premium (« Offline + beacons BLE » sur la landing), donc à prouver avant la première vente, pas après. Exige du matériel en main — d'où la carte de sourcing en « Planifié ».</p>
|
|
<p>⚠️ <strong>Le piège est iOS, et il est dans le code.</strong> <code>geo_beacon_trigger_service.dart:148-155</code> ne pose une région filtrée que <strong>sur iOS</strong>, avec un <code>proximityUUID</code> <strong>en dur</strong> (<code>FDA50693-A4E2-4FB1-AFCF-C6EB07647825</code>) ; Android scanne <code>Region(identifier: 'GlassesBeacon')</code> sans filtre. Conséquence : <strong>une balise réglée sur un autre UUID marche sur Android et reste invisible sur iOS</strong> — et le test passerait sur le seul device qu'on a sous la main. Soit les balises commandées émettent cet UUID, soit il devient configurable. À trancher avec le sourcing, pas pendant le test.</p>
|
|
<p>⚠️ <strong>Deux chemins de scan à jouer séparément</strong>, ils ne partagent pas leur code : <code>configuration_page.dart:197-205</code> (notification <code>beaconFound</code>) et <code>geo_beacon_trigger_service.dart:166-189</code> (déclenchement proactif de l'assistant). ⚠️ Et <code>configuration_page.dart:43</code> dit <code>int meterToBeacon = 100; // 15 meters</code> — <strong>le commentaire et la valeur se contredisent</strong>, et <code>Section.meterZoneGPS</code>, configurable par section dans manager-app, est ignoré. Un test à 100 m ne mesure rien : la distance de déclenchement est la seule chose que ce chapitre doit établir.</p>
|
|
<p>À mesurer sur place, pas au bureau : portée réelle derrière un mur, temps entre l'entrée en zone et la notification, et absence de spam quand on stationne devant un POI (le cooldown).</p>
|