This topic describes how to convert SSSP applications to Tizen.
Starting with Tizen 6.5, Samsung is not releasing any further enhancements to the Samsung Smart Signage Platform (SSSP), and the SSSP is going to be deprecated starting with Tizen 7.5. To fulfill the needs of Samsung signage partners and to replace the SSSP, Samsung has launched new Tizen Samsung Product APIs in Tizen 6.5. These new Tizen APIs are extensions of the Tizen Web Device API.
This guide describes the differences between the SSSP APIs and the new Tizen Samsung Product APIs in the following areas:
Tizen 6.5 includes the following new APIs:
These APIs provide similar features as the SSSP except for functionalities not supported in Samsung devices based on Tizen 6.5. Some features, especially getting network information, are performed via the already existing Tizen Samsung Product APIs. For more details, see SSSP API vs. Samsung Product API and the API references.
To use security-sensitive APIs, you must declare the required privileges and sign your application with a certificate for the appropriate privilege level. The new Samsung Product APIs are all partner-privileged APIs and you need to add their privileges to the "config.xml" file when developing applications. For the detailed privilege information and information on how to add privileges, see Configuring Web Applications.
The following table shows the interface mapping between the SSSP API and the Tizen Samsung Product API.
The following table shows the methods mapping between the SSSP B2BDoc API and the Samsung Product Document API .
b2bdoc.openDoc()
document.open()
b2bdoc.closeDoc()
document.close()
b2bdoc.playDoc()
document.play()
b2bdoc.stopDoc()
document.stop()
b2bdoc.prevPageDoc()
document.prevPage()
b2bdoc.nextPageDoc()
document.nextPage()
b2bdoc.pauseDoc()
document.pause()
b2bdoc.resumeDoc()
document.resume()
b2bdoc.setVerticalDoc()
document.setDocumentOrientation()
b2bdoc.gotoPageDoc()
document.gotoPage()
The following table shows the methods mapping between the SSSP B2BControl API and the Samsung Product AvInfo API, the Network API, the SystemControl API, and the Timer API.
The following features related APIs, however, are no longer supported even as Tizen Samsung Product APIs:
b2bcontrol.getMACAddress()
network.getMac()
b2bcontrol.getIPConfigType()
nework.getIpMode()
b2bcontrol.setIPConfigType()
b2bcontrol.getIPAddress()
network.getIp()
b2bcontrol.setIPAddress()
b2bcontrol.getSubNetMask()
network.getSubnet()
b2bcontrol.setSubnetMask()
b2bcontrol.getGatewayAddress()
network.getGateway()
b2bcontrol.setGatewayAddress()
b2bcontrol.getDNSServer()
network.getDns()
b2bcontrol.setDNSServer()
b2bcontrol.getProxyserverInfo()
b2bcontrol.setProxyserverInfo()
b2bcontrol.getLampSchedule()
systemcontrol.getScreenLampSchedule()
b2bcontrol.setLampSchedule()
systemcontrol.setScreenLampSchedule()
b2bcontrol.getIRLockStatus()
b2bcontrol.setIRLockOnOff()
b2bcontrol.getButtonLockStatus()
b2bcontrol.setButtonLock()
b2bcontrol.getPanelMuteStatus()
systemcontrol.getPanelMute()
b2bcontrol.setPanelMute()
systemcontrol.setPanelMute()
b2bcontrol.getSafetyLock()
systemcontrol.getSafetyLock()
b2bcontrol.setSafetyLock()
systemcontrol.setSafetyLock()
b2bcontrol.getMenuOrientation()
systemcontrol.getOnScreenMenuOrientation()
b2bcontrol.setMenuOrientation()
b2bcontrol.getSourceOrientation()
systemcontrol.getSourceOrientation()
b2bcontrol.setSourceOrientation()
b2bcontrol.getSafetyScreen()
b2bcontrol.setSafetyScreen()
b2bcontrol.getOsdMute()
systemcontrol.getMessageDisplay()
b2bcontrol.setOsdMute()
systemcontrol.setMessageDisplay()
b2bcontrol.getPCConnection()
systemcontrol.getPCConnection()
b2bcontrol.setPCConnection()
systemcontrol.setPCConnection()
b2bcontrol.getEcoSensor()
b2bcontrol.setEcoSensor()
b2bcontrol.getAlarmTemperature()
b2bcontrol.setAlarmTemperature()
b2bcontrol.getSpeakerType()
avinfo.getSpeakerSelection()
b2bcontrol.setSpeakerType()
avinfo.setSpeakerSelection()
b2bcontrol.rebootDevice()
systemcontrol.rebootDevice()
b2bcontrol.setPowerOff()
b2bcontrol.getAutoPowerOn()
b2bcontrol.setAutoPowerOn()
b2bcontrol.getMaxPowerSaving()
b2bcontrol.setMaxPowerSaving()
b2bcontrol.getEnergySavingMode()
b2bcontrol.setEnergySavingMode()
b2bcontrol.getNoSignalPowerOff()
b2bcontrol.setNoSignalPowerOff()
b2bcontrol.getStandby()
b2bcontrol.setStandby()
b2bcontrol.getNetworkStandby()
b2bcontrol.setNetworkStandby()
b2bcontrol.getFirmwareVersion()
productinfo.getFirmware()
b2bcontrol.updateFirmware()
systemcontrol.updateFirmware()
b2bcontrol.setUpdateFirmwareProgressChangeListener()
systemcontrol.setUpdateFirmwareListener()
b2bcontrol.unsetUpdateFirmwareProgressChangeListener()
systemcontrol.unsetUpdateFirmwareListener()
b2bcontrol.getCurrentTime()
timer.getCurrentTime()
b2bcontrol.setCurrentTime()
timer.setCurrentTime()
b2bcontrol.getOnTimer()
timer.getOnTimer()
b2bcontrol.getOnTimerVolume()
b2bcontrol.getOnTimerRepeat()
b2bcontrol.setOnTimer()
timer.setOnTimer()
b2bcontrol.setOnTimerVolume()
b2bcontrol.setOnTimerRepeat()
b2bcontrol.getOffTimer()
timer.getOffTimer()
b2bcontrol.getOffTimerRepeat()
b2bcontrol.setOffTimer()
timer.setOffTimer()
b2bcontrol.setOffTimerRepeat()
b2bcontrol.getHolidayList()
timer.getTimerHoliday()
b2bcontrol.getHolidayToTimer()
b2bcontrol.setHolidayList()
timer.addHoliday()
timer.deleteHoliday()
timer.applyTimerHoliday()
b2bcontrol.setHolidayToTimer()
b2bcontrol.getDSTMode()
timer.getDST()
b2bcontrol.getDSTTimeOffset()
b2bcontrol.setDSTMode()
timer.setDST()
b2bcontrol.setDSTTimeOffset()
b2bcontrol.getNTPUse()
timer.getNTP()
b2bcontrol.getNTPServerAddress()
b2bcontrol.getCurrentTimeZone()
b2bcontrol.setNTPUse()
timer.setNTP()
b2bcontrol.setNTPServerAddress()
b2bcontrol.setCurrentTimeZone()
b2bcontrol.getSystemTimeSyncTimeout()
timer.getSystemTimeSyncTimeout()
b2bcontrol.setSystemTimeSyncTimeout()
timer.setSystemTimeSyncTimeout()
b2bcontrol.getHotelID()
b2bcontrol.setHotelID()
b2bcontrol.deleteAppPrivateInfo()
b2bcontrol.getSerialNumber()
systemcontrol.getSerialNumber()
b2bcontrol.getProductType()
b2bcontrol.getCurrentTemperature()
b2bcontrol.startNodeServer()
b2bcontrol.stopNodeServer()
b2bcontrol.collectLogs()
b2bcontrol.captureScreen()
systemcontrol.captureScreen()
b2bcontrol.getSystemUpTime()
b2bcontrol.getNetPIP()
b2bcontrol.setNetPIP()
b2bcontrol.getURLLauncherAddress()
b2bcontrol.setURLLauncherAddress()
b2bcontrol.getURLLauncherTimeOut()
b2bcontrol.setURLLauncherTimeOut()
b2bcontrol.getMagicInfoServerUrl()
b2bcontrol.setMagicInfoServerUrl()
The following table shows the methods mapping between the SSSP B2BSync API and the Samsung Product Syncplay API .
b2bsyncplay.startSyncPlay()
syncplay.start()
b2bsyncplay.stopSyncPlay()
syncplay.stop()
b2bsyncplay.makeSyncPlayList()
syncplay.createPlaylist()
b2bsyncplay.clearSyncPlayList()
syncplay.removePlaylist()
The SSSP Web APIs are packaged as a JavaScript file separated from the Samsung Product APIs. The package file is called "b2bapis.js". The new, on the other hand, APIs are provided as a single JavaScript package file, called "webapis.js", with other Samsung Product APIs.
To use the SSSP APIs, "b2bapis.js" must be loaded in the "index.html" file:
<script type="text/javascript" src="$B2BAPIS/b2bapis/b2bapis.js"></script>
Sample code:
var onSuccess = function(val) { console.log("[clearSyncPlayList] success : " + val.result); } var onError = function(error) { console.log("[clearSyncPlayList] code :" + error.code + " error name: " + error.name + " message " + error.message); } try { b2bapis.b2bsyncplay.clearSyncPlayList(onSuccess, onError); } catch catch (e) { console.log("[clearSyncPlayList] call syncFunction exception [" + e.code + "] name: " + e.name + " message: " + e.message); }
To use the Samsung Product API, "webapis.js" needs to be loaded in "index.html" file:
<script type="text/javascript" src="$WEBAPIS/webapis/webapis.js"></script>
var onsuccess = function(val) { console.log("[removePlaylist] success : " + val.result); } var onerror = function(error) { console.log("[removePlaylist] code :" + error.code + " error name: " + error.name + " message " + error.message); } try { webapis.syncplay.removePlaylist(onsuccess, onerror); } catch (e) { console.log("[removePlaylist] call syncFunction exception [" + e.code + "] name: " + e.name + " message: " + e.message); }
required_version
<script type='text/javascript' language='javascript' src='$WEBAPIS/webapis/webapis.js'></script>
<script type="text/javascript" src="$B2BAPIS/b2bapis/b2bapis.js"> </script>