UDP Syncing
UDP Syncing syncs named advert plugins on different players on the same network. Compare with Local Syncing.
UDP Syncing is conrolled by the following variables
Adverts.UDPSync.Enabled (def. false)- Enable syncing between named advert plugins on the same network.
Adverts.UDPSync.AdName (def. "FullScreenAds")- Name of advert plugins to do syncing on.
Adverts.UDPSync.IsController (def. false)-
When UDP sync is enabled:
- If IsController is True, the above named pulgin Controls other Follower plugins of the same name on other units.
- i.e. it will send the advert to prepare\play to those units.
- If IsController is False the above named pulgin is a Follower.
- i.e. it listens for an advert sent by a Controller instead of preparing\playing ones itself.
- If a Follower isn't "pinged" by Controller for 30 seconds it reverts to playing its own playlist.
Adverts.UDPSync.IPAddress (def. 255.255.255.255)- The IP address for UDP messages.
Adverts.UDPSync.Port (def. 50000)- The port for UDP messages.
Enabling UDP Syncing
This is done by overriding the above variables. You do this in the CMS by (depending on requirements):
- Overring them for all kiosk in the project (project > settings > variables)
Or - Overriding them per-kiosk (project > devices > kiosk > settings >USD Config)
- Remember, method 1 affects all kiosks.
- Do NOT use this method for Controllers. There must be only one Controller so method 2 must always be used for that.
- Followers can use method 1 if required but, if only a sub-set of kiosks need syncing, you can use method 2 for Followers and Controllers.
- et the variable
Adverts.UDPSync.Enabled=trueon all players to sync. - Override for all kiosks (method 1) or per-kiosk (method 2) for just a sub-set of players.
- Make sure the
Adverts.UDPSync.AdNamevariable is the name of the plugin you want to sync. - i.e. the "name" in that advert plugin's config file.
- The default "FullScreenAds" is the main adverts and should only be different for special setups.
- But if not, override for all kiosks (method 1) or per-kiosk (method 2) for just a sub-set of players.
- ONLY ONE unit on the network should be a Controller.
- Therefore, you must use USD settings (method 2) to override
Adverts.UDPSync.IsController=truefor just ONE unit. - e.g.
variable.replace.Adverts.UDPSync.IsController=true - Make sure
Adverts.UDPSync.IPAddressandAdverts.UDPSync.Portare correct. - If not, override for all kiosks (method 1) or per-kiosk (method 2) for just a sub-set of players.
Caveats
- UDP Controllers only tell Followers when to start preparing an advert, and when to show it.
- It is not "frame perfect" and might be fractionally out depening on network speed etc.
- All sync'd units MUST be using the same advert feed.
- If not, a Follower might not be able to find the advert sent by the Controller.
- This will result in unexpected behaviour.
- Syncing is NOT compatible with Beacon Messages because those are sent per unit and might be deferent on each kiosk.
- Therefore, if a Controller or Follower receives a Beacon Message, syncing is temporarily suspended until there are no more Beacon Messages.
- Do not set a plugin that uses Local Syncing (see below, e.g. banners) to also use UDP Syncing.
This will result in unexpected behaviour. -
UDP vs Local Syncing:
UPD Syncing syncs over the network as described above. -
Whereas Local Syncing syncs plugins on the same Player.
This tries to sync non-visible plugins with the currently playing one.
e.g. so banner ads match the full-screen ones when going into the map (and vice-versa).
This is controlled by its own separate variables.