Bizikleten eskuragarritasuna denbora errealeko aplikazio batean bistaratze aldera, itzultzen den kopurua bere freskotasunarekin eta ibilgailua hartzeko aukerekin lotu. Behatzea instantzia batean iturriak zekiena deskribatzen du; ez du bermatzen bizikleta bat oraindik eskuragarri egongo denik helmugara iristean.
ROOTE mugikortasun kontratuak geltokiak, ibilgailu indibidualak eta haien egoerak bereizten ditu. Interfazeari aldaera hauek itzultzea dagokio, balio ezezagun bat, geltoki huts bat eta iturri momentu batez ez erabilgarria ez nahasteko.
Geltoki bat eta ibilgailu indibidual bat bereiztea
Geltoki batek bizikleta eta itzultzeko tokien kontagailuak erakutsi ditzake. Ibilgailu indibidual batek eskuragarritasun egoera eta beste informazio posible batzuk ditu. Saia zaitez geltokia bizikleta bezala kontatuz edo stock beraren kontagailuak biderkatuz.
ROOTE mugikortasun DTOan, availability.bikes eta availability.docks balio ezezagunak izan daitezke. Propultsio edo bateria eremuak bakarrik bistaratuko dira badaude eta kontratuaren arabera interpretatzen badira.
Freskotasuna eta denbora-markak irakurtzea
| Eremua | Interpretazioa |
|---|---|
| freshness.state | Adierazitako egoera: freskoa, zaharkitua, ezezaguna edo estatikoa |
| freshness.source_updated_at | Iturriaren eguneratze data, badakigunean |
| freshness.received_at | Kontratuak adierazitako jaso data |
| freshness.expires_at | Baliozko iraungitze data, badakigunean |
| availability.bikes | Ezagutzen den kantitatea edo balio ezezaguna |
| pickup.enabled eta pickup.state | Informazioa geltokian bizikleta hartzeaz |
Zure deialdiaren ordua ez da automatikoki behaketarena. 10etan jasotako emaitzak 9:45ean eguneratutako iturria izan dezake. Ez erakutsi “orain eguneratua” interfazeak jasotako ordutik soilik.
Bistaratze egoera bereiziak aurreikusi
| Jasotako datua | Aurrez ikus daitekeen bistaratzea |
|---|---|
| Ezagutzen den kantitatea eta datu freskoa | Behatutako kantitatea eta denbora adierazpena |
| Kantitatea zero | Ez dago bizikleta behatua, denbora testuinguruarekin |
| Kantitatea null | Esku eskura ezagutzen ez dena |
| Egoera zaharkitua edo iraungita | Datu zaharra; eguneratze bat eskatu |
| pickup.enabled=false | Bizikleta hartzea ez da erabilgarri, kontagailua positiboa izan arren |
| Bilaketa errorea | Une batez eskuragarri ez dago, zero bihurtu gabe |
Ez sailkatu unknown edo static egoera freskotzat. Geltoki informazioa egonkorra izan daiteke, kontagailua azkar aldatzen den bitartean. Mantendu alertak eta erantzunak eskatutako atributuak ere.
Normalizazio adibide bat aurretik bistaratzea
Funtzio honek ROOTE eskemaren arabera balioztatua dagoen geltoki batetik bistaratze egoera sortzen du. Ez da erantzun-berme osoa. Eremu ikusiak iturri itzulpen giltzetatik etorri behar dira.
function availabilityView(station, now = Date.now()) {
const freshness = station.freshness;
const expiresAt = freshness.expires_at
? Date.parse(freshness.expires_at) : null;
const expired = expiresAt !== null &&
Number.isFinite(expiresAt) && expiresAt <= now;
if (station.pickup.enabled === false ||
station.pickup.state === 'unavailable_now') {
return { state: 'pickup_unavailable', count: null };
}
if (expired || freshness.state === 'stale') {
return { state: 'stale', count: null };
}
const count = station.availability.bikes;
if (freshness.state !== 'fresh' || count === null ||
!Number.isFinite(count) || count < 0) {
return { state: 'unknown', count: null };
}
return {
state: count === 0 ? 'empty' : 'observed', count,
sourceUpdatedAt: freshness.source_updated_at,
receivedAt: freshness.received_at,
pickupState: station.pickup.state
};
}
Nahiz eta behatutako egoera izan, ez bihurtu pickupState=unknown bizikletaren hartze ziurtatu bihurtuz. Kontagailuak behaketa bat da. Erakutsi hartzeko testuingurua produktuak erabiltzaileari geltoki bat aukeratzen laguntzen badio.
Freskatzea gehiegi deitu gabe egitea
Eguneratzea egokitu iragarritako iraungitzera, zerbitzu baldintzetara eta erabiltzailearen jokabidera. Batzeko eskaerak, ez egin deialdirik atzeko planoan orrialde inaktibo batean eta bertan behera utzi bilaketa ordezkatua.
Tokiko cache epea ez du iturriaren freskotasuna frogatzen. Errorea egon ondoren azken behaketa zahar bat gorde dezakezu interfazeak argi eta garbi zaharra dela adierazten badu. Ez ezabatu bereizketa hori iturriak oraindik zaharkituta badago lehenlengo berrikusteko arrakasta unean.
GBFS loturaren ulermena
GBFS mugikortasun partekatua eta haien egoerak deskribatzen ditu. Integratzailerik zuzenean fitxategi, bertsio eta fluxu denbora-markak interpretatu behar ditu. API normalizatu batekin, erabili API kontratua; ez gehitu GBFS eremu bat erantzunetik faltan badagoen.
GTFS, GTFS Realtime eta GBFS artean hautatzea
Irakurlea engainatzen duten egoerak probatzea
Zenbaki zero bat egiazkoa, balio ezezaguna, iraungitako epea, hartze desgaitua eta emaitza baliagarri bat ondorengo errorea probatu. Erakusteko ordu-zonetako autentikotasuna egiaztatu. Kontagailu positibo batek ez du inoiz “bizikleta erreserbatua” sortu behar eta ez eskuragarritasun ezeak zero faltsurik sortu behar.
Erantzun hutsek eta erroreek kudeatzea
AI laguntzaile batean arau hauek aplikatzea
Bizikleta aurkitzeko erabiltzaile gida
Ohiko galderak
Kantitate positibo batek bizikleta bermatzen du nire iritsieran?
Ez. Behatzea deskribatzen du, bilaketaren eta iritsieraren artean aldatu daitekeena.
Null balioa zeroarekin ordezka daiteke?
Ez. Null balio ezezagun bat adierazten du; zero kantitate ezagutua da eta bestelako esanahia du.
Denbora-tarte gutxitan freskatu behar al da?
Erabili baliozkotasun adierazpenak, zerbitzu mugak eta interfaze beharrak. Maiztasun arbitrariek ez dute iturri freskoago baten bermatzeko funtziorik.