Video Kiosk - Android Users Manualburningthumb.com/...kiosk-android-users-manual.pdf ·...

Post on 22-Sep-2020

4 views 0 download

Transcript of Video Kiosk - Android Users Manualburningthumb.com/...kiosk-android-users-manual.pdf ·...

www.burningthumb.com

Video Kiosk – Android User's Manual

Burningthumb Studios

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

i

Table of Contents

Table of Contents .................................................................................................................................. iIntroduction ......................................................................................................................................... 1SystemRequirements..............................................................................................................................................................1FreeTrialMode..........................................................................................................................................................................2PurchasingandLicensing.......................................................................................................................................................2Installing and Configuring Video Kiosk ................................................................................................. 6TwoStepInstallation...............................................................................................................................................................6Aboutpermissions....................................................................................................................................................................6Wheretofindsettings..............................................................................................................................................................6SettingthedeviceTimeZone................................................................................................................................................8AboutVideoKiosk'sdefaultbehavior...............................................................................................................................8Working with Display Modes ............................................................................................................. 10FullScreenMode.....................................................................................................................................................................10SplitScreenMode...................................................................................................................................................................10InteractiveKioskMode........................................................................................................................................................10Additional Features Overview ............................................................................................................ 12Working with Media Types ................................................................................................................ 15SupportedMediaFormats..................................................................................................................................................15DisplayingVideo.....................................................................................................................................................................15DisplayingImages...................................................................................................................................................................15UsingURLShortcutstodisplayContent.......................................................................................................................15Controlling Playback .......................................................................................................................... 19DefaultPlaybackBehavior..................................................................................................................................................19ControllingtheOrderoftheContentLoop..................................................................................................................19ControllingPlaybackTimeusingaSchedule..............................................................................................................23ControllingPlaybackusingdevicelocation.................................................................................................................31MotionDetection.....................................................................................................................................................................35MonitoringBatteryState.....................................................................................................................................................35ChangingthePlaybackMode.............................................................................................................................................35Controlling the Display ....................................................................................................................... 37ViewOptions-ScreenOrientation,TimersandTransitions...............................................................................37SplitScreenDisplay...............................................................................................................................................................39Overlays......................................................................................................................................................................................44InteractiveHotspots..............................................................................................................................................................45BackgroundImagesandAudio.........................................................................................................................................50ControllingDisplayusingfilenamemetadata..........................................................................................................52LegacySupportDisplayFeatures....................................................................................................................................54Controlling the Device ........................................................................................................................ 56TVControlusingHDMICEC(Androidv5andlater)...............................................................................................56KeyboardandRemoteControlFeatures......................................................................................................................58TouchGestureControl..........................................................................................................................................................58

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

ii

GamepadControlFeatures.................................................................................................................................................59Reliability Features ............................................................................................................................ 60Handlingchangestotheplaybackloop.........................................................................................................................60Handlingunplayablecontent.............................................................................................................................................60Behavioronwakefromsleep............................................................................................................................................60ErrorDetectionAutomaticRestart.................................................................................................................................60PeriodicAutomaticRestart................................................................................................................................................61Access Management .......................................................................................................................... 62AccessManagementrecommendations........................................................................................................................62Remote Management and Update ..................................................................................................... 67RemoteDeviceUpdating.....................................................................................................................................................67RemoteDeviceStatusReporting......................................................................................................................................70Configuring the Settings ..................................................................................................................... 77Appendix A – Making Video Kiosk a System App ................................................................................ 91Appendix B – Making Video Kiosk the device owner .......................................................................... 92Appendix C – Built in Widget XML Settings ......................................................................................... 94XMLTags....................................................................................................................................................................................94Examples....................................................................................................................................................................................95Appendix D – Registering uncertified devices ..................................................................................... 98

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

1

Introduction TurnyourAndroiddeviceintoaneasytouse,reliable,robust,secureAndroidkiosktoloopvideo,images,andwebpagesinminutes.Easytouse,you’llhaveyourAndroidTV|tablet|phoneplayingvideos,images,andwebpagesandrunningunattended,reliablyandrobustlywithminimalsetup.Itcomeswithoptionaladvancedfeatures,suchassecureKioskModeforaccessmanagementofinteractivedisplays,remotemanagement,remoteupdate,playbackscheduling,overlays,backgroundsandflexiblescreendisplays–fullscreenorsplitscreen,forplayingavideoloop,foruseasdigitalsignageortocreateaninteractivekiosk.

ThismanualwillcoverbothbasicinstallationaswellashowtouseVideoKiosk’smoreadvancedfeatures.

System Requirements SystemRequirements:Android4.xorlater

Someadvancedfeatures,notablyHDMI-CEC,requireAndroidv5+orAndroidv6+.PleaserefertotheHDMI-CECsectionofthisdocumentformoreinformationonthesystemrequirementsforthosefeatures.

Compatibility:Androidphones,tablets,TVSticks

VideoKioskhasbeentestedanddeployedonthefollowingdevices:

• TVSticks(testedonCX-919,FireTV,i68,MK808,MK809,MK812,MK903,i68,nVidiaShieldTV,RazerForgeTV,PineA64,andmanymore)

• Tablets(testedwithAcer,rootedKindleFire,genericsub$100tablet,andmanymore)• Phones(testedwithAndroidv5,v6,v7,v8,v9phones)

Note:ToavoidtheblackflashproblemfoundonAmlogicSoC,enableTexturedVideoViewsand/orPauseplaybackintheVideoKiosksettings.Alternatively,useadifferentTVBox,suchasaRockchip,Alwinner,ornVidia,basedTVbox(likei68).ContactusifyouarehavinganissuewithyourTVbox.

InternetAccess.VideoKioskcanrunfullyself-containedandinternetaccessisnotrequiredformostfeatures.AnInternetconnectionisonlyrequired:

• togettheappfromthePlaystore• toactivate(anddeactivate)licenses• toupdateyourContentLoopoverthecloud,ifyou'reusingthisfeature• toschedulePlaybackusingaGoogleCalendar,ifyou'reusingthisfeature

Oncethelicenseisactive,youmayturnoffinternetaccessonthedevice.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

2

Free Trial Mode WhenyoudownloadVideoKiosk,itisintrialmode.Allfeaturesarefullyfunctional,butyourvideowillbewatermarked.Toremovethis,purchasealicense.

Purchasing and Licensing VideoKioskislicensedonaperdevicebasis,meaningalicensemustbepurchasedandactivatedforeachdeviceonwhichVideoKioskisused.

Therearethreewaystopurchasealicense:

• In-ApppurchasethroughtheGooglePlayStoreonthedevice• PurchasethroughourWebStore• Byinvoiceforlargevolumepurchaseof25ormorelicenses

Purchase Option 1: In-App purchase through the Google Play Topurchaseintheapp,

1. Ifyouhaven'tdonesoalready,gettheVideoKioskappfromtheGooglePlayStoreonthedevice

2. OpenVideoKiosk.3. Toactivatealicenseforadevice,clickthePurchaseButtonontheLicenseActivityscreen

andfollowtheIn-Apppurchasesteps.ThepurchaseishandledthroughtheGooglePlayStore.ThelicensewillautomaticallybeactivatedwhentheIn-Apppurchasecompletes.

Purchase Option 2: Purchase through our Web Store PurchaseandlicensingthroughourWebStoreisaneasy3-stepprocess:

1. Decidewhichlicensemanagementoptionyouwillbeusing.2. PurchaseLicensesthroughourWebStore3. ActivatetheLicenses

Step 1: Decide on a Volume purchase License Management Option Youcanmanageyourlicensesusingoneoftwooptions:

• EmailID.Addanaccount(EmailID)toeachofyourdevicesor• LicenseFile.Placealicensefile,thatwesendtoyou,onyourdevicesatthepath

/sdcard/videokiosk.license

Note:Somedevicefirmwaredoesnotsupportaddingaccounts.Inthiscase,theAddAccountbuttonfromthelicenseactivityscreenwillbehiddenandyoumustrequestalicensefilefromus.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

3

Thelicensefilecontainssecurelyencodedinformationthatidentifiesyouraccounttothelicenseserverandassuchshouldbekeptprivate.

Ifyou'vedecidedtousetheEmailIDoption,makesureyoucanaddtheaccountyouplantousetothedevicebeforepurchasinglicensesfortheaccount.

Youcanaddanaccountinanumberofways.Theeasiestwayisto:a. InstallandopenVideoKiosk,b. Granttherequestedpermissions,c. Addtherequestedaccount.

Step 2: Purchase Licenses through our Web Store

Beforepurchasing,determinewhichlicensemanagementoptionyouwillbeusing.

Topurchasevolumelicenses,dothefollowing:

1. GototheVolumePurchasepageorclicktheVolumeLicensingbuttonontheVideoKioskPage.

2. Enteryourlicensemanagementmethod.

IfyouareusingtheEmailIDLicenseManagementoption,choose“EmailAccount”fromthe“LicenseBy”pop-upmenuandentertheEmailIDassociatedwiththedevicesintothe“Account”field.

IfyouareusingtheLicenseFileLicenseManagementoption,choose“LicenseFile”fromthe“LicenseBy”pop-upmenuandleavethe"Account"fileblank..

3. Clickthe“BuyNow”buttontopayusingamajorcreditcardoryourPaypalaccount.4. OnthePurchaseScreen,enterthenumberoflicensesyou’rebuyingandclickthe

“Continue”buttontoproceedtotheCheckOut.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

4

5. Onceyouhavecheckedout,youwillbesentanemailwiththestepstoactivatethelicenseswiththeLicenseFileattached,ifapplicable,andthelicenseswillbeaddedtothelicenseserversoyoucanactivatethem.

Step 3: Activate Volume Licenses LicenseActivationisdoneusingtheLicenseActivityscreenonyourdevice.Duetoyourdevice’sscreenresolutionandorientation,itmaybethattheentireLicenseActivityscreenisnotvisible.Ifthishappens,usetouchandswipeup/downtoscrollthescreencontents.

EmailIDLicenseManagementOptionToactivatemultiplelicensesmanagedusingtheEmailIDOption,dothefollowing:

1. Ifyouhaven'talreadydoneso,installVideoKioskfromthePlayStore(orsideloadthe.apkfile).

2. Ifyournetworkisnotconfigured,configurethenetworksothatthedevicehasInternetaccess.

3. OpenVideoKiosk.Grantanypermissionsrequested.4. (Optional)Ifyouwantthelicensetoautomaticallyexpireafterapresetnumberofdays

haveelapsed,fillinthenumberofdaysinthe“ActiveDays”.5. Clickthe“Activate”buttononthe“LicenseActivity”screen.

LicenseFileLicenseManagementOptionToactivatemultiplelicensesmanagedusinglicensefile,dothefollowing:

1. InstallVideoKioskfromthePlayStore(orsideloadthe.apkfile).2. Copythelicensefileontothedeviceatthepath/sdcard/videokiosk.licensesothatVideo

Kioskcanautomaticallyfindit.3. Ifyournetworkisnotconfigured,configurethenetworksothatthedevicehasInternet

access.4. OpenVideoKiosk.Grantanypermissionsrequested.5. (Optional)Ifyouwantthelicensetoautomaticallyexpireafterapresetnumberofdays

haveelapsed,fillinthenumberofdaysinthe“ActiveDays”.6. Clickthe“Activate”buttononthe“LicenseActivity”screen.

Note:Theaccount(Google,Facebook,Email,etc.)ORvideokiosk.licensefileandanInternetconnectionareonlyrequiredtoactivate(anddeactivate)licenses.Oncealicenseisactive,youmayremovetheaccountORvideokiosk.licensefilefromthedevice.YoumayalsoremovethedevicefromtheInternet.

Purchase Option 3: Volume Purchase by Invoice Topurchasemorethan25licensesandreceiveavolumediscount,followtheseinstructions:

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

5

Decideonalicensemanagementoption1. Decidewhichlicensemanagementoptionyouwillbeusing.ToDecideonaVolume

purchaseLicenseManagementOption,followtheinstructionsinPurchaseOption2,above.

PurchaseLicensesTopurchasemorethan25licensesandreceiveavolumediscount,dothefollowing:

1. Sendanemailtoburningthumb@gmail.comthatcontainsthefollowinginformation:a. Thenumberoflicensesrequiredb. Ifyouplantouseanaccountonthedevicetomanagelicenses,providetheaccount

(Google,Facebook,Email,etc.)thatwillbeusedtoactivatethelicenses,c. Ifyoudonotplantouseanaccountonthedevicetomanagelicenses,indicatethat

yourequirealicensefile(usedtoactivatethelicenses)d. Theemailaddressthatshouldreceivetheinvoice

2. Aninvoicewillbesentfrompaypal.comtotheemailaddressyouprovide.Youcanpaytheinvoiceusinganymajorcreditcard

3. Oncetheinvoiceispaid,youwillbesentanemailwiththestepstoactivatethelicenseswiththeLicenseFileattached,ifapplicable,andthelicenseswillbeaddedtothelicenseserversoyoucanactivatethem.

ActivateLicenses1. ToActivateLicenses,followtheinstructionsinPurchaseOption2,above.

Managing Volume Licenses Licensespurchasedunderthevolumepurchaseplanarefloating,allowingyoutomovethemfromdevicetodevice.Whenalicenseexpiresorisdeactivated,thelicensereturnstothepoolofavailablelicensesandmaybeusedtolicenseVideoKioskonanotherdevice.(VideoKioskreturnstoFreeTrialmodeonthedeactivateddevice.)

LicenseDeactivationisdoneusingtheVideoKioskSettings.Todeactivatethelicenseonadevice,gototheSettings>LicenseandChoose“Deactivate”.

Oncethelicenseisdeactivated,youcanuseitonadifferentdevice.

Using uncertified devices In2019,Googlebeganblockinguncertifieddevices(likedeveloperboards)fromaccessplayservicesunlessthedeviceGoogleServicesAndroidID(GSAID)isregisteredwithGoogle.Tofacilitatetheregistrationofuncertifiedboards,VideoKioskdisplaystheGSAIDonabuttonthatwilltakeyoudirectlytotheregistrationpage.Formoreinformation,refertoAppendixD–Registeringuncertifieddevices.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

6

Installing and Configuring Video Kiosk

Two Step Installation VideoKioskisdesignedtobeareliable,videokioskplayingmediacontentinaloopwithoutanyconfiguration.TouseVideoKiosk,followthesesteps:

1. CreateaContentFolder.Todothis,createafolderinoneofthefollowinglocationsandputyourmediainthefolder:

• /sdcard/<androidid>• /sdcard/Movies/<androidid>• /sdcard/VideoKiosk• /sdcard/Movies/VideoKiosk

2. LaunchVideoKiosk. 3. ThereisnoStep3.

VideoKioskwillnowplaytheContentLoop,unattended.Youcanplayvideos,imagesandURLshortcuts,oranycombinationofthethree.Formoreinformationaboutsupportedmediaformats,referto[SupportedMedia,p.15].

About permissions WhenyouinstallVideoKiosk,youhavealwaysbeenpromptedtograntthepermissionsthatVideoKioskrequires.BeginningwithAndroidv6,youwillalsobepromptedatruntimetograntsome,butnotall,ofthosesamepermissionsagain.Ifyouchoosetodenypermissionsatruntime,someofVideoKiosksfeatureswillbedisabled.

Werecommendthatyougrantallofthepermissionsothatyoudon’trunintoproblemswithfeaturesyouhaveinadvertentlydisabledbydenyingtheruntimepermissionrequest.

Where to find settings VideoKiosk’ssettingsaresplitintotwoareas:TheButtonBarandtheSettingsScreen(andsub-screens).Thefeaturesofeacharedescribedbelow.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

7

Button Bar Bydefault,theButtonBarisdisplayedforafewsecondswhenyoulaunchVideoKioskandthenitautomaticallyhides.Todisplayitagainyoucantapthescreen,swipedown,swipeup,pressthedownarrowonacontrollerorremotecontrol.

Thebuttonbarallowsyouto:

1. ChoosethemediafoldercontainingtheContentLoop2. SetVideoKioskastheHomeLauncher3. Sendamanagementreport4. Openthesettingsscreen5. OpentheLicenseActivationscreenifinfreetrialmode6. ExitVideoKioskifanotherHomeLauncherisavailableonthedevice

TherearemanyoptionstoprotectaccesstothebuttonsinthebuttonbarincludingnotshowingitonApplaunch,requiringatouchpatterntodisplayit,requiringapasswordtoaccessiteminit.

Settings Screen PressingtheSettingsiconintheButtonBarwillopenthesettingsscreen.Somesettingsareinsub-screensandtouchingthetitleofthescreenwillopenthesub-screen.Thenumberofsettingsisextensive.ForcompleteinformationontheSettingsScreenrefertoConfiguringtheSettingssectionofthisdocument.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

8

Setting the device Time Zone YourdeviceallowsyoutosettheTimeZoneintheDeviceSettings.YoumayalsohavetheoptiontousethenetworkprovidedTimeZone.

ToChangethedeviceTimeZonemanually:

1. FromtheHomescreen,touchApps>Settings.2. TouchDateandtime.3. TouchSelecttimezoneandselectthedevice’stimezonefromthelist

TohavethedeviceusethenetworkprovidedTimeZone:

1. FromtheHomescreen,touchApps>Settings.2. TouchDateandtime.3. ChecktheAutomatictimezonecheckboxtousethenetworkprovidedtimezone.This

optionrequiresthatthedevicebeconnectedtothenetwork.

About Video Kiosk's default behavior VideoKioskisdesignedtobereliable,playingmediacontentinaloopwithoutanyconfiguration.However,therearemanyadditionalfeaturesyoucanconfigure.Ifyouhavenotconfiguredotherwise,VideoKioskwilldothefollowing:

Display Mode Default Display Mode Bydefault,VideoKioskdisplaysinFullScreenMode.FormoreinformationaboutSplitScreenMode,referto[Error!Referencesourcenotfound.,p.Error!Bookmarknotdefined.].FormoreinformationaboutInteractiveKioskMode,referto[InteractiveKioskMode,p.10].

Playback Control Default Playback Order IfyouhavenotconfiguredaPlaybackOrder,VideoKioskwillplaythecontentsoftheMediaFolderintheorderofeitherthefirstplaylistitfindsintheMediaFolderor,ifaplaylistisnotfound,themediafoldercontentsinalphabeticalorderbyfullpathname.

TheMediaFoldercanhaveanynumberofsub-folderswithinitcontainingmedia.Ifyouhavenotconfiguredaplaybacksub-folderdepth,VideoKioskwillplaythecontentsdownto5levelsofsub-folders,ignoringsub-foldersinlowerdepths.FormoreinformationaboutPlaybackOrder,referto[ControllingtheOrderoftheContentLoop,p.19].

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

9

Display Control Image Display Time Bydefault,VideoKioskwilldisplayimagesfor30seconds.Youcanincreaseordecreasethisdisplaytime.Formoreinformation,referto[SupportedMedia,p.15].

Web Page Display Behaviour Bydefault,VideoKioskwilldisplaywebpagesfor30seconds.Youcanincreaseordecreasethisdisplaytime.Formoreinformation,referto[SupportedMedia,p.15].

Device Control Device Control – Dimming the screen Inordertoplaycontent,thedevicemustbeturnedonand,inthecaseofanAndroidTV,thecorrectvideoinputmustbeselected.Onanydevice,VideoKioskwillautomaticallystartplayingcontent.Ifascheduleisbeingused,VideoKioskwillplaycontentonlywhenscheduled.Ifthereisnoscheduledevent,VideoKioskwill,bydefault,dimthescreen.

Reliability Features Reliability – Wake from sleep VideoKioskwillautomaticallystartplayingcontentuponwakingfromsleep.

Reliability - Automatic Restart PeriodicallyrestartingadeviceisacommonwayofaddressingAndroidOSandhardwareinstabilityissues.VideoKiosk’sdefaultbehavioristorestartonceeachnightatmidnight.

Access Management Access Management Bydefault,VideoKioskisnotpasswordprotectedandnorestrictionsondeviceusageareinplace.FormoreinformationaboutAccessManagement,referto[AccessManagement,p.62].

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

10

Working with Display Modes VideoKiosk’splaybackscreensupportsthreedifferentmodesinwhichtodisplaymedia–FullScreenMode,aswellastwomoreadvancedmodes–SplitScreenModeandInteractiveKioskmode.Thefeaturesofeacharedescribedbelow.

Full Screen Mode InFullScreenMode,VideoKioskwillplaythecontentloopusingthefullplaybackscreen.YoucanplayvideosorimagesorURLshortcuts,oranycombinationofthethree.

Split Screen Mode VideoKiosksupportsSplitScreenMode,whichdividestheplaybackscreeninto4areas,A,B,CandD,allowingyoutoplayyourcontentloopinareaA,whileyourunstandardwidgetsand/orwebURLbasedcontentinareasB,C,andD.

A B C D

How to use Split Screen Mode 1. EnableWidgetMode.2. ConfigureVideoKioskAreasB,CandDwithwhichwidgets|URLstodisplay.3. Optionally,adjustthewidgetarealayout.

Formoreinformation,referto[DisplayOptions-SplitScreen]

Interactive Kiosk Mode VideoKiosksupportsInteractiveKioskMode,whichturnsyourdeviceintoaninteractivetouchscreenormouse-controlledkiosk,displayingwebURLsorApps.

How to turn your device into an interactive kiosk 1. Createanoverlay.Formoreinformation,referto[Overlays,p.44]2. CreateaHotspotFile.Testthehotspotstoensuretheyarebehavingasexpected.Formore

information,referto[InteractiveHotspots,p.45]

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

11

3. Lockdowntheinteractivekiosktopreventtheuserfromoverridingthecontentyouwishtodisplay.Formoreinformation,referto[EnhancedAccessManagementSetUp,p.65]

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

12

Additional Features Overview OnceyouhaveaddedyourmediaandconfiguredyourDisplayMode,yourVideoKioskisreadytogo.However,therearemanyoptionalfeaturesavailabletocustomizeyourkiosk.Usethissummarytodecidehowtoenhancethereliability,usabilityandmanagementofyourVideoKiosk.

Media Type Support VideoKiosksupportsplaybackofvariousMediaTypes–video,imagesandURLshortcuts.

Feature DescriptionVideo SupportsplaybackofseveralvideoformatsImage SupportsdisplayofseveralimageformatsURLShortcuts Supports.urlfiles(internetshortcuts),whichistypicallyusedtodisplayliveweb

content,butcanbeusedtoreferenceanyURLontheinternetorlocaltothedevice

Widgets WidgetAreasplaywidgetsURL/Apps InteractiveTouchscreenKioskscanopenremoteandlocalURLsaswellasother

AndroidApps

Controlling Playback VideoKioskprovidesbothsimplewaysandmoresophisticatedwaysofcontrollingPlaybackOrderandschedulingplayback.

Feature DescriptionPlaybackOrderControl Controltheordermediaisplayedinusingaplaylist,thefileandfolderorder,a

PickOnefolderPlaybackScheduling Youcanscheduleplaybackusingseveralmethods

• theAndroidCalendaronthedevice• anXMLschedulefile• aGoogleCalendar

PlaybackDeviceLocation YoucancontrolplaybackusingthedevicelocationMotionDetection YoucancontrolplaybackusingcamerabasedmotiondetectionBatteryStateMonitoring VideoKioskcanmonitorthebatterystateonthedeviceandstopplayingto

conservebatterypowerChangingthePlaybackMode Bydefault,thePlaybackModeissetto“Playnext"whichplaysthenextmedia

itemwhenthecurrentmediaitemfinishes.However,youcanchangethisbehaviourtoplaytheprevious,topauseafterplayortoloopplayandrequireaswipeeventtocontinue.

Controlling the Display ThereareseveralDisplayfeaturesavailablewhichcontrolhowyourcontentlooksonthedevice.

Feature DescriptionSplitScreenDisplay InSplitScreenMode,theplaybackscreenisdividedintoareas(4bydefault),

allowingyoutorunvideocontentinthefirstareaandrunwidgetsintheotherareas.Youcancustomizethe4areas.

Overlays VideoKiosksupportstransparentoverlayfilesthataredisplayedinfrontofthecurrentlydisplayedmedia.Thisfeatureis,forexample,oftenusedtooverlayacompanylogointhecornerofthescreen.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

13

Feature DescriptionInteractiveHotspots VideoKiosksupportsdefininghotspotsonanoverlay.Ahotspotisarectangle

somewhereonthescreenwithanassociatedURLorApp.Whenthekioskisbeingusingininteractivemodeandthehotspotorkeyistouched,theURLorAppwillbedisplayedinawebview.

BackgroundImagesandAudio VideoKiosksupportsbackgroundimagesandbackground.ImageDisplayTimers Youcanconfigurethestillimagedisplaytimeandcustomizefadetimebetween

files.ScreenOrientation Youcanchangethescreenorientationforthemediaplaybackscreen.Supported

orientationsincludethedefaultforthedevice,aswellasLandscape,Portrait,ReverseLandscape,ReversePortrait.(SupportedonAndroidv4.2andlater.)

Blackflashreduction Youcanusetexturedvideoviewsand/orpauseplaybacktoreduceoreliminatetheblackflashbetweenvideos.

ControllingDisplayusingMetadatainfilenames

Youcancontrolplaybackwhenyouincludecertainkeywordsinthemediafile'sfilename.

LegacyDisplaySupport VideoKioskcanstretcholdervideosoitfitsthenewstandardvideosizeaswellasreduceoreliminatetheflickeratthebeginningofvideosonolderAndroiddevices.

Controlling the Device Thereareseveralfeaturesavailablewhichhelpyoucontrolthedeviceonwhichyourcontentisplaying.

Feature DescriptionHDMICECsupport VideoKioskcansendHDMI-CECcommandstokeeptheTVonandthecorrect

inputselected.(SupportedonAndroidv5.1andlater.)KeyboardandRemoteControl VideoKiosksupportssomekeysonkeyboardsandremotecontrols.TouchGestureControl VideoKiosksupportsusingswipegesturestoselecttothenextorpreviousmedia

itemduringplayback.GamepadControl VideoKiosksupportssomebuttonsongamepads.

Reliability Features VideoKioskisdesignedtoproviderobust,reliableplayback.Bydefault,ithandlesmediathatcan'tbeplayed,willrestartiftoomanyproblemsareencounteredandseamlesslyhandleschangestothemediafolder.Therearesomeadditionalreliabilityfeaturesyoucanconfigure.

Feature DescriptionBehaviouronwakefromsleep VideoKioskwillautomaticallystartplayingcontentuponwakingfromsleep.Use

thisfeaturetodeterminewhetheritwillstartplayingfromwhereitlastendedintheplayloopthecurrentfileorwillstartplayingfromthebeginningoftheplayloop.

AutomaticRestart PeriodicallyrestartingadeviceisacommonwayofaddressingAndroidOSandhardwareinstability.VideoKioskwillautomaticallyrestartthedeviceorrestartsVideoKioskatthespecifiedintervals.Thisreducestheneedtorestartdevicesmanually.

Access Management BecauseVideoKioskisusedinavarietyofdifferentkioskenvironments,itmaynotbenecessaryforyoutolimitaccesstothedevice.Forexample,awall-mountedTVusedasakiosktoplayvideoatthegymwouldrequirelessaccessmanagementthananinteractivekioskinthehandsofcuriousteenagersatamuseum.VideoKiosk'sAccessManagementfeaturesaredesignedtobeflexiblesothatyoucanconfigureaccessatalevelappropriatetothekioskenvironment.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

14

Feature DescriptionSettingtheHomeApp InordertohaveVideoKioskautomaticallyrestartwhenAndroidisrestarted,set

itastheHomeAppPasswordProtection Yourequireapasswordinordertomakechangestothekiosk.Disablethepowerbuttonlongpressmenu

Disablingthepowerbuttonlongpresspreventsusersfromcontrollingthedeviceusingthepowerbuttonlongpressmenu.

Disablevolumebutton Disablethistopreventusersfromchangingthevolume.PreventaccesstoSystemUI ThisfeaturehidesthesystemUIforarootedAndroidv4deviceandpinsthe

VideoKioskApp(inKioskmode)forAndroidv5andlaterdeviceswhereVideoKioskismadethedeviceForanexampleofhowtomakeVideoKioskadeviceowner,refertoAppendixB–MakingVideoKioskthedeviceownerattheendofthismanual..

Remote Management and Update VideoKioskwasdesignedtoberemotelymanageablesothatboththemediathatwillbeplayedandVideoKioskfunctionalitycanbecontrolledfromacentrallocation

Feature DescriptionRemotelymanagemediafiles UsingaCloudService,youcanremotelychangethemediathatwillbeplayedon

VideoKiosk.RemotelyControlPlayback YoucanremotelychangetheplaybackorderandupdatethescheduleRemotelyControlDisplay UsingaCloudService,youcanremotelychangeanoverlayandchangeanoverlay

hotspotforaninteractivekiosk.RemoteAccessManagement UsingaCloudService,youcanremotelychangethepasswordforadevice.RemoteStatusReporting VideoKiosksupportsbothsendingstatusreportstoaURLandreceiving

responsessoyoucanintegrateVideoKioskremotedevicesintoamanagementsystem

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

15

Working with Media Types

Supported Media Formats Video Kiosk will display videos, images or URL shortcuts on an Android TV, tablet or phone.

Displaying Video Toplayvideos,putthevideofilesinthemediafolder.

• ThevideoformatsagivenAndroiddevicesupportsaredeterminedbythedevicemanufacturer.

• IfVideoKioskencountersavideoinaformatnotsupportedbythedevice,itwillskipthevideoandwillplaythemedianextfile.Ifthefileisinasupportedformat,butunplayableforadifferentreason(forexampleanemptyorcorruptfile),VideoKioskwillskipitandplaythenextmediafile.

Displaying Images Toplayimages,puttheimagefilesinthemediafolder.

• VideoKiosksupportsthefollowingimagefileformats:.jpg,.jpeg,.gif,.png,.bmp,webp• Ifyourmediafolderincludesstillimages,eachonewillbedisplayedfor30seconds(this

canbemodifiedintheSettings).• IfVideoKioskencountersanimageinaformatthatisnotsupported,itwillskipthefileand

willplaythenextmediafile.

Using URL Shortcuts to display Content VideoKiosksupportsusingURLshortcutfiles(.urlfiles)todisplaycontent.URLshortcutsarefilescontainingalinktoanyfilethatcanbereferencedbyaURL,typicallyawebpage.Thisfeatureisoftenusedtodisplaylivewebcontent,likeanInstagramfeed,butyoucanreferenceanyURLonthewebaswellaslocallystoredhtmlcontentandimages.

• Ifyourmediafolderincludes.urlfiles,thecontentwillbedisplayedforthedurationoftimespecifiedinthe.urlfile.(Thedefaultistodisplaythewebcontentfor30seconds.)

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

16

• IfVideoKioskencountersaninvalidURL,itwillskipthefileandwillplaythenextmediafile.(AURLisconsideredinvalidiftheURLisincorrectlyformedorifthepagedoesn’texist.)

How to use URL Shortcuts TouseaURLshortcuttodisplaycontent,followthesesteps:

1. Createa.urlFile.InaTextEditor,createaURLfile,withtheextension“.url”.• FormoreinformationaboutURLfilesandtodownloadasamplekit,refertoonline

VideoKioskTutorials• Forfilecontentsrequirements,refertotheVideoKioskURLShortcutfileSyntaxGuide,

below.2. Placethe.urlfilesinyourcontentfolder.Forfurtherinformationaboutplayback,referto

[ControllingPlayback,p.19]

Video Kiosk URL Shortcut file (.url file) Syntax Guide Syntax Explanation Required /

Optional [InternetShortcut] Sectionidentifier RequiredURL Identifiestheurlvalue

ValidValues:AnyvalidurladdressExample:URL=http://www.burningthumb.com/

Required

TIMEOUT Indicateshowlong,inseconds,VideoKioskwilldisplaythewebcontent.ValidValues:Defaultis30secondsAnyvalidfloatingpointnumberExample:TIMEOUT=45

Optional

CACHE-MODE IndicateswhethertocachethewebcontentValidValues:Defaultisno-cacheno-cache–webcontentisnotcacheddefault–webcontentiscachedExample:CACHE-MODE=default

Optional

LAYER-TYPE IndicateswheretorenderthewebcontentValidValues:Defaultishardwarehardware–webcontentisrenderedonthehardwareacceleratedlayersoftware–webcontentisrenderedonthesoftwarelayer

Optional

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

17

Example:LAYER-TYPE=software

USER-AGENT Allowsyoutospecifytheuseragentsenttothewebserver.Example:USER-AGENT=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4

Optional

MUTE-ON-PRELOAD

Ifthewebpagecontainsaudiocontent,thecontentvolumecanbemutedduringbackgroundpre-loadingofthecontentValidValues:Defaultisfalsetrue–thevolumewillbemutedfalse–thevolumewillnotbemutedExample:MUTE-ON-PRELOAD=true

Optional

SHOW-AFTER-PRELOAD

Normallythewebpagewillbedisplayedwhenthepreviousitemfinishesplaying.Youcanspecifythatthewebpageshouldbeshownassoonasthepreloadingiscomplete.ValidValues:Defaultisfalsetrue–thepagewillbedisplayedassoonasthepreloadcompletesfalse–thepagewillbedisplayedwhenthepreviousitemisfinishedplayingExample:SHOW-AFTER-PRELOAD=true

Optional

SCALE-IMAGE IftheURLisanimageURLandyousetthisoptiontotrue,VideoKioskwillscaletheimagetofullscreen.ValidValues:Defaultisfalsetrue–scaletheimagetofullscreenfalse–positiontheimagebasedonthedefaultfortheWebView.ThisvariesbasedontheversionofAndroidbeingusedExample:SCALE-IMAGE=true

Optional

Examples: URL Shortcut Files Thefollowingexampleshowsthecontentofa.urlfilethatinstructsVideoKiosktoplaytheBurningThumbStudioshomepagefor30secondswithoutcachingthewebpagecontent:

[InternetShortcut] URL= http://www.burningthumb.com/ TIMEOUT=30 LAYER-TYPE=software CACHE-MODE=no-cache

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

18

Thefollowingexampleshowsthecontentofa.urlfilethatinstructsVideoKiosktoautoplayaYouTubevideofor138secondswhilecachingthewebpagecontent.Noticethatadesktop(MacOSX)USER-AGENTisspecifiedsothatthevideowillautoplayeventhoughtherealuseragentisonamobiledevicewhichwouldresultinautoplaynotworking:

[InternetShortcut] URL=https://www.youtube.com/embed/lYQWiQJJ4lE?rel=0&autoplay=1 TIMEOUT=138 LAYER-TYPE=hardware CACHE-MODE=default USER-AGENT=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4

Thefollowingexampledisplaysanimageandscalesittousethefullscreen:

[InternetShortcut] URL=https://media-beta.wsbtv.com/photo/MAP/27381361/27381361_Position3_660_500.JPG TIMEOUT=30 SCALE-IMAGE=true

FormoreinformationaboutURLfilesandtodownloadasamplekit,refertothetutorialsat:

http://burningthumb.com/apps/video-kiosk/tutorials/

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

19

Controlling Playback WithvideoKiosk,youcancontrolboththeordertheContentLoopisplayed(PlaybackOrder)aswellaswhentheContentLoopisplayed(PlaybackScheduling).VideoKioskprovidesanumberofoptionsforcontrollingbothofthese.

• YoucancontroltheorderoftheContentLoopo usingfileandfolderorder,o usingplaylistsoro usingPickonefiles.

• YoucancontrolwhentheContentLoopisplayed(theplaybackloop)o usingascheduleo usingthedevicelocationo usingmotiondetectiono usingthebatterystateofthedeviceandadaptingplaybackwhenbatteryislow

Default Playback Behavior IfyouhavenotconfiguredaPlaybackOrder,VideoKioskwillplaythecontentsoftheMediaFolder(theContentLoop)intheorderofeitherthefirstplaylistitfindsintheMediaFolderor,ifaplaylistisnotfound,themediafoldercontentsinalphabeticalorderbythefullpathnameofeachfile..

Ifyouhavenotconfiguredatimeforplayback,VideoKioskwillplaythecontentsoftheContentLoopwheneverVideoKioskisrunning.

Controlling the Order of the Content Loop Youcancontrolplaybackorderofthecontentsofthemediafolderusingoneofthreemethods:

• Aplaylist• Thefileandpathorder• A.pickonefolder(s)

Aplaylistwilltakeprecedenceovertheothermethods,soifyouselectaplaylist,VideoKioskwillusetheordercontainedinthe.m3u8playlistfile.

Controlling the Content Loop playback order using a Playlist Video Kiosk supports using playlists (m3u8 files) to control the playback order of the content loop.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

20

How to use a Playlist

To use a Playlist to control the playback order, follow these steps:

1. Createaplaylistfile,withtheextension“.m3u8”.

o Formoreinformationonm3u8filesandm3u8filesyntax,refertoM3U-Wikipedia,TheFreeEncyclopediaathttps://en.wikipedia.org/w/index.php?title=M3U

o Forfilecontentsrequirements,refertotheSyntaxGuide,below.

2. MovethePlaylistfileontothedeviceorsynchronizeitusingacloudservice. 3. ConfigureVideoKioskwiththelocationofthePlaylist.Youcanconfigurethelocationofthe

Playlistthatyouwantusinganyofthefollowingways.

UsetheDefaultLocation

• Tousethedefaultlocation,createaplaylistfilecalled"playlist.m3u8"andputthefileinthesamefolderasyourcontentfiles.IfthesortorderissettoPathorfirstplaylistfoundandthereisasingleplaylistoraplaylistwiththename"playlist.m3u8"inthemediafolder,itwillbefoundautomaticallybyVideoKioskandyoudonotneedtoselectaplaylistinthesettings.

ConfigurethePathintheAppSettings

• Createaplaylistfile,putitinafolderandconfigurevideoKioskwiththelocation.GotoVideoKioskSettings>FileandFolder>PathtoPlaylistfolderandsetthepathtotheplaylistfolder.VideoKioskwillplaythefirstplaylistitfindsinthatfolder.

PickaPlaylistintheAppSettings

• Youcanpickaplaylistmanually.GotoVideoKioskSettings>FileandFolder>Sortbyandselecttheplaylisttousefromthelist.ForinformationonSettings,referto[ConfiguringtheSettings,p.77]

Video Kiosk Playlist Syntax Guide #EXTM3U #EXT-X-PLAYLIST-TYPE:VOD #EXT-X-VERSION: #EXT-X-MEDIA-SEQUENCE:0

Required

#EXTINF:99.999, (filename.ext)

Identifiesthetrack(“#EXTINF:99,”requiredforeachentry.OptionallyusetherestofthelinetoidentifythetrackSpecifytheFilename(formoreinformationonabsoluteorrelative

Requiredforeachtrack

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

21

filenames,refertotheWikipediaarticle.

#EXT-X-ENDLIST Indicatesendoffile Required

Example: Playlist File Hereisanexampleplaylist.m3u8filethatplays3files,startingwith“christmas-lunch-specials-2017.mpg”andendingwith“snow.mp4”.

Note:Currentlythe#EXTINFOvaluesareignored,butthe.m3u8parserexpectsthemtobepresent.

IfyouarenotusinganApptocreateyourplaylist,theeasiestwaytocreateoneistodownloadthesampleandreplacethefilenameswithyourownfilenames.Todownloadasamplekit,refertothetutorialsat:

http://burningthumb.com/apps/video-kiosk/tutorials/

Controlling the Content Loop playback order using the File and Folder Settings YoucancontroltheplaybackorderofthecontentsofthemediafolderusingtheVideoKioskFileandfolder>Sortbysettings.WhenPathsortorderorFilenameexcludingpathsortisselected,VideoKioskwillplaythemediainalphabeticorder(UTF8order)byeitherfullpathorjustthefilenamecomponentofthepath.FormoreinformationonUTF8,refertoUTF-8-Wikipedia,TheFreeEncyclopediaathttps://en.wikipedia.org/w/index.php?title=UTF-8&oldid=683120706

ForinformationonSettings,referto[ConfiguringtheSettings,p.77]

Tocontrolplaybackorderusingthesettings,followthesesteps:

1. ConfigureVideoKioskwithasortorder.GotoVideoKioskSettings>FileandFolder>Sortbyandsetthesetorder.ThedefaultisPathoffirstplaylistfound.Options:Pathorfirstplaylistfound–Sortsbypathorbythefirstplaylistfound(ifthereisone)Path–Sortsbyfullpathname

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

22

Filenameexcludingpath–Sortsbyfilename,excludingpathRandomshuffle–Sortsinarandomorder

Controlling the Content Loop playback order with a Pick One folder Video Kiosk recognizes the special folder extension, .pickone, and will select just one of the files in that (sub-)folder (in a round robin fashion) each time it plays the content loop.

TouseaPickOnefolder,followthesesteps:

1. Createafolder(ornumberoffolders),usingtheextension,.pickone,andputthemediayouwanttoplayinthefolder(s).

2. Putthefoldersinthemediafolder.

VideoKioskwillselectonefiletoplayfromeach.pickonefoldereachtimeitplaysthemedialoop.

Sort Order Considerations Herearesomeconsiderationswhenconfiguringasortorder.

Restricting File Types Androidhasalistofbuilt-insupportedvideoformats.Themanufacturerofyourdevicemaysupportotherformats.Bydefault,VideoKioskwillattempttoplayvideoinaformatnotonthebuilt-insupportedlistandskipthevideoifitcan'tbeplayed.

Torestrictplaybacktojustbuilt-insupportedvideoformats,

1. GotoVideoKioskSettings>Fileandfolder>Limitplaybacktodocumentedformatsandcheckthecheckbox.

Displaying Playback Error Messages Youcantroubleshootvideoplaybackbydisplayingamessageeachtimeavideodoesn'tplay.

ToenableDisplayPlaybackErrorMessage,

1. GotoVideoKioskSettings>Fileandfolder>Showplaybackerrorsandcheckthecheckbox.VideoKioskwillthendisplayabriefmessagewhenamediaitemcannotbeplayed.Onceyourhaveidentifiedandcorrectedtheproblem,werecommendyouturnoffthissettingbeforedeployingproductiondevices.

Sorting by Path or Filename WhenPathsortorderorFilenameexcludingpathsortorderisselected,VideoKioskwillplaythemediainalphabeticorder(UTF8order),whichsortsnumbers(0-9)beforeletters(a-z).Ifyouwanttocontrolsortorder,werecommendyouprependfilenameswitha2-4digitnumberforVideoKiosktosortby.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

23

Example:Inthisexample,thereare6mediaassets,3videosclipsfromcompetitionsand3images-1upcomingeventposterimage,1adspotfortheProShopimageand1scheduleimage.Tointerspersethevideosbetweentheimages,prependthefilenameswithnumbertocontrolthesortorderandchoosefilenameasthesortorder.Thefilenameswouldlooklikethis:

001pro-shop-spot.png002brandon-fight-clip.mp4003mike-boxing-102.png004david-fight-clip.mp4005pma-schedule-fall-2015.png006robert-fight-clip.mp4

Theprependednumbersmakethesortordereasytounderstandandeasytosee.

Limiting the sub-folder depth

When controlling playback using the File and folders Settings or a .pickone folder, make sure the folder depth is set high enough to play all the sub-folders. When Video Kiosk is searching a media folder, the default limit to how many sub-folders depths it will traverse is set to 5. If you have a lot of nested sub-folders, you can increase the limit.

1. Pickthelimitofthedepthofnestedsub-folderthatwillbeplayed.GotoVideoKioskSettings>Fileandfolder>Sub-folderdepthandselectthedepth.

Controlling Playback Time using a Schedule InadditiontocontrollingContentLooporder,youcancontrolthetimeatwhichtheContentLoopisdisplayedusingaschedule.Youcanuseanyoneofthefollowingmethods:

• UsingtheAndroidCalendaronthedevicetocreateaplaybackschedule• UsingaGoogleCalendarthatautomaticallysynchronizestotheversioninthecloud• UsinganXMLschedulefilethatyoucopytothedevice• UsinganXMLschedulefilethatyousynchronizetothedeviceusingthebuilt-inCloudDrive

downloadserviceorathird-partyclouddownloadApp

Deciding on a Schedule option Whendecidingonwhichscheduleoptiontouse,considerthreethings:

• Howoftenwilltheschedulechange?• Howmanydeviceswillbeimpacted?• Deviceconstraints.Howaccessiblearethedevices–aretheydifficulttogettobecausethey

aremountedoverheadonawallorinanothercity?Dotheyhaveinternetaccess?Isthereacloudservicesetup?

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

24

Whichschedulingoptionbestmeetsyourrequirementswilldependonyourconfiguration.Howaretheconsiderationsforeachoption.

• Androidcalendarconsiderations.SinceAndroidCalendarisonthedevice,you’llneedtoenterthescheduleeventsoneachofyourdevices.Ifyouwanttomodifytheschedule,you’llneedtoenterthenewscheduleeventsoneachdevice.Considerations:

o Doesn'trequirethedevicetohaveinternetaccesso RequiresanAndroidCalendarapptobeinstalledoneachdeviceo Easytodo,providedthescheduledoesnotchangeofteno Easytodo,providedyouhaveonlyafewdevicesyouwouldhavetomodifythe

scheduleofo Easytodo,providedthedevicesareeasytoaccess.

• Googlecalendarconsiderations.UsingtheInternet,youcanhavemanydevicessharethesameGoogleCalendar.YouenterthescheduleeventsonaGoogleCalendarandthenconfigureallthedevicestousethesamecalendar.Tomodifytheschedule,youjustneedtoenterthenewscheduleeventsonGooglecalendarandallthedeviceswillautomaticallyswitchtothenewschedule.Considerations:

o Requiresthatalldeviceshaveaccesstotheinterneto RequirestheGoogleCalendarapptobeinstalledoneachdeviceo Requiresmoreinitialset-up,butallowsyoutochangethescheduleononecentral

locationandthenhaveitpropagateouttomanydevices,regardlessoftheirlocation• LocalXMLschedulefileconsiderations.SincealocalXMLScheduleisonthedevice,you’ll

needtocopytheschedulefileontoeachofyourdevices,eachtimeyouchangetheschedule.Thismaybecumbersomeandtime-consumingiftheschedulechangesoften,ifyouhavemanydevices,orifthedevicesaredifficulttogetto.Considerations:

o Doesn'trequirethedevicetohaveinternetaccesso Easytodo,providedthescheduledoesnotchangeofteno Easytodo,providedyouhaveonlyafewdevicesyouwouldhavetocopythenew

XMLschedulefiletoo Easytodo,providedthedevicesareeasytoaccess.

• XMLschedulefileoverthecloudconsiderations.Usingthebuilt-inCloudDrivedownloadserviceorathird-partyClouddownloadApp,youcansynchronizemanydevicestooneXMLScheduleFile.Tomodifythescheduleonalldevices,movethenewschedulefiletothecontentfolderonthecloudserviceandallthedeviceswillautomaticallyswitchtothenewschedule.Thiswillsavetimeoverchangingthescheduleoneachdeviceindividually.However,itdoesrequiretheuseofacloudserviceandthateachdevicehaveaccesstotheInternet.Considerations:

o Requiresthatalldeviceshaveaccesstotheinterneto Doesn'trequireacalendarAppbeinstalledoneachdevice

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

25

o Requiresmoreinitialset-up,butallowsyoutochangethescheduleinoneXMLfileandthenhaveitpropagateouttomanydevices,regardlessoftheirlocation

Using Android Calendar to control the schedule VideoKioskwillexecutecommandsbasedonthetimeanddescriptionofthecalendarentryinthecalendaryouhaveselectedinthesettings.TouseAndroidCalendartoscheduleplayback,followthesesteps:

1. InAndroidCalendar,createacalendarandaddplaybackeventsusingthestartandendtimesintheCalendartocontrolwhenyourcontentisplayed(ornotplayed,dependingontheDisplayStatesetting.)

2. Optionally,youcancontroldevicebehaviorbyaddingcommandstothedescriptionfieldoftheevent.Formoreinformation,refertotheVideoKioskCalendarCommandReferenceGuidesectionofthisdocument.

3. ConfigureVideoKioskwiththelocationoftheschedule.GotoVideoKioskSettings>Schedule>UseacalendarorscheduleandselecttheAndroidCalendarastheschedulelocation.VideoKioskwilldisplayallAndroidCalendarsonthedeviceinthislist.

4. Choosethedevicebehaviorwhennoscheduleeventoccurs.Thedefaultistodisplayablankscreen.Toplaytheclockinstead,gotoVideoKioskSettings>Schedule>DisplayClockandsettoon.YoucanchangetheclockcolorusingtheVideoKioskSettings>Schedule>ClockColorsetting.Youcanchangetheclockformat(12hourAM/PMversus24hour)intheSystemSettingsforthedevice.

5. ChoosewhetherthescheduleeventcontrolsthedisplaybysettingtheScheduleSettingDisplaystate.Alwayson-thescheduleeventsdonotturnthedisplayoffOnforevents,otherwiseoff-thescheduleeventwillturnthedisplayonOffforevents,otherwiseon,thescheduleeventwillturnthedisplayoff.

6. ChoosehowoftenVideoKioskchecksforchangestotheschedule.Thedefaultisevery30seconds.YoucanchangetheclockcolorusingtheVideoKioskSettings>Timers>ScheduleChecksecondssetting.

7. Ensurethatthedevice’stimeissettothecorrecttimeandcorrecttimezone.(Thismaybesetautomatically,dependingonthedevice.Formoreinformation,refertotheOwner’smanualthatcamewiththedevice.)

Using Google Calendar to control the schedule VideoKioskwillexecutecommandsbasedonthetimeanddescriptionofthecalendarentryinthecalendaryouhaveselectedinthesettings.Ifyou’reusingGoogleCalendartoscheduleplayback,you’llneedtoensurethedevicehasaccesstotheInternet.

How to use a Google Calendar Schedule TouseGoogleCalendartoscheduleplayback,followthesesteps:

1. InGoogleCalendar,createacalendarandaddplaybackeventsusingthestartandendtimesintheCalendartocontrolwhenyourcontentisplayed(ornotplayed,dependingonthe

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

26

DisplayStatesetting.)

2. Optionally,adddevicecontrolcommandstothecalendareventdescriptionfield,ifrequired.

Formoreinformation,refertotheVideoKioskCalendarCommandReferenceGuidesectionofthisdocument.

3. Onthedevice,logontotheGoogleAccountyouusedwhencreatingtheGoogleCalendar.ThiswillnotifyVideoKioskoftheexistenceoftheGoogleCalendarandaddittotheVideoKiosklistofschedules.

4. ConfigureVideoKioskwiththelocationoftheschedule.GotoVideoKioskSettings>Schedule>UseacalendarorscheduleandselecttheGoogleCalendarastheschedulelocation.

5. Choosethedevicebehaviorwhennoscheduleeventoccurs.Thedefaultistodisplayablankscreen.Toplaytheclockinstead,gotoVideoKioskSettings>Schedule>DisplayClockandsettoon.YoucanchangetheclockcolorusingtheVideoKioskSettings>Schedule>ClockColorsetting.Youcanchangetheclockformat(12hourAM/PMversus24hour)intheSystemSettingsforthedevice.

6. ChoosewhetherthescheduleeventcontrolsthedisplaybysettingtheScheduleSettingDisplaystate.Alwayson-thescheduleeventsdonotturnthedisplayoffOnforevents,otherwiseoff-thescheduleeventwillturnthedisplayonOffforevents,otherwiseon,thescheduleeventwillturnthedisplayoff.

7. ChoosehowoftenVideoKioskchecksforchangestotheschedule.Thedefaultisevery30seconds.YoucanchangetheclockcolorusingtheVideoKioskSettings>Timers>ScheduleChecksecondssetting.

8. Ensurethatthedevice’stimeissettothecorrecttimeandcorrecttimezone.(Thismaybesetautomatically,dependingonthedevice.Formoreinformation,refertotheOwner’smanualthatcamewiththedevice.)

Video Kiosk Google Calendar Schedule examples HereisanexampleofaGooglecalendarscheduleusedbyaretailstore,displayingthecontentloopduringthestore’sopeninghours,turningthedisplayonat1000andoffat1800fromMondaytoSaturday.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

27

HereisanexampleofaGooglescheduleusedbyadojo,displayingthecontentloopwhenclassesarerunning,exceptduringthekid’sclasses.Toturncontentdisplayoffforthisoneevent,thecommand“videokiosk_display=off”isaddedtotheevent’sdescription.

Video Kiosk Calendar Command Reference Guide AndroidCalendarorGoogleCalendarmayalsobeusedtocontrolVideoKiosk’sbehavior.VideoKioskwillcheckthecalendarandexecutecommandsbasedonthetimeanddescriptionofthecalendarentry.Bydefault,atthetimeofthecalendarevent,VideoKioskwillstartplayingtheloopaccordingtohowthePlaybackOrderissetandstopplayingattheendofthecalendarevent.Tochangethisbehaviour,includethesecommandsinthedescriptionofthecalendarentry.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

28

Command Arguments Descriptionvideokiosk_display_state {alwayson,

eventon,eventoff}

Setthedisplaystatetoalwayson(scheduledeventswillnotchangethedisplay),Onforevents,otherwiseoff(scheduledeventswillturnthedisplayon,otherwisethedisplaywillbeoff),orOffforevents,otherwiseon(scheduledeventswillturnthedisplayoff,otherwisethedisplaywillbeon).Changingthiswillupdatethesettings.Ifthevideokiosk_displaycommandispresent,itoverridesthissettingforthatspecificevent.

videokiosk_path /path/to/folder SettheplaybackpathusedbyVideoKiosktotheContentfolderonthedevice.UsethepathtotheContentFolder,notafileintheContentFolder.ThiscommandisequivalenttochangingtheContentfolderintheAppbyclickingthefoldericoninthebuttonbar.Changingthiswillupdatethesettings.Ifyouwanttotemporarilychangethepath,justforthisevent,youneedtocreate2events.Thefirsteventshouldsetthetemporarypathanditshouldbefollowedimmediatelybythesecondeventthatresetstotheoriginalpath.

videokiosk_display {on,off} Turnthedisplayonoroffforthisoneevent.Thisoverridesthedisplaystatebutonlyforthisoneevent.Forexample,ifthedefaultisdisplayon,youcanturndisplayoffforspecificeventsusingthiscommand.

Examples:

• Toturncontentdisplayoffforjustoneeventaddthislinetotheeventdescription:videokiosk_display=off

• Tochangethepathtothemediafolder,addthislinetotheeventdescription:(Sincethepathdependsonthefilesystemofthedevice,checkthepathwithafilebrowseronyourdevicepriortousingthiscommand.)videokiosk_path=/mnt/sdcard/CurrentSchedule

Using an XML file to control the schedule Video Kiosk supports using an.XML file to control the schedule.

How to use an XML Schedule file TouseanXMLschedulefiletoscheduleplayback,followthesesteps:

1. InVideoKiosk>Settings>Fileandfolder>Sortby,choosePathorfirstplaylistfound.Scheduledplaybackwon'tworkwiththeSortbysettings(Path,Filenameexcludingpath,Randomshuffle).

2. InaTextEditor,createanXMLschedulefileanduseittocontrolplayback.Whenyouhavefinishededitingthefile,changethefileextensionto“.schedule”soVideoKioskwillrecognizeitasaSchedulefile.Formoreinformation,refertotheVideoKioskXMLScheduleFileSyntaxReferenceGuidebelow

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

29

3. MovetheXMLschedulefileontothedeviceorsynchronizeitusingacloudservice.Formoreinformationaboutsynchronizing,refertothe[RemoteDeviceUpdating]sectionofthisdocument

4. ConfigureVideoKioskwiththelocationoftheschedule.YoucanconfigurethelocationoftheSchedulethatyouwantintwoways,byputtingtheschedulefileinthedefaultlocationorbysettingthepathtotheschedulefileintheAppSettings.

UsetheDefaultLocation

• Tousethedefaultlocation,createaschedulefilecalled"VideoKiosk.schedule"andputtheschedulefileinthesamefolderasyourcontentfiles.VideoKioskwillautomaticallyusethisastheScheduleFile.

ConfigurethePathintheAppSettings

• GotoVideoKioskSettings>Schedule>Pathtoschedulefolderandsetthepathtotheschedulefolder.

• GotoVideoKioskSettings>Schedule>Useacalendarofscheduleandselectthescheduletouse.

5. Choosethedevicebehaviorwhennoscheduleeventoccurs.Thedefaultistodisplayablankscreen.Toplaytheclockinstead,gotoVideoKioskSettings>Schedule>DisplayClockandsettoon.YoucanchangetheclockcolorusingtheVideoKioskSettings>Schedule>ClockColorsetting.Youcanchangetheclockformat(12hourAM/PMversus24hour)intheSystemSettingsforthedevice.

6. ChoosewhetherthescheduleeventcontrolsthedisplaybysettingtheScheduleSettingDisplaystate.Alwayson-thescheduleeventsdonotturnthedisplayoffOnforevents,otherwiseoff-thescheduleeventwillturnthedisplayonOffforevents,otherwiseon,thescheduleeventwillturnthedisplayoff.

7. ChoosehowoftenVideoKioskchecksforchangestotheschedule.Thedefaultisevery30seconds.YoucanchangetheclockcolorusingtheVideoKioskSettings>Timers>ScheduleChecksecondssetting.

8. Ensurethatthedevice’stimeissettothecorrecttimeandcorrecttimezone.(Thismaybesetautomatically,dependingonthedevice.Formoreinformation,refertotheOwner’smanualthatcamewiththedevice.)

Video Kiosk XML Schedule file Syntax Guide <events> </events>

Alistofallplaybackevents Required <event>

</event> Asingleplaybackevent Requiredforevent

<week> </week>

Eventsoccursonmultipledaysoftheweek.Definedaysusingthestring“SMTWTFS”,usingthelettertoincludethedayanda“-“toskiptheday.Useall7charactersortheeventwillbeignored.

Useeither<week>or<dayofweek>foreachevent,notboth

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

30

<dayofweek> </dayofweek>

EventoccursforasingledayValidValues:SunMonTueWedThuFriSat

Useeither<week>or<dayofweek>foreachevent,notboth

<starttime> </starttime>

Thetimetheeventstarts(24hourclock,format“99:99”)

Requiredforevent

<endtime> </endtime>

Thetimetheeventends(24hourclock,format“99:99”)

Requiredforevent

<playlist> </playlist>

Aplaylisttouseforthisevent Optional

<path> </path>

Apathtouseforthisevent Optional

Video Kiosk .schedule XML file examples Theweektagisusedtodefinethesameeventoccurringonmultipledaysoftheweek,usingastringoftheformSMTWTFS,whereeachdayoftheweekusesthefirstletterofthedaysname.Ifyouwanttheeventtooccuronaday,usetheletterfortheday’sname.Ifyouwanttoskipaday,usea“-“insteadofthefirstletteroftheday’sname.It’simportantthatthestringalwayscontainsall7characters.Ifyouuseanyothernumberofcharacters,theeventwillbeignored.

Forexample,

• AneventthatoccursMondaythroughFridaywouldusethestring“-MTWTF-“• Aneventthatoccursonlyontheweekendwouldusethestring“S-----S”• AneventthatoccursonMonday,WednesdayandFridaywouldusethestring“-M-W-F-“

HereisanexampleofanXMLfilethatcontainstwoevents,thefirstdisplayingthemorningplaylistweekdaymorningsfrom06:00to11:59andtheseconddisplayingtheafternoonplaylisteveryafternoonfrom12:00to20:59:

<?xml version=”1.0″ encoding=”UTF-8″?> <events> <event> <week>-MTWTF-</week> <starttime>06:00</starttime> <endtime>11:59</endtime> <playlist>morning.m3u8</playlist> </event> <event> <week>SMTWTFS</week> <starttime>12:00</starttime> <endtime>20:59</endtime> <playlist>afternoon.m3u8</playlist> </event> </events>

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

31

Thedayofweektagisusedtodefineaneventoccurringononedayoftheweek.Thevaluestouseforthedaysoftheweekare:

Sun,MonTueWedThuFriSat

Forexample,aneventthatoccurseachMondaywouldusethestring“Mon“

HereisanexampleofanXMLfilethatcontainstwoevents,thefirstdisplayingthemorningplaylistonMondaymorningsfrom0600to1159andtheseconddisplayingtheafternoonplaylistThursdayafternoonsfrom1200to2059:

<?xml version=”1.0″ encoding=”UTF-8″?> <events> <event> <dayofweek>Mon</dayofweek> <starttime>06:00</starttime> <endtime>11:59</endtime> <playlist>morning.m3u8</playlist> </event> <event> <dayofweek>Thu</dayofweek> <starttime>12:00</starttime> <endtime>20:59</endtime> <playlist>afternoon.m3u8</playlist> </event> </events>

FormoreinformationaboutXMLSchedulefilesandtodownloadasamplekit,refertothetutorialsat:

http://burningthumb.com/apps/video-kiosk/tutorials/

Controlling Playback using device location Youcancontrolplaybackusingthedevicelocation,definedbyGeofences.Geofencescanbespecifiedintwoways:

• VideoKiosk.locationXMLfiles• GeoJSONwithVideoKioskExtensions

It’simportanttoconsideroverlappingGeofences,inthecasewhereGeofencesoverlap,andadeviceislocatedintheoverlappingarea,VideoKioskwillchoosetheplaylistfromthesmallerofthetwoareas.Ifthetwoareasarethesamesize,VideoKioskwillchoosetheplaylistfromthefirstarea.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

32

Location XML file VideoKioskwillselectaplaylistbasedonthelocationofthedeviceandtheGeofencesdefinedina.locationXMLfile:

1. InaTextEditor,createanXMLlocationfile(s)andusethemtocontrolplayback.Formoreinformation,refertotheVideoKioskLocationSyntaxReferenceGuidebelow

2. SelectVideoKiosklocationfilethatdefinestheGeofencesyouwanttouse.Youcanselectthelocationsthatyouwantintwoways,byputtingthelocationfileinthedefaultmediafolderorbysettingthepathtothelocationfilesintheAppSettings

ConfigurethePathintheAppSettings

• GotoVideoKioskSettings>Location>Pathtolocationfolderandsetthepathtothelocationfolder.

• GotoVideoKioskSettings>Location>UseGeofencelocationsandselectthelocationfiletouse.

Video Kiosk .location file Syntax Guide <fences> </fences>

AlistofallGeofences Required

<fence> </fence>

AsingleGeofence Required

<name> </name>

ThenameoftheGeofence Required

<circle> </circle>

AcircularGeofence.DefinesaGeofencewithacenterandaradius.NoteyoushouldselectacircleORapolygonbutnotboth.

Optional

<lng> </lng>

ThelongitudeofthecenterpointofthecircularGeofence

Requiredforcircle

<lat> </lat>

ThelatitudeofthecenterpointofthecircularGeofence

Requiredforcircle

<radius </radius>

Theradius,inmeters,ofthecircularGeofence

Requiredforcircle

<polygon> </polygon>

DefinesaGeofencesasaseriesofpoints.Eachpolygonmusthaveaminimumof3points..NoteyoushouldselectacircleORapolygonbutnotboth.

Optional

<point> </point>

Onepointinapolygon <lng>

</lng> ThelongitudeoftheapointofthepolygonGeofence

Requiredforpoint

<lat> </lat>

ThelatitudeofapointofthepolygonGeofence

Requiredforpoint

<playlist> </playlist>

AplaylisttousewhenthedeviceisgeographicallylocatedinthisGeofence

Required

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

33

Location XML Example BelowisanexampleoftheXMLrequiredtocreatea1kmcirculargeofenceintheWestEndofVancouver,BC,Canada.

<?xml version=”1.0″ encoding=”UTF-8″?> <fences> <fence> <name>WestEnd</name> <lat>49.28768</lat> <lng>-123.1350</lng> <radius>1000</radius> <playlist>westend.m3u8</playlist> </fence> </fences>

GeoJSON file VideoKioskwillselectaplaylistbasedonthelocationofthedeviceandtheGeofencesdefinedina.geojsonJSONfile:

1. Onthewebsitegeojson.iocreatethemapthatyouwishtouse. 2. Addtheextra,required,fieldsnameandplaylisttoeachpolygononyourmap 3. Savethefile(s)asGeoJSON(.geojson)andusethemtocontrolplayback.Formore

information,refertotheVideoKioskGeoJSONSyntaxReferenceGuidebelow 4. SelectVideoKiosklocationfilethatdefinestheGeofencesyouwanttouse.Youcanselect

thelocationsthatyouwantintwoways,byputtingthelocationfileinthedefaultmediafolderorbysettingthepathtothelocationfilesintheAppSettings

ConfigurethePathintheAppSettings

• GotoVideoKioskSettings>Location>Pathtolocationfolderandsetthepathtothelocationfolder.

• GotoVideoKioskSettings>Location>UseGeofencelocationsandselectthelocationfiletouse.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

34

Video Kiosk .location file Syntax Guide SinceJSONisnotashumanreadableasXML,itisstronglyrecommendedthatyouusethewebsitegeojson.iotocreateandedityour.geojsonfiles.Inadditiontothestandardgeojsongeneratedwhenapolygoniscreatedonthissiteyouneedtoaddthefieldsnameandplaylist:

• nameisauniquestringthatisusedtonamethepolygon.• playlististhefilename(notthefullpathjustthefilenamepartofthepath)oftheplaylist

thatyouwanttouse.

Belowisanexampleofthegeojsoncreatedatgeojson.iowiththeextrafieldsadded.

{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "stroke": "#555555", "stroke-width": 2, "stroke-opacity": 1, "fill": "#555555", "fill-opacity": 0.5, "name": "westend", "playlist": "westend.m3u8" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -123.14892768859862, 49.28925041973686 ], [ -123.1377696990967, 49.2766528015807 ], [ -123.11536788940428, 49.29014612779744 ], [ -123.13339233398438, 49.296527576688376

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

35

], [ -123.14892768859862, 49.28925041973686 ] ] ] } } ] }

Motion Detection Withdevicesthathaveacamera,VideoKioskcanusethecameratodetectmotionandstartplaying.Itwillstopplayingmediaifnomotionisdetectedforthespecifiedtimeout.

1. ConfigureVideoKioskmotiondetection.GotoVideoKioskSettings>Schedule>Detectmotionandconfigurethebehaviorwhenmotionisdetected.ForinformationonSettings,referto[ConfiguringtheSettings,p.77]

Monitoring Battery State Somedevices,notablytablets,havebatteries.YoucanconfigureVideoKiosktoplaycontentbasedonthepercentagebatterychargeremainingandwhetherornotthebatteryischarging(i.e.thedeviceispluggedintoacharger).

1. ConfigureVideoKioskbatterymonitoring.GotoVideoKioskSettings>Schedule>Monitorbatterychargeandconfigurethebehaviorwhenthebatteryisnotchargingandwhenthebatterychargeislow.ForinformationonSettings,referto[ConfiguringtheSettings,p.77]

Changing the Playback Mode UsuallythePlaybackModeissetto“Playnext”,andVideoKioskplaysthenextmediaitemwhenthecurrentmediaitemfinishes.However,youcanchangethisbehaviourtoplaytheprevious,topauseafterplayortoloopplayandrequireaswipeeventtocontinue.

Tochangetheplaybackmode,

1. GotoVideoKioskSettings>InteractivePlayback>Mode

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

36

andsetthePlaybackMode.ForinformationonSettings,referto[ConfiguringtheSettings,p.77]

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

37

Controlling the Display Displayfeaturescontrolhowyourcontentlooksonthedevice.DigitalSignageWidgetsfeaturesareusedtoconfigureandcustomizethesplitscreenwhenusingSplitScreenMode.Overlaysandbackgroundsareusedtodisplaybackgroundsbehindmediafilesandoverlaysinfront.Youcanalsocustomizethetimeimagesaredisplayed,configuretimerstofadebetweenmediafilesandchangethescreenorientation.

ForinformationonSettings,referto[ConfiguringtheSettings,p.77]

View Options - Screen Orientation, Timers and Transitions

Screen orientation VideoKioskallowsyoutosetthescreenorientationforjustthemediaplaybackscreen.Theotherviews,suchassettings,arenotaffected.(Ifyouwanttochangeallthevieworientations,youcanusethedeviceSystemSettings).Thesupportedorientationsare:

• Default• Landscape• Portrait• ReverseLandscape• ReversePortrait

Tochangethescreenorientation,gotoVideoKioskSettings>ViewOptions.

Image Display Options

Image Display Time Ifyourmediafolderincludesstillimages,eachonewillbedisplayed,bydefault,for30seconds.

• Toincreaseordecreasethedefaultdisplaytime,gotoVideoKioskSettings>Timers>Imagedisplaytimeandchangethedisplaytime(inseconds).

• Ifyousetthetimeto0,VideoKioskwilldisplayanimageandthenpauseuntilthescreenistouched.Youcanusethisfeaturetopausethemedialoopandwaitforuserinteractionpriortocontinuing.

• Tooverridethedefaultdisplaytimeforindividualimages,refertothe"ControllingDisplayusingfilenam"sectionofthisdocument.Asanexample,youmightwanttodothisifthereisalotoftextononeslideandyouwanttogiveviewersmoretimetoreadit.)

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

38

Image Fade Time Note:RequiresAndroidv4.2orlater

Ifyourmediafolderincludesstillimages,eachonecanfadeinandfadeoutoversomenumberofmilliseconds.Toincreaseordecreasethisfadetime,gotoVideoKioskSettings>Timers>Imagefadetimeandchangethedisplaytime(inseconds).

Other Image Display Options VideoKioskprovidessettingsforhandlingimages,suchas:

• ImageViewScaleType–supportsmanyscalingoptions,suchas:o PanandZoom(KenBurns)effect,o FitXY,FitStart,FitCenter,FitEndo Center,CenterCrop,CenterInside

• Imageresizing–scalesimagestofitrotatedscreen• JPGdithering–useditheringwhendecoding• UsetheEXIFOrientationMETAdatatocontrolimagerotation–Rotateimagesbasedon

EXIFOrientationinfilemetadata• Controllingmaxmegapixels–reducesqualityofimageslargerthanyourmaxlimit

Tochangetheimagesettings,gotoVideoKioskSettings>ViewOptions.

Video Display Options

Video Fade Time Note:RequiresAndroidv4.2orlater

Ifyourmediafolderincludesvideofiles,eachvideocanfadeinandfadeoutoversomenumberofmilliseconds.Toincreaseordecreasethisfadetime,gotoVideoKioskSettings>Timers>Videofadetimeandchangethedisplaytime(inseconds).

NOTE:Fadingvideoisresourceintensive.OnlowendAndroidsticksenablingVideofadingcanresultinchoppyvideoplayback.Ifyouexperiencechoppyvideoplayback,settheVideofadetimebackto0.

Other Video Display Options VideoKioskprovidesoptional4KDisplaysupport,whichenablesthe4Kdisplaysupportprovidedbytheparticulardevice.Formoreinformation,refertoSettings>ViewOptions>RequestBestResolutionintheSettingssectionofthisdocument.

Using textured video views and / or pause playback to reduce black flash PleasenotethatsomeMP4videoencodingsdonotworkwithtexturedvideoviewsandyoumaygetablankorgreenscreenduringplayback.Ifthishappens,youneedtoturnofftexturedvideoviews.

Thechipsetinsomedevices,typicallyAmlogic-based,displayablackflashbeforeandafterplayingeachvideo.Thisisbecausethe3Drenderingpipelineisusedtodisplaystandardvideoviews.Asan

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

39

alternative,youcanusetexturedvideoviews,whichusethe2Drenderingpipeline,toreduceoreliminatethisblackflash.Pleasenotethatusingthe2Drenderingpipelineisslowersoonsomelow-enddevicesenablingthissettingcanresultinchoppyplayback.OnAndroidv4.2andlater,youcanenablethissettingtoreduceoreliminatetheblackflash.Todothis,gotoVideoKioskSettings>ViewOptions>Usetexturedvideoviewsandcheckthecheckbox.

Inaddition,whenVideoKioskreachestheendofavideo,itinvokesthemethodStopPlayback()whichcanalsoresultinablackflashonsomeAmlogicbaseddevices.YoucanconfigureVideoKiosktousePause()insteadofStopPlayback()whicheliminatesthissecondsourceofblackflashesonsomedevices.TodothisgottoVideoKioskSettings>ViewOptions>Pauseplaybackandcheckthecheckbox.Unfortunately,onsomedevices,enablinghissettingcanresultinplaybackerrorssobecarefulandonlyenablethissettingifyouarestillgettingblackflashesafterenablingtexturedvideoviews.

Web Display Options

Web Fade Time Note:RequiresAndroidv4.2orlater

Ifyourmediafolderincludesstill.urlfiles,eachwebpagecanfadeinandfadeoutoversomenumberofmilliseconds.Toincreaseordecreasethisfadetime,gotoVideoKioskSettings>Timers>Webfadetimeandchangethedisplaytime(inseconds).

Other URL Display Options VideoKioskprovidessettingsforhandlingmedia,suchas:

• PreloadURLs–LooksaheadandpreloadsURLfilesinthebackground

Tochangethemediahandlingsettings,gotoVideoKioskSettings>ViewOptions.

Split Screen Display VideoKiosksupportsSplitScreenDisplay,whichsplitstheplaybackscreeninto4areas,A,B,CandD,allowingyoutorunvideo,imagesorwebcontentinareaA,whileyourunwidgetsorwebcontentinareaB,C,D.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

40

Eachareahasadefaultitwilldisplay.Whensplitscreenmodeisenabled,thefollowingwillbedisplayed:

• AreaAwilldisplayyourvideocontent• AreasB,CandDwilldisplayyourbackground,orablackscreenifnobackgroundis

configured

Configuring the Split Screen Display ToenableSplitScreenmode,

1. Ifyouhaven’talreadydoneso,enableWidgetMode.GotoVideoKioskSettings>Widgets>Enablewidgetsandcheckthecheckbox.VideoKioskwillre-launchanddisplaya4-panelsplitscreen.

2. ConfigureVideoKioskAreasB,CandDwiththewidgets|URLstodisplay.(Youcanusethebuilt-inwidgetsorathird-partywidget.)ForeachofAreasB,CandD,gotoVideoKioskSettings>Widgets>ChooseAreaxWidgetandselectandconfigurethewidget(s)andURL(s)todisplay.Eachwidgetareacandisplaymultipleappwidgetsand/orwebURLrenderedcontent.ThewebURLcanbeanyvalidprotocolincludinghttp://,https://(remotecontent)andfile://(localcontent).Addanyotherwidgetsand/orwebURLstobedisplayedinthatArea.Optionally,entertheamountoftime,ifitisdifferentthanthedefaultvalue,todisplayitinminutes.

3. Optionally,configurethe“MonitorInternet”feature.IfyourwidgetsaredependentontheInternet,theymaybehaveinanunexpectedmannerifInternetconnectionislost.YoucanconfigureVideoKiosktomonitortheInternetandreturntofullscreenmodewhenInternetconnectionislost.Toenablethisfeature,gotoVideoKioskSettings>Widgets>MonitorInternet,andtickthebox.

4. Optionally,configurethe“Arrangeinrows”option.Thedefaultistoarrangeyourwidgetsincolumns.

5. Optionally,adjustthewidgetarealayoutandthewidgetareapadding.Formoreinformation,refertothe“CustomizingWidgetAreas”sectionbelow.

To Return to Full Screen Mode ToreturntoFullScreenMode,

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

41

1. GotoVideoKioskSettings>Widgets>Enableanduncheckthecheckbox.VideoKioskwilldisplayfullscreen.

Customizing Widget Area Layout YoucanusetheVideoKioskdefaultlayout,oryoucancustomizethelayoutbyaddingorremovingpaddingbetweentheareasorbychangingthesizeofthewidgetareas.

Adjusting Widget Area Size WidgetAreaSizeistheboundariesofthefourAreas(AreasA,B,CandD)includingtheareausedbythewidgetandthepadding.

BydefaultVideoKioskassumesa1080pdisplayinlandscapeorientationwithascreenresolutionof1920x1080.Thehorizontalweightsare1426and494andtheverticalweightsare800and280.Soona1080pdisplaythepixelsizeswillbeasfollowsAreaA:1426x800,AreaB:494x800,AreaC:1426x280andAreaD:494x280.Thebestwaytounderstand|usethelayoutweightsistodeterminethehorizontalwidthandverticalheightofyourdisplaybasedonitsorientationandthensettheweightstothenumberofpixelsthatyouwantinyourlayout.

Toadjustawidget’sareasize,

1. GotoVideoKioskSettings>Widgets>Horizontallayoutandadjustthehorizontalweightforthewidget’sarea.

2. GotoVideoKioskSettings>Widgets>Verticallayoutandadjusttheverticalweightforthewidget’sarea.

Adjusting Widget Area Padding PaddingistheareabetweentheWidgetareaboundariesandthesidesoftheWidget.Eachwidgetareahasadefaultpaddingamountwhichallowsthebackgroundtoshowthroughbetweenthewidgetareasandalignsthewidgetwithinthearea.Ifyou’dliketochangeawidget’splacementslightlywithinit’sarea,usethepaddingfeature.Pleasenotethatthepaddingcanbebothpositiveandnegative.ForwebURLcontent,additionalpaddingandformattingmayneedtobeincludedinthehtmldescriptionofthecontent.

Toadjustawidget’spadding,

1. GotoVideoKioskSettings>Widgets>AreaXPaddingandadjustthepaddinginthewidget’sarea.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

42

Example: Customizing Widgets

Inthisisanexample,thedefaultwidgetarealayoutanddefaultwidgetpaddinghasbeenused.

Inthisexample,thedefaultwidgetarealayoutisusedandthepaddingforAreaAandAreaDhavebeenincreased.

Inthisexample,thedefaultwidgetpaddinghasbeenused.ToallowAreaAtousetheentirewidthofthescreen,thehorizontalweightofAreaBhasbeensettoO,whilethehorizontalweightofAreaAhasbeensettothemaximumforthescreenresolution.

Widget Considerations

Where to find widgets • VideoKiosksupportsbuiltinwidgetsforRSS,DateandTime,Imagefolder,andURL• BurningthumbStudioshasdevelopedsomeAppWidgetsandHTML5/CSS/Javascript

widgetsspecificallyfordigitalsignage.Formoreinformation,gotohttp://burningthumb.com/apps/video-kiosk/video-kiosk-add-ons/

• WidgetsareavailablefromtheGooglePlayStore.• Youcandevelopyourownwidgetsandsideloadthemontothedevice.

Widget Readability BecauseAreasB,CandDareofdifferentsizes,youneedtogivesomeconsiderationtohowwellthewidgetwillbeseenwhenplacingthewidgetinoneoftheareas.Whendecidingonwhichareatoplaceawidget,considerhowthewidgetwasintendedtobedisplayed(landscape,portraitor

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

43

square),thedevice’sdisplaysize(TVortabletorphone)andhowfarawaytheviewerwillbefromthescreen.

Using the Built-in Video Kiosk Widgets Version7.1.0ofVideoKioskincludesasetofbuiltinwidgets.TheseincludeDateandTime,ImageFolder,URL,andRSSwidgets.

Whenyoupickabuilt-inwidget,thesettingsforthatwidgetisdisplayed.YoucanconfigurethewidgetusingthesesettingsorusinganXMLfile.FormoreinformationaboutusinganXMLfile,refertoAppendixC–BuiltinWidgetXMLSettings.

Date and Time Widget

UsetheDateandTimewidgettodisplaytheDateand/ortheTimeandanoptionalgroupofimagesfromafolder.Whenyoupickthewidget,thesettingswillbedisplayed.

DateandTimeWidgetSettingsXMLSettings–pathtoafilecontainingXMLsettingsforthewidgetImagefolder–pickthefolderthatcontainsthebackgroundimagesImagedisplaytime–thetime,inseconds,todisplayeachimageTimefontsize–thefontsizeofthetimeTimeswitch–turnonoroffthedisplayofthetimeDatefontsize–thefontsizeofthedateDateswitch–turnonoroffthedisplayofthedateFontcolor–thefontcolor

Image Folder Widget

UsetheImageFolderwidgettodisplayagroupofimagesfromafolder.Whenyoupickthewidget,thesettingswillbedisplayed.

ImageFolderWidgetSettingsXMLSettings–pathtoafilecontainingXMLsettingsforthewidgetImagefolder–pickthefolderthatcontainsthebackgroundimagesImagedisplaytime–thetime,inseconds,todisplayeachimage

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

44

URL Widget

UsetheURLwidgettodisplayalocalfile://orremotehttp://HTML/CSS/Javascriptbasedwidget.Whenyoupickthewidget,thesettingswillbedisplayed.

URLWidgetSettingsXMLSettings–pathtoafilecontainingXMLsettingsforthewidgetURL–thelocalfile://orremotehttp://URLtodisplay

RSS Widget

UsetheRSSwidgettodisplayalistofRSSNewsfeedsfromremoteservers.Whenyoupickthewidget,thesettingswillbedisplayed.

RSSWidgetSettingsXMLSettings–pathtoafilecontainingXMLsettingsforthewidgetKind–oneofTall|Wide|MarqueeNextdownloadhours–thenumberofhourstowaitbetweenloadingthefeedfromtheserverNextURLminutes–thenumberofminutestowaitbetweendisplayingfeedsMaxdocumentitems–themaximumnumberofnewsitemstodisplayperfeedNextitemseconds–thenumberofsecondstowaitbetweendisplayingdocumentitemsTitlefontsize–thefontsizeoftheitemtitleDescriptionfontsize–thefontsizeoftheitemdescriptionFontcolor–thefontcolorHidewhenvalueis–ifthetitleordescriptioncontainthisvalue,theywillbehiddenJustifytitle–oneofLeft|Center|RightandonAndroidv8orlaterFullJustifydescription-oneofLeft|Center|RightandonAndroidv8orlaterFullBackground–atintcolorandpathto1or2backgroundimages(theyrotateeveryhour)Feeds–thelistofRSSFeedURLs

Overlays VideoKiosksupportsanoverlayfilewithtransparency(.pngformatwithafilenamethatendin.overlay.png),whichisdisplayedinfrontofthecurrentlydisplayedmedia,withorwithouthotspots.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

45

• AnOverlayisoftenusedtooverlayagraphicoverpartofthedisplay,suchasalogointhecornerofthescreen.InVideoKiosk'sdemoslideshow,theproductlogoisshowninthebottomcornerofeachslide.

• AnOverlaywiththeadditionofhotspotsisusedtoturnyourdeviceintoaninteractive

kiosk.Forexample,inVideoKiosk'sdemoslideshowonaninteractivetablet,theproductlogoisshowninthebottomcornerofeachslide.Ifyoutouchthelogo,VideoKioskwilltakeyoutotheVideoKioskpageontheBurningthumbwebsite.

How to use an overlay file TouseanOverlay,followthesesteps:

1. Createanoverlayfile.CreateaPNGfilewiththesameframesizeasyourdisplay.Forexample,ifyouareusinga720pdisplay,youwouldcreateaPNGfilethatis1280×720insize.SomewhereinthePNGfileputyourlogo,orwhateverimageyouwanttousetooverlaythevideo.Endthefilenamein.”overlay.png”sothatVideoKioskrecognizesitasanoverlayandnotasanimagetodisplayaspartofthecontentloop.

2. Movetheoverlayfileontothedeviceorsynchronizeitusingacloudservice. 3. VideoKioskassumesyou'veputtheOverlayfileintheContentLoopfolder.Ifyou'veputit

somewhereelse,configureVideoKioskwiththelocationoftheoverlayfile.GotoVideoKioskSettings>Overlay>PathtoOverlayfolderandsetthepathtotheoverlayfolder.

4. GotoVideoKioskSettings>Overlay>Overlayfileandselecttheoverlaytouse.5. Optionally,iftheoverlayimageisadifferentsizethanthescreendimensionsyoumaywant

toadjustthescaletypeusingVideoKioskSettings>Overlay>Overlayimagescaletype

VideoKioskwilloverlayyourmediawiththecontentoftheoverlayfile.

Interactive Hotspots VideoKiosksupportsusingahotspotxmlfile,withhotspotsand/orkeycodesdefined,toallowtheusertointeractwiththedevice.Interactionscanalsobetracked.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

46

Using Hotspots to control interaction behavior AhotspotisarectanglesomewhereonthescreenorakeycodeanditsassociatedURL|App.Whenthehotspotisactivated,theURLwillbedisplayedusingtheintegratedkioskwebviewortheAppwillbelaunchedasanewactivityontopofVideoKiosk.(TheURLcanpointtoafileonthedeviceorafileontheInternet).

Using a Hotspot to open a Web Page WhenthehotspotassociatedwithawebURLisactivated,thewebpagewillbedisplayedinanintegratedwebviewthatlimitstheuserswebbrowsingtotheURLyouspecifiedinthehotspots.Toensureyourkioskisshowingyourcontentloop,VideoKioskmonitorshowlongthedevicehasbeendisplayingthehotspotwebcontentandreturnstoshowingyourcontentloopafteraconfigurableamountoftime.Thisensuresthataninteractivedeviceabandonedbyauserwhiledisplayingwebcontentreturnstoshowingyourcontentloop.YoucanchangethisinactivitytimeoutintheVideoKiosksettings.

Using a Hotspot to open an App WhenahotspotassociatedwithanApppackagenameisactivated,theAppwilllaunchandVideoKioskwilllosecontrolofthedeviceuntilthebackbuttonorhomebuttonisusedtoreturntoVideoKiosk.

IfyouplantouseahotspotassociatedwithanApppackagename,thereisnoautomaticmechanismthatensuresadeviceabandonedbyauserwillreturntotheloopandtheusermusttakespecificactiontoreturntoVideoKiosksothattheloopcontinuestoplay.

Activating Hotspots Hotspotsareactivatedeitherbyascreentouchorbypressingthekeyassociatedwithapre-assignedkeycodeonthekeyboardorremotecontrol.

AkeycodeistheAndroidkeycodethatcorrespondswithanindividualkeyonaninputdevice.WhenthekeyonthedevicethatcorrespondstotheAndroidkeycodeistouched,theURLwillbedisplayedusingtheintegratedkioskwebviewortheAppwillbelaunchedasanewactivityontopofVideoKiosk.Formoreinformation,refertothe"ControllingtheDevice"sectionofthisdocument.

Using Hotspots with Split Screen Mode IfyouareusingVideoKioskinsplitscreenmode,youcanspecifytheURL|AppforeachAppWidget.VideoKioskwillfirstlookatAppWidgetsconfiguration,anduseanyvaluesfoundtherewhilefallingbacktotheXMLfileconfigurationifnothingwasspecifiedfortheAppWidget.

Interaction Tracking Videokioskcantrackinteractionswithhotspots.IfyouwantVideoKiosktotrackinteractions,specifyaninteractionkey.Toreportoninteractions,enableinteractionreportingontheVideoKioskmanagementinterface.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

47

IfyouareusingVideoKioskinsplitscreenmode,youcanspecifytheinteractionkeyforeachAppWidget.VideoKioskwillfirstlookatAppWidgetsconfiguration,anduseanyvaluesfoundtherewhilefallingbacktotheXMLfileconfigurationifnothingwasspecifiedfortheAppWidget.

Defining Hotspots DefineeachhotspotanditsassociatedwebURLorApppackagenameusinganoverlayfile(whichdisplaysthehotspotstotheuser)andanoverlayhotspotxmlfile(whichtellsVideoKioskwhattodowhenaparticularhotspotisactivated).

How to create an overlay xml Hotspot file Tousehotspots,followthesesteps:

1. Ifyouhaven’talreadydoneso,createan.overlay.pngfile.(seeabove)2. InaTextEditor,createanXMLHotspotfileanduseittocontrolinteractionbehavior.When

youhavefinishededitingthefile,changethefilenametothesamenameasyouroverlayfileandchangetheextensionto“.xml”soVideoKioskwillrecognizeitasthehotspotfilethatgoeswiththeoverlayfile.Forexample,ifyouroverlayfileiscalled“videokiosk.overlay.png”,nameyourXMLhotspotoverlayfile,“videokiosk.overlay.png.xml”.Formoreinformationaboutthexmlfilesyntax,refertotheVideoKioskXMLHotspotFileSyntaxGuidebelow

3. MovetheXMLhotspotfileontothedeviceorsynchronizeitusingacloudservice.PuttheXMLhotspotfileinthesamefolderastheOverlayfilesothatVideoKioskwillfinditautomatically.

4. Optionally,configurethetimeoutfortheWebViewinVideoKiosk.Ifauserofaninteractivedeviceleaveswhilethedeviceisstilldisplayingwebcontent,VideoKioskwillreturntoyourcontentafter30seconds.Toincreaseordecreasethiswaittime,gotoVideoKioskSettings>Overlay>WebActivitytimeoutandchangethetimeout(inseconds).Formoredetailedinformationaboutusingthissetting,referto[ConfiguringtheSettings,p.77]

5. Optionally,disableWebViewnavigation.Note:IfyoudisableWebViewnavigation,youareresponsibleforbuildingnavigationintoyourwebpage(s),includinginvokingthemethodwindow.VideoKiosk.closeWebView();toreturntoVideoKiosk’smedialoopplayback.Formoredetailedinformationaboutusingthissetting,referto[ConfiguringtheSettings,p.77]

6. IfyouareusingVideoKioskinSplitScreenmodeandhaveconfiguredtheXMLfiletousethe<widgetarea></widgetarea>tag,thenconfiguretheURL|AppandinteractionkeyforeachAppWidgetthatyouaddtoeachWidgetArea.Ifyoudon’tconfigurethoseitemsintheWidgetAreaconfiguration,VideoKioskwillusetheconfigurationfromtheXMLfile.Note:IfyouareusingWidgetAreastodefinetheURL|Appyoushouldalignthehotspotssothattheyappearoverthewidgetareas.Thisisnotrequired,butitprobablymakesthemostsensetodoitthisway.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

48

Video Kiosk XML Hotspot file Syntax Guide <hotspots> </hotspots>

Alistofhotspots <hotspot>

</hotspot> Asinglehotspot.Tobeactive,each

hotspotrequiresadestinationurlorappisspecifiedandthatanactivatingrectangleand/orkeycodeisspecified.

<url> </url>

DestinationwebURLusedforasinglehotspot

<app> </app>

DestinationAppbundleidentifierusedforasinglehotspot.Thespecialvaluebuiltin.wifiwillopenabuilt-inWIFIconfigurationActivity.

<command> </command>

Ahotspotcommandcanbeoneofthefollowing:pause–playbackwillpauseresume–playbackwillresumenextfile–gotothenextfilepreviousfile–gotothepreviousfilenextfolder–gotothenextfolderpreviousfolder–gotothepreviousfolder

<depth> </depth>

Whenusingthecommandsnextfolderandpreviousfoldercommands,thisintegervaluelimitshowmanyfoldersdeeptolook.Thisallowsyoutocontrolwhethersub-foldersareconsiderednextorpreviousfolders.ValidValues:0-nextisnextfolderatsamefolderlevel1-Nextfolderisnextsub-folderinsidethefolder2-Nextfolderisnextsub-folderinsidethesub-folder

<widgetarea> </widgetarea>

LookatthespecifiedWidgetArea(B|C|D)fortheurl,app,andinteractionkey.ThevalueswillbeselectedbasedonthecurrentwidgetbeingdisplayedintheWidgetArea.IfvaluesarefoundintheWidgetconfiguration,usethem.Oherwiseusetheonesspecifiedinthisfile.

<keycode> </keycode>

TheAndroidkeycode,usedtoactivateahotspotusingakeyboard

<rect> </rect>

Thescreenrectangleforthehotspotdefinedusingnumbersbetween0and1asafractionofthescreen

<top> </top>

Rectangletop <left>

</left> Rectangleleft

<bottom> </bottom>

Rectanglebottom <right>

</right> Rectangleright

<interactionkey> </interactionkey>

(Optional)Astringthatidentifiesthehotspot.Ifthistagisset,theinteractions

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

49

forthehotspotwillbecountedandreported.Ifthistagisnotset,theinteractionsforthehotspotwillnotbecounted.

<password> </password>

(Optional)ASHA512encodingofthepasswordthatmustbeenteredtoaccessthisAPPorURL

<pinned> </pinned>

(Optional)AbooleanthatdeterminesifVideoKiosktriestokeepthelaunchedApppinned.Thedefaultvalueisfalse.OnAndroid9settingthevaluetotruehasnoeffectbecauseAndroidv9requiresanewtaskwhichwillresultinthedisplayunpinning.

Hotspot .xml file example FormoreinformationaboutoverlaysandXMLHotspotfilesortodownloadasamplekit,refertothetutorialsat:

http://burningthumb.com/apps/video-kiosk/tutorials/

Hereisanexampleofwhatafilethatcontains2hotspotscouldlooklike.

• Thefirsthotspot’sdestinationistheURL“http://burningthumb.com”.Itcanbetriggeredbytouchingthehotspotrectangleorbypressingthekeycorrespondingtokeycode51.TheinteractionstothishotspotarecountedandreportedintheManagementReportwiththeidentifyingstringof“burningthumb”.

• Thesecondhotspot’sdestinationistheApp“Calculator2”.Itcanbetriggeredbytouchingthehotspotrectangleorbypressingthekeycorrespondingtokeycode29.TheinteractionstothishotspotareneithercountednorreportedintheManagementReport.

<?xml version="1.0" encoding="UTF-8"?> <hotspots> <hotspot> <url>http://burningthumb.com</url> <rect> <top>0.55</top> <left>0.05</left> <bottom>0.95</bottom> <right>0.45</right> </rect> <keycode>51</keycode> <interactionkey>burningthumb</interactionkey> </hotspot> <hotspot> <app>com.android.calculator2</app> <rect> <top>0.55</top> <left>0.55</left> <bottom>0.95</bottom> <right>0.95</right> </rect> <keycode>29</keycode> </hotspot> </hotspots>

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

50

Hotspot .xml file Verification help Tohelptestanddebugyour.xmlfile,VideoKioskhasanoptionalsettingyoucanusetohighlightyourhotspotsonyourscreensothatyoucanensuretheyareinthecorrectplaceandfunctioningasexpected.Remembertoturnthisfeatureoffbeforereleasingthedevicetousers.

Toturnverificationmodeon

1. GotoVideoKioskSettings>Overlay>Highlighthotspotsandcheckthecheckbox.

Toturnverificationmodeoff

1. GotoVideoKioskSettings>Overlay>Highlighthotspotsanduncheckthecheckbox

Background Images and Audio Backgroundfeaturescontroltheimageoraudiobehindyourcontent.

Background Images VideoKiosksupportsbackgroundimagesthatwillbedisplayedbehindyourmediaasitisplayingandbehinddigitalsignage.Youcanusenobackgroundimage(thedefault),onebackgroundimage,orcyclebetweenanumberofbackgroundimages.

Touseasinglebackgroundimage,followthesesteps:

1. Createabackgroundimagefileinpngorjpgformat.Werecommendyoumakeitthesamesizeasyourscreen(e.g.1280×720insize).

2. ConfigureVideoKioskwiththelocationofthebackgroundfile.GotoVideoKioskSettings>Background>PathtoBackgroundfolderandsetthepathtothebackgroundfolder.

3. GotoVideoKioskSettings>Background>Backgroundfileandselectthebackgroundfiletouse.

Tocyclethroughanumberofbackgrounds,followthesesteps:

1. Createthebackgroundfilesinpngorjpgformat.Werecommendyoumakeitthesamesizeasyourscreen(e.g.1280×720insize).

2. ConfigureVideoKioskwiththelocationofthebackgroundfiles.GotoVideoKioskSettings>Background>PathtoBackgroundfolderandsetthepathtothebackgroundfolder.

3. GotoVideoKioskSettings>Background>NextBackgroundTimeandsetthenumberofsecondsbetweenbackgrounds.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

51

Example: Sample Configuration • Put3backgroundfiles(background-a.png,background-b.pngandbackground-c.png)inthe

backgroundfolder• SettheNextBackgroundTimeto20seconds

VideoKioskwillcyclethrougheachofthethreebackgroundimages,displayingeachfor20seconds.

Background Audio VideoKiosksupportsbackgroundaudio.YoucanplaystreamingaudiooralocalaudiofilethatVideoKioskwillplayinaloop.Bydefault,VideoKioskwilllookforalocalaudiofilenamedbackgroundaudioloop.mp3inyourBackgroundfolderandifitisfounditwillbeplayedautomaticallywithnoadditionalconfigurationrequired.

To enable background audio playback: 1. Ifyouhaven'talreadydoneso,configureVideoKioskwiththelocationofthebackground

file.GotoVideoKioskSettings>Background>PathtoBackgroundfolderandsetthepathtothebackgroundfolder.

2. Toenablebackgroundaudio,ChecktheEnablebackgroundaudiocheckbox3. ConfigureVideoKioskwiththelocationoftheaudiofile.Youcanconfigurethelocationof

thefilethatyouwantintwoways,byputtingtheaudiofileinthedefaultlocationorbysettingthelocalpathornetworkpathtotheaudiofileintheAppSettings.

UsetheDefaultLocation

• Tousethedefaultlocation,createanfilecalled"backgroundaudioloop.mp3"andputtheaudiofileinthebackgroundfolder.VideoKioskwillusethisastheBackgroundAudioFile.

ConfiguretheLocalPathintheAppSettings

• GotoVideoKioskSettings>Background>AudioURLandentertheURLofthelocalfileorclickthe"ChooseFile"buttontopickitfromtheBackgroundsFolder.

• NavigateandselectthefileandthenclickConfirmbutton

ConfiguretheNetworkPathintheAppSettings

• DeterminetheactualURLoftheaudiostream.• GotoVideoKioskSettings>Background>AudioURLandentertheURLtothe

stream.4. ClicktheDonebutton.

To disable background audio playback: 1. GotoVideoKioskSettings>Background>AudioURL2. Todisablebackgroundaudio,UnchecktheEnablebackgroundaudiocheckbox

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

52

3. ClicktheDonebutton.

Controlling Display using file name meta data OneofthewaysyoucancontrolVideoKioskisbyaddingmetadatatothefilenameofyourmediafile.Thisfeatureisusedwhenyouwanttodooneofthefollowing:

• CustomizetheImageDisplaytimeforsomeofyourimages.• DisplayTitlesasanoverlayforyourmediafiles• Wheninsplit-screenmode,displaysomeofyourimagesorvideoconfiguredtoplayinSplit-

ScreenAreaAinfullscreeninstead

Customizing the Image Display Time for one image file Youmightwanttousethisfeatureifyouwereshowingimagesandsomeneededmoretimethanothers.Forexample,ifyouhadsomephotos,withaslideinthefrontexplainingwheretheyweretaken,youmightwanttousealongerdisplaytimefortheexplanationslidetogiveyourviewerstimetoreadthetext.

Tochangetheimagedisplaytimeonanimagefromthedefaultof30secondsto45seconds,add".timeout=45."tothefilename.

Forexample,changethefilenameofvacationontheislandtext.jpgtovacationontheislandtext.timeout=45.jpg

Thatoneimagewillnowbedisplayedfor45secondswhiletherestoftheimageswillbedisplayedfor30seconds.Forexactsyntax,refertothe"FileNameMetaDataSyntaxGuide"below.

Displaying Titles in the corner of each media file TodisplayTitlesinthebottomrightofeachfile,dothefollowing:

1. GotoVideoKioskSettings>ViewOptions>ShowMedianameandenablethisfeature.2. Foreachslide,addTitlemetadatatothefilename.Forexactsyntax,refertothe"FileName

MetaDataSyntaxGuide"below.

Pleasenotethatifyoudon'tspecifyTitlemetadataforamediafile,thefilenamewillbedisplayedinthetitlebanner.Thiscanbeusefulwhentestingyourcontentloop.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

53

Switching between Split Screen and Full Screen when playing a media file WhenyouareusingSplitScreenmode,youmaywanttodisplaysomemediaitemsinfullscreeninsteadofinSplitScreenAreaA,thedefaultwhenusingsplitscreenmode.Todisplayamediafileinfullscreenmode,".fullscreen=true."tothefilename.Whenthenextmediaitemisplayed,itwillreverttoplayinginSplitScreenAreaA.

File Name Meta Data Syntax Guide Thissectionsummarizesthemetadatathatyoucanembedinthefilenameofamediaitemwhereeachpieceofmetadatausestheform:

.key=value.

Notethatthekey/valuepairissurroundedbydots.Thisisarequiredelementofthesyntax.Ifthedotsarenotpresent,VideoKioskwillignorethekey/valuepair.

Key ValueType Descriptiontimeout numeric Setthetimeoutforimages.Thisoverridesthedefault

ImageTimespecifiedinthesettings.(Validforimagesonly.VideoandWebmediaitemshavedifferentmechanismsforsettingtheirtimevalues.)

title text SetthestringthatwillbedisplayediftheViewOption>Showmedianamesettingisenabled.Note:IfatitleisnotspecifiedasmetadatainthefilenameandtheShowmedianameoptionisenabled,thefilenamewillbedisplayedasthemedianame.Thiswillincludeanymetadataspecifiedforthisfile.(Validforimages,videoandwebmedia.)

fullscreen boolean SetthemediaitemtobedisplayedinfullscreenwhenWidgetModehasbeenenabled.IfWidgetModehasnotenabled,thishasnoeffect.IfWidgetModehasbeenenabled,thismediaitemwillbedisplayedinfullscreenmodeandwhenitisfinishedplaying,thedisplaywillreturntodisplayingmediainWidgetAreaA.Anyvalue,otherthantrue,istreatedasfalse.(Validforimages,videoandwebmedia.)

Examples: Here'sanexamplewherewehavethreefiles,twocontainingmetadata.

palmtrees.jpgthebeach.title=WaikikiBeach.timeout=60.fullscreen=true.jpgtherain.fullscreen=true.jpg

TheuserhasconfiguredVideoKioskwith

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

54

• an"ImageDisplayTime"of30seconds,• hasenabledthe“Showmedianame”option,• hasenabledSplitScreenmodewiththeimagesbeingdisplayedinWidgetAreaA.

Theresultswouldbethefollowing:

Thefirstimage-palmtrees.jpg-willdisplayfor30seconds-willdisplaythetitle"palmtrees"-willdisplayinWidgetAreaA

Thesecondimage-thebeach.title=WaikikiBeach.timeout=60.fullscreen=true.jpg-willdisplayedfor60seconds,overridingthedefaulttimeout-willdisplaythetitle“WaikikiBeach”-willbedisplayedinfullscreeninsteadofjustWidgetAreaA

Thethirdimage-therain.fullscreen=true.jpg-willbedisplayedfor30seconds-willdisplaythetitle"therain"namewillbedisplayedas“therain.fullscreen=true”,sinceTitlehasnotbeenset-willbedisplayedinfullscreeninsteadofjustWidgetAreaA

Legacy Support Display Features VideoKioskincludessomefeaturestoworkaroundissueswithusingoldvideooroldAndroiddevices.

Stretch video Oldvideoisnarrower(960x720)thanthenewstandardvideosize(1280x720),whichcausesblackbandstobedisplayedinthevacantspaceonthesides.YoucanusetheStretchVideofeatureto

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

55

eliminatetheblackbands.Todothis,gotoVideoKioskSettings>Legacy>Stretchvideoandcheckthecheckbox.

First frame render time Thiscontrolshowlong(1/100thseconds)thefirstvideoframetakestorender.

OlderAndroiddevicescanflickerastheyattempttorenderthefirstframeofvideo.Thisflickeringcanbeeliminatedbyincreasingthefirstframerendertime.Todothis,gotoVideoKioskSettings>Legacy>Firstframerendertimeandincreasetherendertime.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

56

Controlling the Device ForinformationonSettings,referto[ConfiguringtheSettings,p.77]

TV Control using HDMI CEC (Android v5 and later) In order to play content, the TV must be turned on and the correct video input must be selected.

• OnanyAndroid4+device,VideoKioskwillautomaticallystartplayingcontentwhenscheduled(ifnocalendarorscheduleisbeingusedthencontentwillalwaysplay).Whenthescheduledeventhasended,VideoKioskwillstopplayingcontent,dimthescreen,andoptionallydisplayaclock.

• OnAndroiddevicesrunningAndroid5+,VideoKioskcanturntheTVon• OnAndroiddevicesrunningAndroid5+,VideoKioskcancontroltheselectedHDMIinput.• OnAndroiddevicesrunningAndroid6+,VideoKioskcanturntheTVon,selectthecorrect

input,andturntheTVoffinsteadofdimmingthescreen.

Using HDMI-CEC to control the TV VideoKioskcansendHDMI-CECcommandstokeeptheTVonandtheAndroidTVdeviceHDMIinputselectedwhenmediaisbeingdisplayed(requiresatAndroidv5.1+)and/orturntheTVoff(puttheTVinstandbymode)whenmediaisnotbeingdisplayed(requiresAndroidv6.0+).

How to install Video Kiosk as a System App TheHDMI-CECfeaturesrequireVideoKiosktobeinstalledasaSystemApp.ToinstallVideoKioskasaSystemApp,dothefollowing:

1. UsearootedAndroiddevice.2. PlacetheVideoKiosk.apkfileinthefolder/system/priv-app3. MakesuretheVideoKiosk.apkread/write/executesecurityissetto6444. Rebootthedevice.

Foranexampleofhowtodothisusingtheadbtool,referto[AppendixA–MakingVideoKioskaSystemApp,p.91]

IfyouneedhelpinstallingVideoKioskasaSystemApporwouldliketopurchaseaTVboxwithVideoKioskpre-installedasaSystemApp,pleasecontactus.

Turning the TV on VideoKioskcanbeconfiguredtobothturntheTVonandtochangetothecorrectHDMIinputwhenaneventisscheduled.Thisfeaturerequiresthefollowing:

• TheTVsupportsHDMI-CEC• TheAndroiddevicesupportsHDMI-CECbothinhardwareandinsoftware

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

57

• TheAndroiddeviceisrunningAndroid5+orAndroid6+• TheAndroiddeviceisarooteddevice• VideoKioskhasbeeninstalledasaSystemApp

TohaveVideoKioskturntheTVonandtochangetothecorrectinputwhenascheduledeventbegins,followthesesteps:

1. InstallVideoKioskasaSystemApp.2. ConfiguretheSettings

GotoVideoKioskSettings>Schedule>HDMICECOneTouchPlayandcheckthecheckbox.

Returning the TV to the correct input InadditiontoselectingthecorrectHDMIinputwhenascheduledeventbegins,VideoKioskcanbeconfiguredtoperiodicallychecktoensuretheTVisstillusingtheselectedHDMIinputandtochangeitbacktothecorrectinputthroughoutscheduledevents.(VideoKioskwillonlyreturntheTVtothecorrectinputwhenascheduledeventrunning.)

Thisfeaturerequiresthefollowing:

• TheTVsupportsHDMI-CEC• TheAndroiddevicesupportsHDMI-CECbothinhardwareandinsoftware• TheAndroiddeviceisrunningAndroid5+orAndroid6+• TheAndroiddeviceisarooteddevice• VideoKioskhasbeeninstalledasaSystemApp

TohaveVideoKioskturntheTVonandtoselectthecorrectinputperiodicallyduringascheduledevent,followthesesteps:

1. InstallVideoKioskasaSystemApp.2. ConfiguretheSettings

GotoVideoKioskSettings>Schedule>SendHDMICECOneTouchPlayperiodicallyinminutesandchangethefrequencywithwhichtheOneTouchPlayCECcommandwillbesent.

Turning the TV off VideoKioskcanbeconfiguredtoturntheTVoffwhenascheduledeventisfinished.Thisfeaturerequiresthefollowing:

• TheTVsupportsHDMI-CEC• TheAndroiddevicesupportsHDMI-CECbothinhardwareandinsoftware• TheAndroiddeviceisrunningAndroid6+• TheAndroiddeviceisarooteddevice• VideoKioskhasbeeninstalledasaSystemApp

TohaveVideoKioskturntheTVoffwhenascheduledeventisover,followthesesteps:

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

58

1. InstallVideoKioskasaSystemApp.2. ConfiguretheSettings

GotoVideoKioskSettings>Schedule>HDMICECSendStandbyandcheckthecheckbox.

Keyboard and Remote Control Features VideoKiosksupportssomekeysonkeyboardsandremotecontrols.Howthesebuttonsaremappedtovariousremotecontrolsandkeyboardsisvendorspecific.

Next video Thebuttonusedtoselectthenextvideocorrespondstoanyofthefollowing:

• KEYCODE_MEDIA_NEXT(87)• KEYCODE_PAGE_DOWN(93)

Previous video Thebuttonusedtoselectthepreviousvideocorrespondstoanyofthefollowing:

• KEYCODE_MEDIA_PREVIOUS(88)• KEYCODE_PAGE_UP(92)

Touch Gesture Control VideoKiosksupportsthefollowingtouchgesturecontrols.ToenablethisfeatureGotoVideoKioskSettings>Buttons>Enableswipingandcheckthecheckbox.

Next media item Thetouchgestureusedtoselectthenextmediaitemcorrespondstoanyofthefollowing:

• Swipefromrighttoleft

Previous media item Thetouchgestureusedtoselectthepreviousmediaitemcorrespondstoanyofthefollowing:

• Swipefromlefttoright

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

59

Gamepad Control Features VideoKiosksupportssomebuttonsongamepads.Howthesebuttonsaremappedtovariousgamepadsisvendorspecific.

Display button bar Thebuttonusedtodisplaythebuttonbarcorrespondstoanyofthefollowing:

• KEYCODE_DPAD_DOWN(20)• KEYCODE_DPAD_UP(19)

Next video Thebuttonusedtoselectthenextvideocorrespondstoanyofthefollowing:

• KEYCODE_BUTTON_R1(103)

Previous video Thebuttonusedtoselectthepreviousvideocorrespondstoanyofthefollowing:

• KEYCODE_BUTTON_L1(102)

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

60

Reliability Features Video Kiosk is designed to provide robust, reliable playback so that operator intervention is not required to handle common playback issues.

ForinformationonSettings,referto[ConfiguringtheSettings,p.77]

Handling changes to the playback loop VideoKioskhandleschangesinthemediafolderswithoutrequiringarestart.Ifthemediafoldercontentschange,thenewselectionofmediawillplaythenexttimethecontentloopstarts.Thisallowsyoutoremotelyupdatethecontentwithouthavingtostopthedevice.

Handling unplayable content VideoKiosksupportsavarietyofimageandvideoformats.Ifthereiscontentinthemediafolderthatisnotinasupportedformat,VideoKioskwillskipitandplaythenextfile.Ifthefileisinasupportedformat,butunplayableforadifferentreason(forexampleanemptyorcorruptfile),VideoKioskwillskipitandplaythenextfile.

If too many errors occur in a row, Video Kiosk will try to correct the problem by restarting.

• Onarooteddevice,andifVideoKioskistheHomeApp,VideoKioskwillrebootAndroidandVideoKioskwillre-launchandstartplayingagainafterreboot

• Otherwise,VideoKioskwillexitandre-launchVideoKioskandstartplayingagain

Behavior on wake from sleep VideoKioskwillautomaticallystartplayingcontentuponwakingfromsleep.Whenthedevicewakes,VideoKioskcanplaythecurrentfileorplayfromthebeginningofthemediafolder.

• Tochangethisbehavior,gotoVideoKioskSettings>Sleeping>Onwakefromsleepandpickanoption

Error Detection Automatic Restart VideoKioskkeepstrackofplaybackerrors.Iftoomanyerrorsoccurwithoutaninterveningsuccess(30videos,300webpages),theAppwillautomaticallyrestart.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

61

• Toturnthisfeatureon|off,gotoVideoKioskSettings>Launching>Restartonerrors

Periodic Automatic Restart PeriodicallyrestartingadeviceisacommonwayofaddressingAndroidOSandhardwareinstabilityissues.VideoKioskwillautomaticallyrestartthedeviceorrestartsVideoKioskatthespecifiedintervals.Theautomaticrestartfeatureisusedtorestartthedeviceataconfigurableintervaltime.Thedefaultbehavioristorestartonceeachnightatmidnight.

• Toturnthisfeatureon|off,gotoVideoKioskSettings>Launching>RestartDaily• Tochangehowoftenandatwhattimetherestartoccurs,gotoVideoKioskSettings>

Launching>RestartTimes• TotesttheRestartdailysettingnow,gotoVideoKioskSettings>Launching>Test

Restart.Onrooteddevices,thismaytriggerarebootwhenyouexitthesettings.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

62

Access Management TheAccessManagementfeaturescontroltheaccessbothtothedevicecontrolsandtothevideokiosksoftware.Restrictingthefunctionalityofyourdevicetokioskfunctionalityisanimportantpartofcontrollingwhatcontentisbeingshownonyourdevice,especiallyifyouarerunninganinteractivekiosk.Otherwiseaninquisitiveormalicioususermaymakechangestoyourdevicebypausingthevideo,decreasingthevolumeorquittingfromyourkioskaltogether.Topreventsuchchangesfromoccurring,AccessManagementisavailable.

ForinformationonSettings,referto[ConfiguringtheSettings,p.77]

VideoKioskprovidesaccessmanagementfunctionalitybothtolimitaccesstothedevicecontrolsandtotheVideoKiosksettings.Whichaccessmanagementfeaturesaresupporteddependsonwhetherornotthedeviceisrooted,asdocumentedinthefollowingtable:

Feature Non-rooteddevice

Rooteddevice

SetVideoKioskastheHomeApp ✔ ✔PasswordprotectaccesstotheVideoKioskUserInterface(UI) ✔ ✔Closepowerbuttonlongpressmenu ✔ ✔Disablevolumebuttons ✔ ✔Show|Hidemediacontroller ✔ ✔PreventaccesstoSystemUserInterface(UI) ✔ ✔UsingVideoKioskasthesingleLauncher ✔ ✔

Access Management recommendations BecauseVideoKioskisusedinavarietyofdifferentkioskenvironments,itisnotalwaysnecessarytolimitaccesstothedevice.However,VideoKioskincludesfunctionalitytoallowyoutolimituseraccesstothedevice,shouldthatberequired.Forexample,awall-mountedTVusedasakiosktoplayvideoatthegymwouldrequirelessaccessmanagementthananinteractivekioskinthehandsofcuriousteenagersatamuseum.VideoKiosk'sAccessManagementfeaturesaredesignedtobeflexiblesothatyoucanconfigureaccessatalevelappropriatetothekioskenvironment.

VideoKioskcanberunwithnoAccessManagement.However,tohelpensureyourkioskisusedasakioskandthatitisasreliableaspossible,werecommendtheBasicAccessManagementSetupbeusedinallVideoKioskinstallations.

Basic Access Management Set Up – Setting the Home App TheHomeAppistheappthatanAndroiddevicewillreturntowhentheHomebuttonispressedandwilllaunchwhenAndroidisrestarted.InordertohaveVideoKioskautomaticallyrestartwhen

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

63

Androidisrestarted,setitastheHomeApp.WerecommendyoualwayssetVideoKioskastheHomeApp.Todothis,followthesesteps:

OnAndroid4andAndroid5,ifyourversionhasasystemsettingforthehomeapp:1. IntheVideoKioskbuttonbar,presstheVideoKioskSettingsbuttonandgoto

VideoKioskSettings>Launching>OpenSystemSettings2. ScrolldownuntilyoufindtheHomesettingandpressHome.Alistwilldisplay.3. Touchtheradiobuttontoselect"VideoKiosk".Touchthe"Back"button3timestoreturnto

theVideoKioskscreen.4. VerifythatVideoKioskistheHomeapp.IntheVideoKioskbuttonbar,touchtheHome

Button.AdialogwilldisplaythecurrentHomeApp.IfthecurrentHomeAppis"VideoKiosk",youhavesuccessfullysettheHomeApp.Press"Cancel"todismissthedialog.Otherwise,repeatsteps2-4.

OnAndroid4:1. IntheVideoKioskbuttonbar,touchtheHomeButton.Adialogwilldisplaythecurrent

HomeApp.IfthecurrentHomeAppis"VideoKiosk",press"Cancel".2. Otherwise,press"AndroidSystem".Androiddisplaysthe"Selectahomeapp"dialog.

Androidrequiresyoutonowselectahomeapp.(Ifyoudon'tselectone,thisdialogwillpopupeverytimethedeviceisrestarteduntilyouselectahomeapp.)

3. Select"VideoKiosk"asthelauncherandpressthe"Always"button.4. VerifythatVideoKioskistheHomeapp.IntheVideoKioskbuttonbar,touchtheHome

Button.AdialogwilldisplaythecurrentHomeApp.IfthecurrentHomeAppis"VideoKiosk",youhavesuccessfullysettheHomeApp.Press"Cancel"todismissthedialog.Otherwise,repeatsteps2-4.

OnAndroid5:1. IntheVideoKioskbuttonbar,touchtheHomeButton.Adialogwilldisplaythecurrent

HomeApp.IfthecurrentHomeAppis"VideoKiosk",press"Cancel".2. Otherwise,press"AndroidSystem".Androiddisplaysthe"SetHome"dialog.Android

requiresyoutonowselectahomeapp.(Ifyoudon'tselectone,thisdialogwillpopupeverytimethedeviceisrestarteduntilyouselectahomeapp.)

3. Select"VideoKiosk"asthehomeapp.Thedialogwilldismiss.4. IntheVideoKioskbuttonbar,touchtheHomeButton.Adialogwilldisplaythecurrent

HomeAppas"VideoKiosk".Pressthe"Always"button.5. VerifythatVideoKioskistheHomeapp.IntheVideoKioskbuttonbar,touchtheHome

Button.AdialogwilldisplaythecurrentHomeApp.IfthecurrentHomeAppis"VideoKiosk",youhavesuccessfullysettheHomeApp.Press"Cancel"todismissthedialog.Otherwise,repeatsteps2-5.

OnAndroidTV6:Bydefault,youarenotallowedtochangethehomeApp.However,onarooteddevice,youcanworkaroundthisbysimplydisablingthebuilt-inlauncherandVideoKioskwillautomaticallybecomethelauncher.Thereareseveralwaystodisablethebuiltinlauncher.Thefollowingexampleshowshowtodoitusingtheadbdevelopertool.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

64

Example,usingtheabddevelopertool.

1. FirstinstallVideoKiosk.2. Connectyourdevicetoacomputerwiththedevelopertoolsinstalled3. Fromacommandlineonthecomputer,enterthesecommands:

adb shell pm hide com.google.android.leanbacklauncher adb reboot

VideoKioskwillnowautomaticallyrestartwhenAndroidisrestarted.

OnAndroid6andlaterifyouconfigureVideoKioskasthedeviceowner:(ForanexampleofhowtomakeVideoKioskthedeviceowner,refertoAppendixB–MakingVideoKioskthedeviceownerattheendofthismanual.)

1. IntheVideoKioskbuttonbar,touchtheHomeButton.2. Adialogwilldisplaytellingyouhowmanylaunchersareactiveonthedevice.3. PressthebuttontitledVideoKiosktohidealltheotherlaunchersonthedevice.

ThisistherecommendedoptiononversionsofAndroidthatarenotrooted.

YoucantouchthebuttontitledAlltounhideanyotherlaunchersthatmaybepresentonthedevice.Afterdoingthis,youmaybepromptedtochoosealauncherwhenyoutouchthehomebuttonorwhenthedevicereboots.

IfyouneedhelpdisablingthelauncheroryouwishtopurchaseaTVBoxwhereVideoKioskhasalreadybeeninstalledastheonlylauncher,pleasecontactus.

Basic Secure Access Management Set Up OnaMac,youusetheFindertomanagefileandlaunchapplications;onWindows,youuseWindowsExplorer.TheAndroidOSequivalentiscalledLauncherandunlikeMacandWindows,Androidallowsyoutohavemorethanonelauncher.VideoKioskisalauncher,allowingyoutolaunchapplicationsfromwithinVideoKioskitself.AndbecauseyoucanpasswordprotectVideoKiosk,youcanrestrictaccesstotheotherapplicationsonthedevicetoonlythoseindividualswhoknowtheVideoKioskpassword.

Todothis,followthesesteps:

1. SetVideoKioskastheHomeAppIfyouhaven'talreadydoneso,setVideoKioskastheHomeApp.(Seeabove.)

2. PasswordprotectVideoKiosk.Setthepasswordrequiredtomakechangestothekiosk.YoucanpasswordprotectaccesstoVideoKioskintwoways,byputtingapasswordfileinthedefaultlocationorbysettingthepasswordintheAppSettings.ThepasswordinapasswordfiletakesprecedenceoverthepasswordintheVideoKiosksettings.Ifyoudeletethepasswordfile,thepasswordthatwassetintheVideoKiosksettingsbecomesactiveagain.

UsetheDefaultFolderLocation

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

65

• Tousethedefaultlocation,createapasswordfilewithanamethatisaSHA512encodingofsomeword,SHA512(someword).password,andputthepasswordfileinthesamefolderasyourcontentfiles.VideoKioskwillthenuse“someword”asthepassword.e.g.Afilecalled36622CA176A6D999D3C2B41D3E002A05B4342C8902DCD98145372C2F0A0B9A0031DC1424FFE825F975A6E390887354E903C460E3E374D95A36CCA2C058B96D7A.passwordisuploadtothemediafolder.VideoKioskwillthenusedragonasthepassword.AsalesssecurealternativeyoucanuseanMD5encoding,inwhichcaseafilenamed8621ffdbc5698829397d97767ac13db3.passwordwouldresultinVideoKioskusingdragonasthepassword.Asatotallyinsecurealternativeyoucanusetheworditself,inwhichcaseafilenameddragon.passwordwouldresultinVideoKioskusingdragonasthepassword.Ifyouplantousethisfeature,andsecurityisimportanttoyou,itishighlyrecommendedthatyouuseaSHA512encodingofthepassword.

SetintheAppSettings

• GotoVideoKioskSettings>Security>SetPasswordandsetthepassword.

Now,onlyindividualswiththeVideoKioskpasswordcanaccesstheotherapplicationsonthedevice.

Enhanced Access Management Set Up WerecommendyouimplementthisEnhancedAccessManagementSetupforallVideoKioskswhereusershavephysicalaccesstothedevice.VideoKioskisdesignedtolimitaccesstothesefeaturestopreventusersfromcontrollingthedevicewiththesefeatures:

1. Closepowerbuttonlongpressmenu.ConfiguredintheVideoKioskSettingsscreen,thisfeaturedisablesthepowerbuttonlong-pressmenu.GotoVideoKioskSettings>Buttons>Closepowerbuttonlongpressmenuandcheckthecheckbox.

2. Disablevolumebuttons.ConfiguredintheVideoKioskSettingsscreen,thisfeaturedisablesVolumeDialog,whichcontrolsdevicevolume,andadditionalfunctionalityonsomeAndroiddevices.GotoVideoKioskSettings>Buttons>Disablevolumebuttonsandcheckthecheckbox.

3. PreventaccesstoSystemUI.ConfiguredintheVideoKioskSettingsscreen,thisfeaturekillsthesystemUIonarootedAndroidv4deviceandusesapinnedApponAndroidv5andlaterdevices.GotoVideoKioskSettings>SystemUI>PreventaccesstoSystemUIandcheckthe

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

66

checkbox.WhenyouexitVideoKioskorchooseVideoKioskSettings,theSystemUIisrestored.

Now,ifyouhavesetapassword,onlyuserswiththeVideoKioskpasswordcanaccessthedevicecontrols.ForinformationonSettings,referto[ConfiguringtheSettings,p.77]

Advanced Access Management Set Up Onefinalstepyoucantaketocontrolaccesstoyourdeviceistoremoveotherlaunchersfromthedevice.ThisrequiresaccesstotheAndroidDeveloperToolsor,onarooteddevice,specialAppslikeTitaniumBackup.Werecommendyougetthisdonebythedevicemanufacturer.Forfurtherinformation,contactusdirectly.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

67

Remote Management and Update VideoKioskwasdesignedtoberemotelymanageablesothatboththemediathatwillbeplayedandVideoKioskfunctionalitycanbecontrolledfromacentrallocation.UsingtheInternet,youcanremotely:

• changethemediathatwillbeplayed• changetheorderinwhichthemediawillbeplayed• changeadevice’splaybackschedule,eitherbyuploadinganewlocalXMLschedulefileorby

usingGoogleCalendar• changeadevice’sVideoKioskpassword• changetheoverlaydisplayedonakiosk• changeaninteractivekiosk’shotspots• havethedevicereportonitsstatus

ThisallowsyoutomanagemanyoftheVideoKioskfeatureswithouthavingtodeployatechniciantothefield.

• FormoreinformationonremotePlaybackSchedulingusingGoogleCalendaroranXMLfile,referto[ControllingPlaybackTimeusingaSchedule,p.23]

• FormoreinformationonDeviceStatusReporting,referto[RemoteDeviceStatus,p.70]

Remote Device Updating VideoKioskfeaturesabuilt-inCloudDrivefeature,whichallowsyoutoremotelyupdatethemediafiles,theplaybackschedule,overlaysandpasswordforadeviceorfleetofdevices.TheCloudDrivedownloadservicesupportsusingeitherGoogleDriveorNextcloudtoupdatethecontentfolderontheAndroiddevice(s).

Alternatively,youcanusethird-partyclouddownloadApplikeAutosyncDropboxorAutosyncGoogleDrive.Theprocessofconfiguringathird-partyclouddownloadAppwouldbesimilartotheproceduresbelow.However,wedonotprovidesupportforconfiguringthird-partydownloadingAppsandrecommendyouusetheintegratedservices.

How to remotely update Video Kiosk Content Usingthebuilt-inCloudDriveDownloadservice(orathird-partyClouddownloadApp),youcanremotelyupdatethecontentandthecontrolfilesthatwillbeusedbyVideoKioskondevices.

Tosetuptheremoteupdating,youneedtodothefollowing:

• Usingthebuilt-inCloudDrivedownloadservice(orconfigureathird-partyClouddownloadApp),createaContentfolder(CloudSourceFolder)forVideoKioskonyourCloudService.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

68

• UpdatetheVideoKiosksettingswiththeCloudSourceFolderlocationandthedevice'sContentfolderlocation(Targetfolder).VideoKioskusesthecontentfolderyoucreatedwhenyouinstalledVideoKioskastheTargetfolder.

ToupdatetheContentFolderonthedevice(s),justmovethefilesyouwanttoupdatetotheCloudSourceFolderonyourCloudServiceandthecloudservicewillupdateeachdevicewiththenewfiles.

How to set up the built-in Cloud Drive Download Tosetupthedownloadingusingthebuilt-inCloudDrivedownloadservice,followthesesteps:

1. CreateaCloudSourcefolderforVideoKioskonyourCloudService.

2. OneachAndroiddevice,configurethesettingswiththeCloudSourceFolderlocation.VideoKiosk>Settings>CloudDrive>GoogleDrivefolderORVideoKiosk>Settings>CloudDrive>Nextcloudfolder-Navigateintofolder>Choose

3. OneachAndroiddevice,configurethesettingswiththedevice'slocalContentFolderlocation.(ThisistheContentFolderyoucreatedwhenyouinstalledVideoKiosk.)Ifyouhaven'talreadycreatedtheContentFolder,createitandconfirmthelocation:VideoKiosk>Settings>CloudDrive>Pathtolocalfolder-CreateFolder>VideoKiosk>Confirm-TapVideoKiosk>ConfirmIfyouhavealreadycreatedtheContentFolder,confirmthelocation:VideoKiosk>Settings>CloudDrive>Pathtolocalfolder-NavigatetotheVideoKioskContentFolderyoucreatedpreviously-TapConfirm

4. Optionally,changetheDownloadInterval.Defaultisevery1hour.VideoKiosk>Settings>CloudDrive>DownloadInterval

5. EnableDownloading.VideoKiosk>Settings>CloudDrive>Enabledownloading

6. Verifyyoursettings.VideoKiosk>Settings>CloudDrive>ClouddriveinfoToreturntothepreviousscreen,pressOK.

How to remotely download using built-in Cloud Drive download Todownloadtothedevice(s),youneedtodothefollowing:

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

69

1. MovethefilesyouwanttoupdatetotheCloudSourcefolderforVideoKioskonyourCloudService.

VideoKioskwillcheckforupdatesontheCloudServiceperiodically,assetintheDownloadIntervalSetting(VideoKiosk>Settings>CloudDrive>Downloadinterval)andupdatethedeviceswiththeupdatesyouhavemade,asscheduled.

PleasenotethatthisfeaturewilldownloadfromtheCloudsourcefoldertothedevice(s)contentfolder,butnotthereverse.

Forexample,

Ifyouaddanimagetothesourcecontentfolderonthecloudservice,thecontentfolderonallthedeviceswillbeupdatedwiththeimage.

However,ifyouaddanimagetothecontentfolderononeofthedevices,thatchangewillnotbepropagatedtotheSourcecontentfolderonthecloudserviceortoanyoftheotherdevices.InsteadthelocallycreatedimagefilewillbedeletedthenexttimethedevicesareupdatedwiththecontentsoftheCloudsourceFolder.

EnsurethatyoualwaysupdatethecontentintheCloudsourcefolder,notthelocalfolderonadevice.

How to remotely manage Video Kiosk schedule, overlays, password files Usingthebuilt-inCloudDrivedownloadservice(orathirdpartyClouddownloadApp),youcanremotelychangeadevice’sVideoKioskpassword,theoverlaydisplayedonakiosk,aninteractivekiosk’shotspotsanddevice’splaybackschedule,ifyouarecontrollingthescheduleusingalocalscheduleXMLfile.Followthesesteps:

1. SetupCloudDriveDownloadfollowingtheinstructionsabove.2. MoveanyofthefollowingfilestotheCloudSourcefolderforVideoKioskonyourCloud

Service:• thepasswordfile• theoverlayfile• theoverlayhotspotfile• localXMLschedulefile

3. ThenewfileswillbedownloadedfromtheCloudSourceFoldertotheContentfolderonthedevice(s).• Formoreinformationaboutcreatingapasswordfile,referto[BasicSecureAccess

ManagementSetUp,p.64]• Formoreinformationaboutcreatinganoverlayfileoranoverlayhotspotfile,referto

[Overlays,p.44]• Formoreinformationaboutschedulingplayback,referto[ControllingPlaybackTime

usingaSchedule,p.23]

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

70

Remote Device Status Reporting BecauseVideoKioskwasdesignedtoberemotelymanaged,itsupportsbothsendingstatusreportstoaURLandreceivingresponsessoyoucanintegrateVideoKioskremotedevicesintoamanagementsystem.VideoKioskAndroidexaminestheresponsetotheHTTP/HTTPSPOSTforkeyvaluepairsthatitwillusetoupdatethemanagementinterfacesettings.

A management status POST can be sent:

• basedonatimeinterval• basedonaspecifictimeofday• anytimeusingtheSendManagementReportbuttononthebuttonbar

ForinformationonSettings,referto[ConfiguringtheSettings,p.77]

How to enable device status reporting Tosetupdevicestatusreporting,followthesesteps:

1. IfyouplantosendHTTPSPOSTsinsteadofHTTPPOSTs,getanSSLcertificate.Formoreinformation,see[HTTPvsHTTPSconsiderations]below

2. InVideoKioskSettings>Managementconfigurethefollowing:• UniqueDeviceIDandZone(optionalsettingsforyourconvenience)• Whentoreportstatus• URLtoreportstatusto• ContentofthePost

3. VideoKioskdeviceswillnowsendPOSTstothespecifiedURL.

Ifstatusreportingisenabled,astatusreportwillbeautomaticallyPOSTed2minutesaftertheApplaunchers.

HTTP vs HTTPS considerations TouseHTTPS,youmustgetanSSLcertificatefromacertificateauthoritythattheAndroidOSrecognizes.VideoKioskdoesnotsupportHTTPSPOSTtositesusingself-signedcertificates.

Ifyourdevicedoesnothavearealtimeclock,itispossiblethatHTTPSwillnotworkuntilthetimeissetfromthenetwork.If,forsomereason,thenetworktimeserverisnot100%reliable,youshoulduseHTTPPOSTsinsteadofHTTPsPOSTs.

Ifyouplantosendthepasswordtothemanagementserver,andsecurityisimportanttoyou,youshoulduseaSHA512encodingandanHTTPSPOST.PasswordssetusingtheVideoKiosksettingsarestoredasSHA512encodingsofthepassword.

Status Report Post Content: Supported POST Key Value Pairs Sent ThevaluesareencodedusingtheAndroidURLEncoderandtheUTF-8characterset.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

71

• PHPprogrammersthatuse$_POSTvariablesshoulddecodethesevaluesusingtheurldecode()method.

• PHPprogrammersthatuse$_REQUESTvariablesshouldnotdecodethevaluessincetheyhavealreadybeendecoded.

ThefollowingkeyswillalwaysbeincludedinthePOST:

androidid TheuniqueidofthedeviceassignedbytheAndroidOS.

account5 Ifanaccounthasbeenaddedtothedevice,anMD5encodingoftheaccount.

cloudid TheFirebaseCloudMessagingCloudIDthatthemanagementservercanusetosendpushnotificationstodevicesifthemanagementinterfaceisacceptingpushnotifications.Ifyouwanttousethisfeatureinaproprietarymanagementinterface,contactusformoreinformation.

Ifthecloudidchanges,amanagementPOSTwillautomaticallybesentsothatthemanagementservercanupdateitsdatabasewiththenewcloudidforthisdevice.

uid Theuniqueidofthedeviceasassignedbyyou.BydefaultthisistheuniqueidassignedbytheAndroidOSbutyoucanchangeittobeanystringthatyoulike.

version TheVideoKioskversionnamelike4.1.0.150529.

osversion TheversionofAndroidOSonthedevice.

date TheUTCdateonthedeviceatthetimethePOSTwassentintheformYYYY-MM-DDHH:MM:SS+HH:MM.Anexampleis2016-08-0716:59:49+00:00.

ThefollowingkeyscanbeincludedinthePOSTbyselectingthemintheManagementSettings(VideoKioskSettings>Management>ManagementPostContent)

isplaying Aflagthatwillbetrueifavideoisplayingorfalseotherwise.Becarefulinterpretingthevaluesinceitcanbefalseifanimagefileisbeingdisplayedorifonevideohasendedanditslastframeisbeingdisplayedwhilethenextvideoispreparingtoplaybuthasnotyetrendereditsfirstframe.

currentmedia Thenameofthecurrentlyplayingvideoordisplayedimagefile.Bydefaultthiskeyvaluepairisenabled.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

72

folderpath Thepathtothecurrentlyselectedmediafolder.Pleasenotethatifyouenablethiskey,thenthenamesofthemediaitemsinthefoldercontentarraywillberelativetothispathandifyoudonotspecifythiskeythenthenameswillbethefullpath.

foldercontent Thenamesofallthemediaitemsinthecurrentlyselectedmediafolder.

password ThepasswordassignedtotheVideoKioskusingthesomeword.passwordfile.YoucanusethistoauthenticatetheVideoKioskPOST.Ifyouaresendingthisdata,youshoulduseHTTPSinsteadofHTTP,sinceit’snotagoodideatosendthepasswordintheclear.

zone Thezoneofthedeviceasassignedbyyoutocreateanygroupingofdevicesthatyouwouldlike.

isroot Aflagthatwillbetrueifthedevicehasbeengrantedrootaccessorfalseotherwise.

uptime Thetime,inseconds,sincethelastdevicereboot

filesize Anarrayoffilesizesthatmatchesthearrayoffilenames.[comma-separatedlistofvalues]

emptyfiles Anarraythatlistsanyfilesthatareempty(probablyduetoanetworkerrorduringfilesynchronizationwithyourcloudservice).[comma-separatedlistofvalues]

widgetsenabled Aflagthatwillbetrueifwidgetareasareenabledorfalseotherwise.

areabwidgets AnarraythatliststhewidgetsconfiguredinwidgetareaB[comma-separatedlistofvalues]

areacwidgets AnarraythatliststhewidgetsconfiguredinwidgetareaC[comma-separatedlistofvalues]

areadwidgets AnarraythatliststhewidgetsconfiguredinwidgetareaD[comma-separatedlistofvalues]

onetouchplay AnarraythatlistsfirstaflagthatissettotrueiftheonetouchplayfeatureisenabledandthentheOnetouchplayintervalfromthesettings[comma-separatedlistofvalues]

sendstandby Aflagthatwillbetrueifthesendstandbyfeatureisenabled

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

73

interactions AnarrayofkeyvaluepairsthatliststheidentifyingstringandinteractioncountforeachhotspotforwhichtheinteractioncounthasbeensetintheHotspotOverlay.XML.Forhotspotswithoutanidentifyingstring,interactionswillnotbecountedorreported.{comma-separatedlistofkeyvaluepairswherekey=value}

location ThelocationofthedeviceasprovidedbyaGPSlatitudeandlongitudepairORthepostaladdressofthedeviceenteredasahumanreadablestring

batterypercent Afloatingpointrepresentation,forexample47.4,ofthecurrentbatterychargeasapercent.

batteryplugged Astringthatindicatesbothifandhowthebatteryisbeingcharged.Thevaluewillbeoneofthefollowing:AC|USB|WIRELESS|NONE

Wheneveryouchangethesettings,VideoKioskwillrestarttheintervaltime.IfyouhaveenabledthetimeofdaystatusPOST,VideoKioskwillsynchronizetheintervaltimewiththetimeofdaywhenthatPOSTissent.

Responses: Supported POST Key Value Pairs in Response ThemanagementinterfacesupportsresponsesbythemanagementsystemtomanagementstatusPOST,suchthatthemanagementsettingsonthedevicecanbechangedbythemanagementsystem.

Therearetwomanagementprotocols(protocol0andprotocol1)andtheyusedifferentresponses.Protocol0isalegacyprotocolandshouldnotbeusedfornewmanagementapplicationdevelopment.Ifyouaredevelopinganewmanagementapplication,useprotocol1.

Protocol 0 Response (deprecated) Responseisanewline-terminated,optionallyurl-encoded,listofkeyvaluepairs.

Themanagementsystemmayrespondwithalistofkeyvaluepairsasfollows:

Key1=value1\nkey2=value2\n…key3=value3\n

\nmeansnewlineasdefinedinthePHPscriptinglanguage.

Thesupportedkeyvaluepairsare:

uid=some id zone=some zone reporttime=HH:MM (where 0 >= HH <= 23 and 0 >= MM <= 59) reporttimeenabled=true|false intervaltime=NNNN (where NNNN > 0) intervaltimeenabled=true|false

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

74

postkey_isplaying=true|false postkey_currentmedia=true|false postkey_foldercontent=true|false postkey_password=true|false postkey_zone=true|false postkey_isrooted=true|false postkey_folderpath=true|false postkey_widgets=true|false postkey_hdmicec=true|false postkey_interactions=true|false postkey_location=true|false postkey_battery=true|false setdate=YYYY:MM:DD:HH:MM:SS

Ifthe\ncharactersareomitted,VideoKioskwillignorethekeyvaluepairs.YouMUSTincludethenewlinecharacterforeverykeyvaluepair.

Protocol 1 Response ResponseisaJSONMapwherethekeyisusedtoaccessthevalue.

Themanagementsystemmayrespondwithalistofkeyvaluepairsasfollows:

{"key1":"value1","key2":value2…,"keyN":"valueN"}

Thesupportedkeyvaluepairsare:

uid:”some id” zone:”some zone” reporttime””HH:MM” (where 0 >= HH <= 23 and 0 >= MM <= 59) reporttimeenabled:”true|false” intervaltime:NNNN (where NNNN > 0) – NOTE: no quotes, its not a string intervaltimeenabled:”true|false” postkey_isplaying:”true|false” postkey_currentmedia:”true|false” postkey_foldercontent:”true|false” postkey_password:”true|false” postkey_zone:”true|false” postkey_isrooted:”true|false” postkey_folderpath:”true|false” postkey_widgets:”true|false” postkey_hdmicec:”true|false” postkey_interactions:”true|false” postkey_location:”true|false” postkey_battery=true|false setdate:”YYYY:MM:DD:HH:MM:SS”

HereisanexampleofaJSONMapresponse:

{"intervaltimeenabled":"true","intervaltime":60,"postkey_isplaying":"false","postkey_currentmedia":"true","postkey_foldercontent":"true","postkey_password":"true","postkey_zone":"true","postkey_isrooted":"true","postkey_uptime":"true","postkey_filesize":"true","postkey_emptyfiles":"false","postkey_folderpath":"true","postkey_widgets":"true","postkey_interactions":"true","postkey_location":"true","uid":"Metrotown"}

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

75

Protocol 0 and 1 Response Notes Ifbothintervaltimeenabledandreporttimeenabledaresettofalse,youwillstopthatdevicefromreportingstatus.IfyoudothatviaamanagementPOSTresponsethenmanagementpostscanonlyberestartedmanuallyfromthedevice.

SettingthedateandtimeonadevicerequireseitherthatVideoKioskisin/system/priv-apporthatthedeviceisrooted.HTTPSrequiresthedateandtimetobesetcorrectlysoifyouwanttosetthedateandtimeonadevicewherethetimehasrevertedtothebasetimeonthedeviceyouMUSTuseHTTPformanagementposts.

IfamanagementPOSTresponsechangesthecurrentsettingsonthedevice,itwillimmediatelysendanotherPOSTtothemanagementURL

Example of Use

Sending an email containing POST Data and set device time - PHP Script ThefollowingPHPscriptcanbeusedtosendanemailcontainingallthePOSTdatatowhateveremailaccountyouwouldlike.Youjustneedtochangethevaluesof$to_email,and$from_emailandthenputthescriptonyourwebsiteinafilenamedsomething.php.Inaddition,iftheUTCdateandtimeonthedeviceismorethan30secondsdifferentthantheUTCdateandtimeontheserver,thetimeonthedevicewillbesettomatchthetimeontheserver(thisrequiresthatVideoKioskisin/system/priv-apporthatthedeviceisrooted)

<?php date_default_timezone_set("UTC"); $to_email = ‘you@yourdomain.com’; $from_email = ‘do-not-reply@yourdomain.com’; $subject = ‘VidoeKiosk Status’; $headers = 'From: ' . $from_email . "\r\n" . 'X-Mailer: PHP/' . phpversion(); foreach ($_POST as $key => $value) { $message .= htmlspecialchars($key)." = /".htmlspecialchars(urldecode($value))."/\n"; } if (isset($_POST['date'])) { $date = htmlspecialchars(urldecode($_POST['date'])); $l_format = 'Y-m-d H:i:s P'; $l_date = date_create_from_format($l_format, $date); $l_serverDate = date_create(); $message .= "\nServer UTC Date = /" . date_format($l_serverDate, 'Y-m-d H:i:s P') . "/"; $l_clientTS = date_timestamp_get($l_date); $l_serverTS = date_timestamp_get($l_serverDate); $l_interval = abs($l_clientTS - $l_serverTS); $message .= "\n\nDifference in seconds = /" . $l_interval . "/"; if ($l_interval > 30) { echo "setdate=" . date_format($l_serverDate,'Y:m:d:H:i:s') . "\n"; }

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

76

mail($to_email, $subject, $message, $headers); } ?>

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

77

Configuring the Settings Ifasettingisnotsupportedonaparticulardevice,thesettingwillnotbedisplayed.Forexample,ifasettingenablesafeaturethatrequiresAndroidv6orlater,thesettingwillnotbedisplayedonadevicerunningAndroidv5.

Formoreinformationonhowtofindthesettings,refertothe[InstallingandConfiguring]sectionofthisdocument.

Settings – Cloud Drive Cloud drive info DisplayasummaryofCloudDrivedownloadsettings.

Enable downloading EnableordisabledownloadingfromClouddrive.Defaultisoff.

Download interval Setthefrequency,inhours,withwhichVideoKioskwillcheckforanddownloadchangesfromtheselectedCloudSourcefolder.Defaultis1hour.

Path to local folder Setthelocalpath,onthedevice,towhichtheselectedCloudSourcefolderwillbedownloaded.Default<path-to-external-storage>/videokiosk

Nextcloud folder Ifyou'reusingNextcloud,choosethelocationoftheCloudSourcefolderonNextcloud

Google Drive folder Ifyou'reusingGoogleDrive,choosethelocationoftheCloudSourcefolderonNextcloud

Note:YoucannotchoosebothaNextcloudsourcefolderANDaGoogleDrivesourcefolder.Chooseonefortheserviceyouareusing..

Settings - File and Folder Enable cache VideoKioskcancachethelistoffilenamesfromtheselectedmediafolderinmemory.VideoKioskreloadsthememorycachefromtheSDcardonlyifthecontentinthemediafolderchanges.Youcan,ifyouprefer,turnthismemorycacheoffandVideoKioskwillreadthefilenamesfromtheSDcardeachtimeitstartstheloop.Defaultison.

Sort by PicktheSortOrderoftheMediaFolder.Thedefaultis"Pathoffirstplaylistfound"Options:Pathorfirstplaylistfound–Sortsbypathorbythefirstplaylistfound(ifthereisone)Path–Sortsbyfullpathname

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

78

Filenameexcludingpath–SortsbyFilename,excludingpathRandomshuffle–SortsinarandomorderPlaylist–Sortsbytheplaylistyoupick.AllplaylistsfoundinthePlaylistfolderwillbedisplayed.Pickone.

Sub-folder depth Pickfromthemenutolimitthedepthofnestedsub-foldersthatwillbeplayed.Defaultis5.

Limit playback to documented formats Limitthemediafilesthatwillbeplayedto3gp,mp4,ts,webm,mkv,jpg,png,gif,bmp,webp.Whenthisisset,mediafilesofothertypeswillbeskipped.Thedefaultisoff.

Show playback errors Whenthisisset,abrieferrormessagewillbedisplayedifavideocannotbeplayedandthenthevideowillbeskipped.Whenthisisnotset,avideowithplaybackerrorswilljustbeskipped.Thedefaultisoff.

Path to playlist folder Choosethefolderthatcontainsyourplaylistm3u8files.Setthisifyouareusingplaylists.Thedefaultplaylistfolderisthepathtothemediafolder.

Settings - Timers Image display time Howlong(inseconds)imageswillbedisplayedifthefilenamedoesnotincludeatimeoutvalue.Defaultis30seconds.Whenthisissettothevalue"0",VideoKioskwillpauseontheimageuntilthedisplayistouched.

Image fade time (Android v4.2 and later) Howlong(milliseconds)imagewilltaketofadeinandout.Defaultis0seconds.

Web fade time (Android v4.2 and later) Howlong(milliseconds)webpageswilltaketofadeinandout.Defaultis0seconds.

Video fade time (Android v4.2 and later) Howlong(milliseconds)videowilltaketofadeinandout.Defaultis0seconds.NOTE:Settingthistimegreaterthan0canresultinchoppyvideoplaybackonlow-enddevices.Ifyouexperiencechoppyvideoplayback,setthisto0.

Finish playback first Bydefault,VideoKioskwillwaitforthecurrentmediaitemtofinishplayingandthenrestart.Ifyouprefer,youcandisablethisoptionandVideoKioskwillrestartexactlyonthehourwithoutwaitingforthecurrentmediaitemtofinishplaying.

Schedule check seconds Howoften(inseconds)VideoKioskwillcheckforchangestotheschedule.Thedefaultis30seconds.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

79

Settings - Launching Launch on startup AutomaticallylaunchVideoKioskwhenthedeviceisrestarted.Ifyouenablethissetting,thestandardlauncherwillopenandthenVideoKioskwillopen.Alternatively,youmayusetheVideoKioskbuttonbartosetVideoKioskasthehome/launcherApp.

Restart on errors VideoKioskkeepstrackofplaybackerrors.Iftoomanyerrorsoccurwithoutaninterveningsuccess(30videos,300webpages),theAppwillautomaticallyrestartwhenthissettingison.Thedefaultis“on”.

Exit and relaunch AutomaticallyexitVideoKioskwhenthemedialoopfinishesplayingandrelaunchVideoKioskagainafteraconfigurablenumberofminutes.ThisisaspecializedfeatureusedwithdevicesthataredistributedasAndroidTVsthatdisplayaperiodicinterstitialadvertisement.

Restart Daily Automaticallyrestartthedevice,atthetimesspecifiedinthe“RestartTimes”setting.Onarooteddevice,thismaytriggerareboot.BehaviourdependsonwhetherthedeviceisrootedornotandwhetherornotVideoKioskassetasthehomeapp,asdocumentedinthistable:

Option: RootedDevice Non-rootedDeviceDonotrestart Doesnotrestartdaily DoesnotrestartdailyExitandrelaunchtheApp

ExitsandrelaunchesVideoKiosk ExitsandrelaunchesVideoKiosk

Rebootthedevice(requiresroot)

VideoKioskistheHomeApp:RebootAndroidandrelaunchesVideoKioskVideoKioskisnottheHomeApp:ExitsandrelaunchesVideoKiosk

ExitsandrelaunchesVideoKiosk

Restart Times Bydefault,ifyouenableRestartDaily,VideoKioskwillrestartonceperdayatmidnight.Youcanchangetherestarttimetoadifferenthourofthedayoryoucanchoosetorestartmultipletimesdaily(onthehour)byselectingmultiplerestarttimes.

Test restart daily TesttheRestartdailysettingnow.Onrooteddevices,thismaytriggeranimmediatereboot.

Launch another App LaunchadifferentinstalledApp.UsethistolaunchappsifyouhavedisabledtheLauncher.Thisisaconvenienceonadevicethathasmultiplelaunchers,allowingyoutolaunchappswithouthavingtoreconfigurethedevicewithLauncher3astheHomeApp.Onadevicewithonlyonelauncher–VideoKiosk–thisallowsyoutolaunchapps,providedyouhavethepasswordtoaccesstheVideoKiosksettings,providingyouwiththefunctionalityyourequiredwhileeffectivelypreventsmalicioususersfromstartinganotherapponyourkiosk.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

80

Open System Settings Openthesystemsettingsnow.UsethistoaccessthesystemsettingsifyouhavedisabledtheLauncher.Thisisaconvenienceonadevicethathasmultiplelaunchers,allowingyoutolaunchappswithouthavingtoreconfigurethedevicewithLauncher3astheHomeApp.Onadevicewithonlyonelauncher–VideoKiosk–thisallowsyoutoaccessthesystemsettings,providedyouhavethepasswordtoaccesstheVideoKiosksettings,providingyouwiththefunctionalityyourequiredwhileeffectivelypreventsmalicioususersfromaccessingthesystemsettingsonyourkiosk.

Settings - Buttons Show button bar when App launches Bydefault,asahintthatitexists,thebuttonbarisdisplayedfor30secondsaftertheVideoKioskApplaunches.Insomecases,youmaynotwantthebuttonbartodisplay.Topreventthebuttonbarfrombeingdisplayedfor30secondsaftertheVideoKioskApplaunches,disablethissetting.

Show button bar pattern Bydefault,wheneverthedisplayistouched,thebuttonbarwillappear.Insomecases,youmaywanttouseaspecificpatternoftouchestocausethebuttonbartoappear.Youcansetthatpatternbyusingthissetting.

1. Enteraseriesofdigitswhere0meansatouchanywhereonthescreen,1meansatouchinthetopleft,2meansatouchinthetopright,3meansatouchinthebottomleft4meansatouchinthebottomrightExample:ifyouwantthebuttonbartodisplaywhenthedisplayistouchedinthisorder:topleft,topright,bottomleft,bottomright,youwouldenter1234asthepattern.

Play touch tones IfyouhaveconfiguredaShowbuttonbarpattern,thenturnonthissettingtoplaytouchtoneswhenyoutapthefourscreenquadrantssothatthereisaudiblefeedbackwhenatouchisdetected.Thedefaultis“off”

Close power button long press menu After30secondsorVideoKioskrestart,closepowerbuttonlong-pressmenu.ThispreventsunwantedusersfromaccessingthePowerbutton’slongpressmenu.

Disable volume buttons DisablethebuttonsontheVolumeDialog.ThisincludesdisablingtheVolumeupandVolumedownbuttons,topreventunwantedusersfromchangingthevolumesettingonyourkiosk.OnsomeAndroiddevices,thereareadditionalsettingsavailableonthisdialog.Thesearealsodisabledwhenthisisset.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

81

Settings – Interactive Playback Mode Settheplaybackmode.Thedefaultis“Playnext”.

Options:PlayNext-playsthenextmediaitemwhenthecurrentmediaitemfinishesPlayprevious–playsthepreviousmediaitemwhenthecurrentmediaitemfinishesPause–pausesplaybackwhenthecurrentmediaitemfinishes.Useswipeorkeyboardeventtoplaythenextorpreviousmediaitem.Playagain–playthesamemediaitemagaininaloop..Useswipeorkeyboardeventtoplaythenextorpreviousmediaitem.

NOTE:Forbackwardcompatibility,ifVideoKiosk>Settings>Timers>Imagedisplaytimeissetto0,thentheplaybackmodePlaynextwillbeusedregardlessofthissetting.Theimagewilldisplayuntilyoutapthescreenandthenthenextmediaitemwillplay.

Show media controller (Android v4.2 and later) Showorhidethemediacontrollerforvideos.Bydefault,whenvideoisplayingthereisnomediacontrollerandsotheusercannotinteractwiththevideo.Ifyouenablethisoptionamediacontrollerwilloverlaythevideoandtheuserwillbeabletoscrub,fastforward,andevenskipvideos.

Enable swiping Enableusingswipegesturetoskipmediaitemsinplayback.Thedefaultis“off”.

Settings - System UI Prevent access to System UI OnarootedAndroidv4device,thiskillsthesystemUItopreventthesystemandnavigationbarsfrombeingaccessedbyusers.

OnanAndroidv5andlaterdevice,thisusesApppinningtorestrictusersfromaccessinganythingotherthantheVideoKioskApp.WhenyouexitVideoKiosk,orentertheVideoKiosksettings,theSystemUIaccessisrestored.TouseApppinning,

1. SetVideoKioskasthedeviceowner.Thismustbedonepriortoaddinganyuseraccountstothedevice.SettinganAppasadeviceownercanbedoneinseveralways.(ForanexampleofhowtomakeVideoKioskthedeviceowner,refertoAppendixB–MakingVideoKioskthedeviceownerattheendofthismanual.

2. VideoKiosk>Settings>SystemUI>PreventaccesstoSystemUI

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

82

Settings - Sleeping On wake from sleep Resumesvideoplaybackwhenthedevicewakesfromsleep.Thedefaultistostartplayingfromthebeginningofthemediafolder.Options:PlayCurrentfromPause-PlaystartingfromwhereitwasplayingwhenthedevicewenttosleepPlaycurrentfromStart-PlaystartingfromthebeginningofwhatitwasplayingwhenthedevicewenttosleepPlayFirstfromStart-Playstartingfromthebeginningofthemediafolder

Settings - Schedule Path to schedule folder Choosethefolderthatcontainsyourschedulefile.(SetthisifyouarecontrollingthescheduleusingaLocalXMLschedulefile.IfyouarenotusingschedulingorarenotusingaLocalXMLschedulefile,ignorethissetting.)

Use a calendar or schedule Choosetheschedulethatwillcontrolthedevice.TheschedulelistdisplaysalltheLocalXMLschedulefiles,AndroidCalendarsandGoogleCalendarsitknowsabout.

Monitor battery charge Monitorthebatterychargestateandchangeplaybackwhenbatteryislow.Options:Stopplayingmediaifthedeviceisnotcharging–Thedevicewillmonitorthebatterychargestateandstopplayingmediaifthedeviceisnotcharging.Monitorthebatterylevel–Thedevicewillmonitorthebatterychargestateandstopplayingmediaifthedevicechargeisbelowthe“Lowbatterypercent”thresholdyouspecifyandreturnthedisplaytonormalwhendevicechargeisabove“Highbatterypercent”threshold.

Detect motion Usethecameratodetectmotion.Options:Usethecameratodetectmotion–Thedevicewillusethecameratodetectmotionandstartplaying.Itwillstopplayingmediaifnomotionisdetectedforthespecifiedtimeout.Motiondetectiontimeoutminutes–Thedevicewillstopplayingmediaifnomotionhasbeendetectedafterthespecifiednumberofminutes.

Display state Determineswhathappenswhenthereisascheduleevent.Choosethestateofthedisplaybasedonevents.Options:Alwayson-EventswillnotchangethedisplaystateOnforevents,otherwiseoff–Displaywilldisplaythescreenforscheduleeventsandwilldimthescreenotherwise.(Example:Atthegym,usethescheduletoturnthedisplayonduringclasses

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

83

butotherwiseturnitoff.)Offforevents,otherwiseon–Displaywillturnoffforscheduleeventsandwillturnonotherwise.(Example:AttheNursingHome,usethescheduletoturnthedisplayoffduringtheevent“nighttime”butotherwiseleaveiton.)

Display clock Choosethedevicebehaviourwhennoscheduleeventoccurs.Thedefaultistodisplayablankscreen.Ifyousetthisto“on”,thedevicewilldisplaythetimeofdayandthecalendardate.NOTE:Toswitchbetweena12hourAM/PMclockanda24hourclock,usetheSystemSettingsforthedevice.

Clock color Choosethetextcolorfortheclock.

HDMI CEC OneTouchPlay OnAndroid5.1+,whereVideoKioskhasbeeninstalledasaSystemAppin/system/priv-app,sendanHDMICECOneTouchPlaymessagetokeeptheTVturnedonthedeviceinputselectedwhenthescheduleindicatesmediashouldbeplaying.

OneTouchPlay Interval Howoften,inminutes,tosendOneTouchPlaymessages.Anynon-zerovaluemeanssendtheOneTouchPlaymessageevery“interval”minutes.AzerovaluemeansdonotsendOneTouchPlaybasedonaninterval.

HDMI CEC SendStandby OnAndroid6.0+,whereVideoKioskhasbeeninstalledasaSystemAppin/system/priv-app,sendSendStandbytoturntheTVoff(putitinstandbymode)whenthescheduleindicatesmediashouldstopplaying.

Enable/Disable HDMI Thisisanexperimentalfeatureandisnotmeanttobeused.

Toggle HDMI Thisisanexperimentalfeatureandisnotmeanttobeused.

Path to SysFS HDMI folder Thisisanexperimentalfeatureandisnotmeanttobeused.

Settings - Location Device location UsethelocationprovidedbythedeviceGPS(CurrentLocation)ORusethepostaladdressofthedeviceenteredasastring.ThisisthelocationthatwillbereportedontheManagementInterface

Path to location folder Choosethefolderthatcontainsyourlocationfiles(XML,JSON)

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

84

Use Geofence locations TurnGeofencesonorchoosealocation/geojsonfiletouse

When to check Geofences WhentocheckthecurrentlocationagainsttheGeofencesOptions:Priortoeachloop–CheckcurrentlocationbeforeplayingthemedialoopPriortoeachmediaitem–Checkcurrentlocationbeforeplayingeachiteminthemedialoop

Settings - Overlays Path to overlay folder Choosethefolderthatcontainsyouroverlayfiles(png)

Overlay file Chooseapngoverlayfileinthatfolderwithafilenameendingin.overlay.png

Overlay image scale type HowAndroidhandlesoverlayimagesthatareadifferentsizethanthescreenisdeterminedbythescaletypesetting.Typicallythedefault,FitCenter,issufficientbutyoumayhaveaspecificneedtochangeit.FormoreinformationonImageViewscaletypesrefertotheAndroiddocumentation.Options:MatrixFitXYFitStartFitCenterFitEndCenterCenterCropCenterInside

Hide overlay Usedtohidetheoverlayifthescreenisnottouchedformorethan15seconds.Whenthescreenistouched,theoverlaywillbedisplayedagain.Ifthissettingisnotenabled,theoverlaywillneverbehidden.Thedefaultis“off”

Highlight hotspots Usedtohelptestanddebugyour.xmlhotspotfile.Turnthisontohighlightyourhotspotsonyourscreensothatyoucanensuretheyareinthecorrectplaceandfunctioningasexpected.Remembertoturnthisfeatureoffbeforereleasingthedevicetousers.

Web inactivity timeout ThetimeoutforaninactivedeviceinWebView,afterwhichVideoKioskreturnstoplayingthemedialoop.Defaultis30seconds.Ifyousetthevalueto0,theWebViewwillnottimeoutandtheonlywaytogetbacktothemedia

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

85

playbackloopisfortheusertousetheBacknavigationorfortheJavascriptmethodwindow.VideoKiosk.closeWebView();tobeinvoked.IfyouturnWebViewnavigationoff,andsettheInactivitytimeto0thenyoumustuseJavascriptandinvokewindow.VideoKiosk.closeWebView();toreturntothemediaplaybackloop.

Show WebView navigation Bydefault,whenaWebViewopensabackbuttonispresentandasnavigationoccursabackwardsandforwardspagestackismaintained.Thissettingallowsyoutoturnoffnavigation.Defaultison.Ifyouturnnavigationoff,theuserwillreturntothemedialoopplaybackwhentheWebviewinactivitytimerexpires.IfyouturnnavigationoffandsettheWebinactivitytimervalueto0,theuserwillnotbeabletonavigatebackfromtheWebViewandtheonlywaytogetbacktothemediaplaybackloopisfortheinactivitytimertoexpireorfortheJavascriptmethodwindow.VideoKiosk.closeWebView();tobeinvoked.IfyouturnWebViewnavigationoff,andsettheWebViewinactivitytimeto0thenyoumustuseJavascriptandinvokewindow.VideoKiosk.closeWebView();toreturntothemediaplaybackloop.

Settings – Background Path to background folder Choosethefolderthatcontainsyourbackgroundfile(s)(png,jpg,mp3)

Background file Chooseapngorjpgbackgroundfileinthatfolder

Next Background Time Choosehowlong,inminutes,untilthenextbackgroundfileloads.Onlysetthisifyouwantthebackgroundimagetochange.

Audio URL EnableordisablebackgroundaudioplaybackandchoosetheURLtothebackgroundaudiostreamorlocalfile.

Settings - Management Protocol version ThemanagementprotocolversionsupportedbyVideoKiosk.Thedefaultvalueis0.

Possiblevaluesare:0–legacy(INIkey=valuewithnewlinedelimiter)responses1–JSONencodedresponses

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

86

NOTE:Thedefaultvalueis0forbackwardscompatibilitybutyoushoulduseprotocolversion1anddevelopyourmanagementserverusingJSON.Protocolversion0isdeprecatedandnonewfeatureswillbeaddedtoprotocolversion0.

NOTE:OlderversionsofVideoKioskwillnotsendtheprotocolversion.Ifyouaredevelopingyourownmanagementsystem,ensurethatyourmanagementserverassumesaprotocolof0andsendslegacyresponsesinthecaseofaProtocolversionnullvalue.

Device ID AuniqueIDforthisdevice(userspecified)

Device Zone Azoneforthisdevice(userspecified)

Report Interval Howoften(minutes)toreportstatus,enableordisable

Report Time Specifictimeofdaytoreportstatus,enableanddisable

URL WheretoPOSTdevicestatus

Management POST Content ThekeysandvaluesthatwillbeinthePOST.Tosendthekeyvaluepair,checkitscheckboxhere.

• Isvideoplayingcurrently?(isplaying=true|false)• Whatmediaisplaying?(currentmedia=filename)• Whatmediafolderwasselected(folderpath=path)• Whatisinthefolder?(foldercontent=[anarrayoffilenames])• DevicePassword(password=device’spassword)• Devicezone(zone=userconfiguredzone)• Rootaccessgranted(isroot=true|false)• Timesincelastreboot(uptime=thelengthoftimethesystemhasbeenup)• Filesize(filesize=[anarrayoffilesizesinbytes])• Emptyfiles(emptyfiles=[anarrayoffilenamesforallfileswithasizeof0)• Widgetinformation(widgetsenabled=true|false,areabwidgets=[anarrayofnames],

areacwidgets=[anarrayofnames],areadwidgets=[anarrayofnames])• WhichHDMI-CECmessagesareenabled(sendstandby=true|false,onetouchplay=true|false)• Countforeachhotspotinteraction,ifcountingconfigured(interactions)• DeviceLocation(location)

Accept push notifications EnablethissettingiftheVideoKioskclientshouldacceptpushnotificationsfromGoogle’sFirebaseCloudMessaging.PushnotificationscanbesenttoVideoKioskfromtheManagementservertorequestthedeviceimmediatelyPOSTitsstatus.IfyouaredevelopingaproprietarymanagementserverandwouldliketosendpushnotificationstoVideoKioskpleasecontactus.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

87

Settings - Widgets Enable Widgets Enablewidgetsforthisdevice.Ifyouchangethissetting,VideoKioskwilldisplaya4panellayout,includingmediacontentinAreaAandwidgetsinareasB,CandD.Ifyoudon’tconfigurewidgetsforareasB,C,D,backgroundwillbedisplayed.Ifyouhaven’tconfiguredabackground,ablackscreenwilldisplayinthoseareas.

A

B

C

D

Monitor Internet Priortoplayingthenextmediaitem,checkthestateoftheconnectiontotheInternet.IfthedeviceisnotconnectedtotheInternetthenhidewidgetareasB,C,andD.IfthedeviceisconnectedtotheInternetshowallthewidgetareas.

ConnectedtoInternet NotconnectedtoInternet

A

B

C

D

A

Draw frame on Area A DrawaframearoundAreaA

Choose Area B Widget Choose Area C Widget Choose Area D Widget Pickandconfigurewidgets|URLsforAreaB,CandDandchoosedisplaytime(inminutes).Defaultis60minutes.

Area A Padding Area B Padding Area C Padding Area D Padding Paddingallowsyoutolinewidgetsuphorizontallyandvertically.Usethissettingtosetpadding,indp,aroundwidgetarea–Left,Right,TopandBottom.Defaultis13dpforAreaAand0dpforAreasB,CandD,whichdisplayswiththepaddingdeterminedbythewidget.Todecreasethe

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

88

spacebetweenwidgets,setthepaddingtoanegative(-)number.Toincreasethepadding,increasethepaddingpositivenumbervalues.

Arrange in rows Arrangewidgetsintworowsinsteadoftwocolumns.Thedefaultistoarrangewidgetsintwocolumns.

Horizontal layout Layoutweightsallowyoutochangethesizeoftheareasonthescreen.Youcanusethehorizontallayoutweightstoalterthehorizontalwidthofeacharea.Foreexampleona1080pdisplayinlandscapeorientationwitharesolutionof1920x1080youcouldcreatealayoutwithAreaAtakingthefullwidthofthescreen,AreaBhidden,andAreasCandDtaking50%ofthescreenusingthehorizontalwidthsettingsof;AreaA:1920,AreaB:0,AreaC:960,andareaD:960.Theresultinglayoutwouldlooklikethis:

A

C

D

Vertical layout Layoutweightsallowyoutochangethesizeoftheareasonthescreen.Youcanusetheverticallayoutweightstoaltertheverticalheightofeacharea.Foreexampleona1080pdisplayinlandscapeorientationwitharesolutionof1920x1080youcouldcreatealayoutwithAreaAandBtakingthetophalfofthescreen,andareaCandDtakingthebottomhalfofthescreenusingtheverticalheightsettingsof;AreaA/B:540,AreaC/D:540.Theresultinglayoutwouldlooklikethis:

A

B

C

D

Settings - Security Set Password Setthepasswordrequiredtomakechangestothekiosk.ValidValues:AnyvalidAndroidpassword

Settings - License Deactivate Deactivatethelicenseonthisdevice.Thisenablesvolumelicenseholderstomigratelicensesbetweendevices.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

89

Settings - View Options Request best resolution OnAndroidv6andlaterAppscanrequestthatthedisplayresolutionbeupgradedto4Krenderingoncompatiblehardware.Ifyouenablethissetting,VideoKioskwilllookforthebestresolutionavailableonthedeviceandrequestthatresolutioninanefforttobeupgradedto4Kresolution.Bydefault,thissettingisoffandVideoKioskwillnotrequestthatthedisplaybeupgraded.(IfyourdeviceisnotrunningAndroidv6orlater,thissettingwillnotbedisplayed.)

Screen orientation Setthescreenorientationofthemediaplaybackscreentoeitherthedefaultforthesystemoraspecificorientationbasedonhowyouplantousethedisplay.

Use textured video views Turnonorofftexturedvideoview.Iftexturedvideoviewsareonthe2Drenderingpipelineisusedandiftexturedviewsareoffthe3Drenderingpipelineisused.Typicallythissettingisusedtoeliminatetheblackflashproblemonamlogic-baseddevices.

Pause playback ConfigureVideoKiosktoinvokePause()ratherthanStopPlayback()whentheendofavideoisreached.ThissettingcanresultinplaybackerrorsonsomedevicesandsoshouldonlybeenabledifUsetexturedvideoviewsdoesnotcompletelyeliminateblackflashesbetweenvideos.TypicallythissettingisusedtoeliminatetheblackflashproblemonAmlogic-baseddevices.Veryfewdevicesrequirethissettingtobeenabled.

Preload URLs TurnonoroffURLpreloading.IfPreloadURLsisonVideoKioskwillloadURLfilesinthebackgroundwhenthepreviousitemisbeingdisplayed.Typicallythissettingisusedtoeliminatevisibleloadingofwebcontent.However,ifyourwebcontentcontainsaudio,andthissettingisenabled,thewebpageaudiomaystartplayingwhilethepreviousitemisstillbeingdisplayed.Toavoidthisaudioissue,disablePreloadURLstoavoidtheaudioissue.

ImageView scale type HowAndroidhandlesimagesthatareadifferentsizethantheImageViewisdeterminedbytheImageViewscaletypesetting.Typicallythedefault,FitCenter,issufficientbutyoumayhaveaspecificneedtochangeit.FormoreinformationonImageViewscaletypesrefertotheAndroiddocumentation.Options:-PanandZoom(KenBurns)effect-FitXY-FitStart-FitCenter-FitEnd-Center-CenterCrop-CenterInside

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

90

Resize images to fit Turnonoroffautomaticimageresizing.IfResizeimagestofitison,thenwhenadisplayisrotated,VideoKioskwillautomaticallyresizetheimagetothelargestpossiblesizewhilemaintainingtheaspectratio.Youmayhaveaspecificneed(forexampleyouareusingalandscapedisplayinportraitorientation)toturnoffautomaticimageresizing.

Dither JPG images TurnonoroffJPGdithering.ThissettingcanaffectthequalityofyourJPGimagesonolderversionsofAndroid

Use EXIF Orientation TurnonorofftheuseoftheEXIFOrientationMETAdataforimagerotation.Whenthissettingisenabled,VideoKioskwillautomaticallyrotateimagesbasedontheEXIFdataembeddedintheimage.Thedefaultis“on”.

Max image megapixels Setthemaximumnumberofmegapixels.Iftheimageislargerthanthis,itwillbereducedinsizeby50%.HistoricallyAndroidhashadproblemsdisplayinglargeimagesandcancrashwith"outofmemory"errors.Ifyouaregetting"outofmemory"errors,youcanreducethesizeofthissettingtomakethemgoaway.Ifyouarenothaving"outofmemory"errors,youcanincreasethesizeofthissettingtodisplayhigherresolutionimages.

Show media name Turnonoroffthedisplayofthemediaitemname.Whenthissettingisenabled,VideoKioskwilldisplayeitherthetitleprovidedusingfilenamemetadatainthefilenameorthefilenameifatitleisnotprovided.Thedefaultis“off”.

Settings - Legacy First frame render time Howlong(1/100thseconds)thefirstvideoframetakestorenderOlderAndroiddevicescanflickerastheyattempttorenderthefirstframeofvideo.Thisflickeringcanbeeliminatedbyincreasingthefirstframerendertime.

Stretch video Stretchvideohorizontally.Typicallyusedtostretchlegacy,960x720videotonewstandard1280x720,inordertoeliminateblackbands.

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

91

Appendix A – Making Video Kiosk a System App IfyouhaveaccesstotheAndroiddevelopertools,andyourdeviceshellcanbecomeroot,thenyoucanusethismethodfromthecommandprompttoinstallVideoKioskasaSystemApp.

1.Remount/systemasread-write

adb root adb start-server adb shell su mount -o rw,remount /system exit

2.Copytheapkto/system/priv-app

adb push VideoKiosk-release.apk /system/priv-app/VideoKiosk-release.apk 1

3.SettheApppermission

adb shell su chmod 644 /system/priv-app/VideoKiosk-release.apk mount -o ro,remount /system exit

4.Rebootthedevice

adb reboot

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

92

Appendix B – Making Video Kiosk the device owner

YoucanmakeVideoKioskthedeviceownerfromthecommandpromptonyourcomputer

• IfyouhaveaccesstotheAndroiddevelopertools(installedonyourcomputer)and• IfyourdeviceisrunningAndroidv5orlater

Note:OnsomeAndroidv6devicesVideoKioskwillpinitselfandthenAndroidwillimmediatelyunpinVideoKiosk.Thistypicallymeansthereisasetting(DeviceSettings>Security>Screenpinning)thatyouneedtoturnon.Oncethatsettingisenabled,everythingwillworkasdescribed.

Verifythatyourdeviceallowsthedeviceadminfeaturebydoingthefollowing:

1. Fromacommandlineonthecomputer,enterthiscommand:

adb shell pm list features | grep device_admin

Youshouldgetaresponsebackthatlookssomethinglikethis:

feature:android.software.device_admin

Ifyourdevicedoesnotsupportsettingthedeviceowneryouwillgetablanklineback

Inthecasewhereyourdevicedoesnotsupportthesoftware.device_adminfeatureyoumaybeabletoenableitbydoingthefollowing:

1. Createatextfilenamedandroid.software.device_admin.xml2. Editthefileandputthefollowingcontentinit:

<?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2014 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <permissions> <feature name="android.software.device_admin" /> </permissions>

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

93

3. Fromacommandlineonthecomputer,enterthesecommands:

adb root adb remount adb push android.software.device_admin.xml /system/etc/permissions/ adb reboot

4. Whenthedevicehasfinishedrebooting,verifythatyourdeviceallowsthedeviceadminfeaturebyfollowingthestepsoutlinedabove

If,andonlyif,youareabletoverifythatyourdeviceallowsthedeviceadminfeature,performthefollowingstepstomakeVideoKioskthedeviceowner:

1. IfyouplantoinstallfromthePlayStore,addyouraccounttoyourdevice2. InstallVideoKioskonyourdevicefromthePlayStoreorbysideloadingthe.apkfile3. OpenVideoKioskandActivateyourlicense4. MakeVideoKioskthehomeApp(refertoAccessManagement,p.62)5. Ifyouaddedanaccounttothedevice,deletetheaccountfromthedevice

•VideoKiosk>Settings>Launching>Opensystemsettings•Accounts>Google>[account-name]>Hamburgermenu>Deleteaccount

6. ConnectyourdevicetoacomputerwiththeAndroiddevelopertoolsinstalled7. Fromacommandlineonthecomputer,enterthiscommand:

adb shell dpm set-device-owner com.burningthumb.premiervideokiosk/.AdminReceiver

8. Optionally,addtheaccountbackontothedevice•VideoKioskSettings>Launching>OpenSystemSettings•Accounts>Addnewaccount>[re-addaccount-name]•PresstheBackbuttontogetbacktoVideoKioskSettings

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

94

Appendix C – Built in Widget XML Settings TheVideoKioskbuiltinwidgetscanbeconfiguredusingXMLSettingsfiles.IfyoumodifytheXMLSettingsfilesonthedevicethewidgetwill,afterashortperiodoftime,reloaditselfusingthemodifiedsettings.

XML Tags ThefollowingXMLTagsaresupportedbythebuiltinwidgetsintheXMLSettingsfile.

All <settings></settings> <padding></padding> <top></top> <left></left> <right></right> <bottom></bottom>

URL Widget <url></url>

Image Folder Widget <pathimages></pathimages> <secondsperimage></secondsperimage>

Date and Time Widget <pathimages></pathimages> <secondsperimage></secondsperimage> <colortext></colortext> <fontsizetime></fontsizetime> <fontsizedate></fontsizedate> <booleanshowtime></booleanshowtime> <booleanshowdate></booleanshowdate>

RSS Widget <kindofwidget></kindofwidget> <hoursperdownload></hoursperdownload> <minutesperfeed></minutesperfeed> <itemsperfeed></itemsperfeed>

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

95

<secondsperitem></secondsperitem> <fontsizetitle></fontsizetitle> <fontsizedescription></fontsizedescription> <colortext></colortext> <colorbackground></colorbackground> <texthidden></texthidden> <itemsperfeed></itemsperfeed> <justifytitle></justifytitle> <justifydescription></justifydescription> <pathimage1></pathimage1> <pathimage2></pathimage2> <feeds></feeds> <urlfeed></urlfeed>

Examples ThefollowingareexamplesofXMLSettingsfilesforeachbuiltinwidget.

URL Widget XML Settings File Example <?xml version="1.0" encoding="UTF-8"?>

<settings> <padding> <top>13</top> <left>13</left> <bottom>13</bottom> <right>13</right>

</padding>

<url>file:///sdcard/html/analog-clock/index.html</url>

</settings>

Image Folder Widget XML Settings File Example <?xml version="1.0" encoding="UTF-8"?>

<settings> <padding> <top>13</top> <left>13</left> <bottom>13</bottom> <right>13</right>

</padding>

<pathimages>/sdcard/videokiosk/widget/image/images</pathimages>

<secondsperimage>30</secondsperimage>

</settings>

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

96

Date and Time Widget XML Settings File Example <?xml version="1.0" encoding="UTF-8"?>

<settings> <padding> <top>13</top> <left>13</left> <bottom>13</bottom> <right>13</right> </padding>

<pathimages>/sdcard/videokiosk/widget/date/images</pathimages>

<secondsperimage>30</secondsperimage>

<colortext>#FFAAAAAA</colortext>

<fontsizetime>30</fontsizetime>

<fontsizedate>20</fontsizedate>

<booleanshowtime>true</booleanshowtime>

<booleanshowdate>true</booleanshowdate>

</settings>

RSS Widget XML Settings File Example <?xml version="1.0" encoding="UTF-8"?>

<settings>

<padding> <top>13</top>

<left>13</left> <bottom>13</bottom> <right>13</right> </padding>

<kindofwidget>wide</kindofwidget>

<hoursperdownload>1</hoursperdownload>

<minutesperfeed>5</minutesperfeed>

<itemsperfeed>10</itemsperfeed>

<secondsperitem>30</secondsperitem>

<fontsizetitle>20</fontsizetitle>

<fontsizedescription>15</fontsizedescription>

<colortext>#FF000000</colortext>

<colorbackground>#FFFFFFFF</colorbackground>

<texthidden>hidden</texthidden>

<justifytitle>left</justifytitle>

<justifydescription>full</justifydescription>

<pathimage1>/sdcard/videokiosk/widget/rss/background/image1.png</pathimage1>

<pathimage2>/sdcard/videokiosk/widget/rss/background/image2.png</pathimage2>

<feeds>

<urlfeed>http://rss.cbc.ca/lineup/topstories.xml</urlfeed>

<urlfeed>http://premierwestmma.com/feed/</urlfeed>

<urlfeed>http://rss.cbc.ca/lineup/sports-nfl.xml</urlfeed>

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

97

</feeds>

</settings>

VideoKiosk–AndroidUser'sManualburningthumb.com(Mar20,2020)-v7.6.0.203020

98

Appendix D – Registering uncertified devices TofacilitateregisteringdeviceswithGoogle,VideoKioskdisplaystheGoogleServicesAndroidID(GSAID)onabuttononVideoKiosk'sLicenseActivationActivity(Screen)thatlinksdirectlytotheGoogledeviceregistrationpage.

Thestepstoregisteranuncertifieddevice,usingtheOdroid-N2asanexample,areasfollows:

1. IftheGoogleAppsarenotinstalledonyourdevice,downloadthecorrectOpenGAPPs(forexamplewiththeOdroid-N2boardyouwoulduseARM9.0Nano)fromhttps://opengapps.org/

2. Renamethedownloadtoashortname,forexampleoga.zip3. SideloadandopenVideoKiosk4. AllowallVideoKioskPermissions5. Ifyouarenotusingawirednetwork,setupWIFI6. EnableUSBdebugging

a. Gotothedevicesettings(backonescreenusingbackarrowintopleftcorner)b. ChooseAbouttabletc. TapBuildnumber8times

7. ConnectaUSBcabletothedevice,usuallyusingtheOTGport8. Enterthesecommands

a. adbrootb. adbpushoga.zip/cache/recovery/oga.zipc. adbshell

i. echo"--update_package=/cache/recovery/oga.zip">/cache/recovery/command

ii. dpmset-device-ownercom.burningthumb.premiervideokiosk/.AdminReceiver

iii. rebootrecovery9. OpenVideoKiosk10. TapAccount11. TapGoogle12. Waitforthe"Deviceisnotplayprotectcertified"message13. Enterthecommandadbreboot14. RegisterGoogleServicesFrameworkAndroidID

a. MakeanoteoftheGSAIDvaluedisplayedonthebuttontitleb. TapthebuttontoopentheRegistrationwebpagec. LogintoGoogled. AddtheIDfromstep(a)

15. Enterthecommandadbreboot