playstep 0.4.0
playstep: ^0.4.0 copied to clipboard
Playable, video-first guides for Flutter apps. Each step shows a short looping clip, spotlights the real widget and completes itself when the user does the action.
0.4.0 #
- Events are never lost: a batch is kept on the device (
shared_preferences) until the API takes it, retried with backoff on network errors, 408, 429 and 5xx (honouringRetry-After), and sent on the next launch if the app closes first. Every event carries a randomid, so a retried batch counts once. - Events are sent when the app loses focus or is hidden too, not only when it is paused or closed.
- A host
onEventthat throws no longer stops events from being sent. - When the API no longer knows the key (rotated, or the app deleted), the cached config is forgotten and no guide shows, instead of guides running from the cache uncounted.
0.3.0 #
- Page steps (guide spec version 3): a step with
complete_on: { type: 'page', path: '/projects*' }completes when the user is on a matching route, straight away if they already are, so a guide that starts anywhere (the guide list, a "Show me how" button, Replay) moves past the steps that lead to where it already is. Routes come from named routes through the navigator observer orPlayStep.page(). Tapping the step's anchor does not complete it. skip_if_onon any step leaves it out when it would show on a matching route.- Steps moved past this way still report
step_shownandstep_completed, and there is no Back to them. PlayStep.openLauncher()opens the list while a guide is showing: the guide waits and carries on when the list closes. Android back closes the list first.- Version 0.2 and older skip spec version 3 guides.
0.2.0 #
PlayStep.resetProgress([guideId])lets guides start again: it clears this device's progress for one guide or all of them, keeps the user, their traits and the device id, closes a guide it clears, checks first-visit and screen triggers again for the current screen straight away and reports a newprogress_resetevent. Queued beforeinit.PlayStep.openLauncher()shows the list of guides people can replay whether or not the floating launcher button is on, so you can open it from your own help menu;launcher.enablednow only shows or hides the button. The list has a close control, takes the launcher's corner when there is no button, shows Replay on guides the user has started and Start over. It does nothing when no guide is listed, and Android back only closes a list on screen.reset()in a preview leaves the stored device id alone (previews already kept progress in memory).PlayStep.start(id)does nothing when that guide is already showing its first step.
0.1.0 #
- First release.