Finish the stream on purpose: when a tour ends, a configuration is done, or the viewer presses Exit. The machine is released at once, so you stop using minutes instead of waiting for an idle timeout.
| Triggered from | What you call | Works on the production player today |
|---|---|---|
| iframe | no message on the production player; remove the iframe (or set its src to about:blank) | Yes, by removing the frame |
| Web SDK | e3ds_controller.terminate() | Yes |
| Unreal | the plugin's E3DS Force End Session node, or {"cmd":"ForceEndSession"} | Yes |
The Web SDK and the app end the session through the player. An iframe page ends it by closing the connection: when the viewer's player disconnects, the server shuts the app down.
The iframe demo's Terminate stream is dimmed on production: it uses the message that is not there yet.
Web SDK demo: Terminate stream. Demo manual.
There is no "end" message on the production player yet. What works today: remove the frame, or point it at a blank page. The player disconnects, and the server shuts the app down and releases the machine.
document.getElementById("e3ds").src = "about:blank";
// or: document.getElementById("e3ds").remove();
When the app ends the session, your page receives a sessionEnding message (and the same again under its older name, redirectingWithMessage). Why a session ended.
document.getElementById("myExitButton").addEventListener("click", function () {
e3ds_controller.terminate();
});
Nothing reconnects on its own afterwards. To stream again, start a new session with e3ds_controller.main(...).
With the E3DS Features plugin: add BP_E3DS_PS_Actor to your level and call E3DS Force End Session. The viewer's page shows Session Ended.
Without the plugin: add a PixelStreamingInput component to an actor and send this with Send Pixel Streaming Response:
{"cmd":"ForceEndSession"}
Closing the tab instead: {"cmd":"ForeceEndTab"} (spelt with the extra e). Browsers usually refuse to close a tab the viewer opened, and then the stream keeps running. More on both.
| What you see | Why | What to do |
|---|---|---|
| From the iframe, nothing ends | There is no end message on the production player. | Remove the frame or set its src to about:blank. |
ForeceEndTab shows "Scripts may close only the windows that were opened by them" | The browser refused to close a tab the viewer opened. | Use ForceEndSession. |
No E3ds PS actor found on screen | BP_E3DS_PS_Actor is not in the level. | Add it. |
| The session ended but you did not end it | A crash, the time limit or the idle timeout. | Why a session ended. |
The other features, each with the same three ways to call it.
Last updated