Solution Builder API
SPLauncher JavaScript Object
SPLauncher Properties
20min
overview see splauncher javascript object docid\ a4zyd7skiqshgb1yth8cn for background information this document specifies the properties you may pass to the splauncher launch( ) call required properties these properties are required to be specified splauncher properties docid bpkdmtjdpmi02x4qpzcw splauncher properties docid bpkdmtjdpmi02x4qpzcw splauncher properties docid bpkdmtjdpmi02x4qpzcw splauncher properties docid bpkdmtjdpmi02x4qpzcw partner information set the partner information you were given when you licensed screenpal solution builder partner { id 'myid', site 'mysite com', key 'mykey', expires 0123456789 }, jarhostpath this property provides the url path where the jars and zip files are hosted on your system for download by your customers be sure to replace any spaces in your path with %20 jarhostpath 'https //myhost/sp/', jar file names use the jars identified to you when you licensed screenpal solution builder jars { all \[ // jars that are loaded for both windows and mac osx "basicuploadskin 3 0 0 jar", "screencastomaticeditor 2 9 2 beta5 jar", "appskin 2 9 2 beta1 jar", "recorderskin 2 9 2 beta5 jar", "appnative 2 8 0 beta6 jar", "libresample4j 2016 jar", "jl1 0 1 2017 jar", // new for jre19 "batik all 1 16 jar", "xml apis 1 4 01 jar", "xml apis ext 1 3 04 jar", "xmlgraphics commons 2 7 jar" ], win \[ // jars that are only loaded on windows ], mac \[ // jars that are only loaded on mac ] }, callback\ function your function that gets called with the result of the launch attempt callback function(result) the returned value is an object with the following result properties result type (string) value description success the recorder has launched and should be showing soon on the screen failed the recorder failed to launch already the recorder is already running unsupported the current device is unsupported check result unsupportedtype for the reason result launchtype (string) value description `string` if result type == 'success' , then this is the string for the launch type used "java" or "protocol" result protocolnoinstallmarked (true or undefined) if checkinstallmark=true in options was passed to the launcher, then the script checks here first to see if there was a previous install marked successful in this browser the script returns failure right away if no previous install was marked successful result protocolnoinstallmarked ( true or undefined ) result protocolinstalled (true, false, or undefined) in browsers for win8+ie10+ and firefox, detection of an installed custom protocol is available if the current browser has the detection feature, this value is set to true or false depending on whether the custom protocol is installed if the browser doesn't support the detection then this will be undefined result protocolusercancelled (true, false, or undefined) in browsers for win8+ie10+, detection of a user clicking cancel (rejecting) the custom protocol is available if the current browser has this feature, this value is set to true or false depending on the user response to the prompt (to run the custom protocol or not) if the browser doesn't support the detection, then this value will be undefined result unsupportedtype (string) value description oldmac this browser is running on a mac that is older than 10 7, so it can't run the recorder notwinormac this browser isn't running on a windows or mac pc, so it can't run the recorder result error (string) if there is an error while launching, this value is set to a string that you can use to help debug only valid when using the optional remotestatusservice optional properties these are optional properties you may choose to specify splauncher properties docid bpkdmtjdpmi02x4qpzcw splauncher properties docid bpkdmtjdpmi02x4qpzcw splauncher properties docid bpkdmtjdpmi02x4qpzcw splauncher properties docid bpkdmtjdpmi02x4qpzcw splauncher properties docid bpkdmtjdpmi02x4qpzcw timeouts the optional timeout in seconds that causes the code to wait before designating that a particular launch option failed you can also set up a different timeout to use if the launch type has previously succeeded on this computer, so you can wait longer for it to work using the protocolaftersuccess and javaaftersuccess timeouts the default values are timeouts { protocol 10, java 10, protocolaftersuccess 10, javaaftersuccess 10 } checkinstallmark set this optional property to true if the script should only try protocol launcher if it finds that the install was attempted from this browser checkinstallmark false, remotestatusservice the javascript polls localhost ports looking for the screenpal recorder to start if you are using https, this may cause warnings in the browser console (browser dependent) the warnings include insecure access to remove these warnings, create a remote service on your server that the javascript will poll and the recorder will notify when it has been started the service requires two endpoints one that the recorder notifies, which is the updatestatus url, and a second that the javascript polls, which is the pollstatus url updatestatus the updatestatus is a url that the screenpal recorder will post to upon startup to report the status for this launch the post body will be json like { "status" "status" } pollstatus the pollstatus is a url that the javascript uses to (long) poll for the status update the result of the get request should be json like { "status" "status", "pollinginterval" 5 } if no status is reported yet, then the status would be an empty string otherwise, it should be the status string reported in the updatestatus call the pollinginterval is an optional timeout (in seconds) that the javascript uses when calling the server (with a default value of 5 seconds) make sure to encode the url parameter in the updatestatus and pollstatus with globally unique ids to allow your service to distinguish callbacks remotestatusservice { updatestatus 'http // /?id=some guid here', pollstatus 'http // /?id=some guid here' } properties the properties map is used to pass properties to configure the recorder after its launched for example if you are using the basic uploader then it will have a set of properties needed which you will pass via the properties map properties { name 'value', }, there are also a few properties which can be used regardless of the uploader chosen showmanager you may choose to open the screenpal editor directly, without first making a recording, to show local computer recordings to edit and publish { "showmanager" true } somlauncher setmarkinstall() if you set the checkinstallmark\ true in the options to launch() , then use this function to mark when you have shown the download to the user this helps the launcher to only try the protocol launch if the install was downloaded if the install has not been marked during this instance of browsing, then the launch will call back with result protocolnoinstallmarked = "true"