Quick Set up with QR Codes

What is it?

The "Quick Setup" button displayed on the start screen provides a quick way to setup an iPad simply by scanning a QR code. The QR code can be used to log the Device in, to download a set of events to the Device and to automatically run the first event. This can be an ideal way to run "Ship Out" photo booths (where you can pre-ship a booth, and email a QR code to setup), or for White Label partners to configure a Photo Booth to your requirements.


In this Guide


Encrypted QR codes

The QR codes are encrypted and can be optionally setup so that they will only work on one particular iPad. This means that a QR code containing login information can be safely used by operators or sent to clients without them being able to see information such as the password. Secure, encrypted QR codes can only be generated using the Event Editor - either using the "Admin QR Code Generator" dialog or the command line interface.


Less Secure QR Codes

Less secure plain text QR codes which can be generated on a website or as part of a CRM system can also be used. 


Appearance

The appearance of the quick setup page can be customized by creating background and/or overlay screen images. Please see Customizing the Start Screen and Removing Branding for details.


Generating QR Codes for Quick Setup

The QR codes used for quick setup are generated using the "Admin QR Code Generator" tool in the Event Editor. Select "QR code generator..." from the File menu in the Event Editor to open the "Admin QR Code Generator" tool:



QR code Quality

The QR code quality can be set using the "QR Code quality" dropdown list. The low or medium setting should be fine for most applications but you may need to increase the quality if you add an overlay image to the QR code.


Saving the QR Code

The generated QR code can be saved as a PNG image by clicking in the "Save as PNG..." button. This will save the QR code as a PNG file which is 500 x 500 pixels in size.


QR Code Overlay

An optional overlay can be added to the QR code to provide branding by entering the filename in the "Overlay:" edit box or by clicking on the "..." button to open a file browser. The overlay should be a PNG image which is 500 x 500 pixels in size with a transparent background and the logo placed in the center.

You can use this Canva Template as a guide

The overlay should not cover too much of the QR code otherwise it may not work. More of the QR code can be covered by the overlay image if the QR code quality is set to a higher setting.


Base URL

The base URL is the URL that would be loaded into a web browser if a user scanned the QR code with their phone (ie, not in Breeze). Set this to a suitable location, e.g. your website's home page, in case a user scans the QR code outside of Breeze Booth.


Syncing the Event

The admin QR code can be used to automatically sync the iPad using HTTP GET, HTTP POST or Dropbox.

The HTTP GET method provides the quickest and simplest way to download the events from you web server but it doesn't protect your events from being downloaded by unauthorized users. More security can be provided by using the HTTP POST or Dropbox options.

Please see the section on updating events for more information.


Run After Syncing

Select "Run event after syncing" to automatically run the first event after syncing the events.


Auto Login

The Admin QR code can also be used to automatically log the iPad in by entering the username and password. The username and password should correspond to a user defined in the Online Account

The QR code is encrypted and so you can safely give the QR code to a user to allow them to login with their iPad without having to reveal the password to them.

Additional security can be added by entering the vendor Iid of the iPad in the QR code generator. The vendor id is a unique id for each iPad running the app and is displayed at the bottom of the App Settings. The vendor Id entered in the QR code generator can be the full vendor id of the iPad to guarantee it can only be used on a particular iPad or you could enter just a portion of the vendor id which would mean it would be unlikely to match a different iPad.


Expiry

An admin QR code can also be given an expiry time after which it cannot be used. Select the "Expiry" checkbox and click on the "Date/time..." button to define an expiry date and time for the QR code.

If the the admin QR code contains login information and an expiry date the iPad will be automatically logged out when the expiry time has passed provided the app is running in the foreground.

The automatic logging out will not work if the iPad is turned off or if the app is not running in the foreground.


Generating Admin QR Codes using via the Command Line

An admin QR code can created by calling the Event Editor from a script and passing the following command line arguments:


Paramater

Description

-qr_path <pathname>

Where to save the PNG image of the QR code

-qr_base_url <URL>

The base URL

-qr_username <username>

-qr_password <password>

The username and password for logging in the iPad

-qr_sync_method <method>

The sync method: GET, POST or Dropbox (defaults to GET)

-qr_sync_url <URL>

The sync URL when using the GET or POST sync methods

-qr_post_password <password>

Optional POST password when using the POST sync method

-qr_dropbox_prefix <prefix>

Dropbox prefix when using the Dropbox sync method

-qr_auto_run

Auto run the first event after updating the events

-qr_expiry <t>

Expiry time for the QR code in seconds since the Unix epoch

-qr_vendor_id <id>

Optional vendor id used to secure the QR code

-qr_logo_path <pathname>

Pathname of optional logo PNG image to add to the QR code


Example

Generate an admin QR code that logs the iPad in with username test_user and password test_user_password:

BreezeBoothEventEditor.exe -qr_username "test_user" -qr_password "test_user_password" -qr_path "D:\qr_code.png"

Please note: the command line can also be used to generate single user QR codes. It will generate a single use QR code if the -qr_cmd argument is provided otherwise it will generate an admin QR code.


Less secure plain text QR codes


By default most of the commands available using secure QR codes can also be used with plain text QR codes. Plain text QR codes can be generated on a web site or as part of a CRM system whereas secure QR codes can only be generated using the Event Editor.

The processing of plain text QR codes can be disabled on an iPad by editing the settings.xml file and setting the following tag to false:

<enablePlainTextAdminQRCodes>false</enablePlainTextAdminQRCodes>

It can be re-enabled by setting the tag to true.

The QR text for plain text QR codes should be in the form of a URL with a parameter named "admin" containing a JSON string with the commands e.g.

https://breezesys.com?admin=<JSON_commands>

Note: The JSON commands must be URL encoded


Syncing via GET

Add a JSON string with name "sync" and the value set to the URL to sync from e.g. { "sync": "https://bb4ipad.com/sync" }


Syncing via POST

Add a JSON string with name "post" and the value set to the URL to sync from e.g

{ "post": "https://mysite.com/sync_script.php" }

An optional password can be added by adding a JSON string named "post_pw":

{ "post": "https://mysite.com/sync_script.php", "post_pw": "secret password" }

WARNING: the password is sent in plain text and could be read if the QR code falls into the wrong hands. Please either omit the password (in which case the app will use the password defined in the App Settings) or take additional measures to secure downloads e.g. by checking the Vendor Id of the iPad to see whether it is trusted or by checking the login name of the iPad.


Syncing via Dropbox

Add a JSON string with name "dropbox" and the value set an optional prefix e.g. { "dropbox": "prefix" }


Autorun after Syncing 

Add a JSON string with name "autorun" and the value 1 e.g. { "autorun": 1 }


Adding an Expiry Date

Add a JSON integer with name "expiry" and the value set to the number of seconds since the epoch (00:00:00 UTC on 1 January 1970) e.g. { "expires": 1594913923 }

If a QR code is scanned into the app after the expiry time has passed the QR code will be ignored and the iPad will be logged out.


Setting the Status URL

Add a JSON string with name "statusUrl" and the value set to the status URL. Optionally add the status URL password and update interval in seconds e.g.

{ "statusUrl": "https://mysite.com/webhook.php", "statusUrlPassword": "password", "statusUrlInterval": 600 }

Setting the Event Name and Event Strings

Add a JSON string with name "en" for the event name and strings with names "es1" through "es5" for the event strings e.g.

{ "en": "The Event Name", "es1": "Event string 1", "es2": "Event string 2" }

Limiting the QR code to a particular iPad

Add a JSON string with name "id" and the value set to the vendor id of the iPad it is intended for e.g.

 { "id": "ABCDEF123456QWERTY123" }

The QR code will only be processed if the vendor id matches the vendor id of the iPad. The vendor id is unique to each installation of the app on each iPad and is displayed at the bottom of the App Settings screen.


Example

Syncing via GET from https://bb4ipad.com/sync and then running the first event automatically.

The JSON command string is:

 { "sync": "https://bb4ipad.com/sync", "autorun": 1 }

This needs to be URL encoded before it can be added to the as a parameter to the URL e.g:

%7B%20%22sync%22%3A%20%22https%3A%2F%2Fbb4ipad.com%2Fsync%22%2C%20%22autorun%22%3A%201%20%7D

Then it can be added as a parameter named "admin to the URL e.g.

https://breezesys.com?admin=%7B%20%22sync%22%3A%20%22https%3A%2F%2Fbb4ipad.com%2Fsync%22%2C%20%22autorun%22%3A%201%20%7D

Logging in an iPad

Logging in an iPad is not available using plain text QR codes because the login password is sensitive information which shouldn't be encoded in a QR code as plain text. If you need a QR code to log in an iPad (e.g. for a drop off or unattended photo booth) you can create a secure QR code using the Event Editor and optionally protect it by adding expiry information or locking it to a particular iPad using the vendor id. Then use a second plain text QR code for loading the event.

Still need help? Contact Us Contact Us