Share and Embed an instance¶
This feature allows you to easily share or embed an instance using iframe.
Please use a fixed IP address, a valid SSL certificate and appropriate firewall rules if you want these sharing option to work outside of development environment.
To access the share feature, go to the Share tab from the Web interface:
Share an instance¶
You can share your instance by sending the URL displayed in the Share your instance box to other people:
This url contains your instance default username and password. If you changed the default credentials, it will not be automatically updated. You need to edit the username and password in the URL manually: https://{username}:{password}@{instance_public_IP}
.
Embed an instance¶
Instance embedding is now entirely supported by our open-source web player and can be easily setup and installed from the Embed this instance in your website box.
Customization¶
In this section, select the features you wish to enable or disable:
Preview¶
Just below the customization section, you can use the tabs to switch between the source code and a live preview:
Installation¶
You can install Genymotion device web player components locally, either with Webpack (Yarn/npm) or CDN:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@genymotion/[email protected]/dist/css/device-renderer.min.css">
<script src="https://cdn.jsdelivr.net/npm/@genymotion/[email protected]/dist/js/device-renderer.min.js"></script>
You can also use the web UI and copy paste the displayed content:
Usage¶
In this section, a code will be automatically generated, depending on the installation method you selected. You can then copy and paste the code to your HTML code to easily embed Genymotion device web player.
Examples
<style lang="scss">
import "@genymotion/device-web-player/dist/css/device-renderer.min.css";
</style>
<div id="genymotion"></div>
<script>
const webrtcAddress = 'wss://***.***.***.***/';
const options = {
template: "renderer_partial",
paas: true,
gpsSpeedSupport: true,
translateHomeKey: true,
streamResolution: false,
fileUploadUrl: 'wss://***.***.***.***/fileupload/',
token: 'i-**************',
microphone: true,
baseband: true,
connectionFailedURL: 'https://www.genymotion.com/help/cloud-paas/iceconnectionstate-failed/',
};
let instance;
try {
instance = new DeviceRendererFactory().setupRenderer(
document.getElementById('genymotion'),
webrtcAddress,
options,
);
// Disconnect the device player, closing any open data channels.
window.addEventListener('beforeunload', function() {
instance.destroy();
});
} catch (e) {
console.error('Error while loading the device player:', e);
}
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@genymotion/[email protected]/dist/css/device-renderer.min.css">
<script src="https://cdn.jsdelivr.net/npm/@genymotion/[email protected]/dist/js/device-renderer.min.js"></script>
<div id="genymotion"></div>
<script>
const webrtcAddress = 'wss://***.***.***.***/';
const options = {
template: "renderer_partial",
paas: true,
gpsSpeedSupport: true,
translateHomeKey: true,
streamResolution: false,
fileUploadUrl: 'wss://***.***.***.***/fileupload/',
token: 'i-**************',
microphone: true,
baseband: true,
connectionFailedURL: 'https://www.genymotion.com/help/cloud-paas/iceconnectionstate-failed/',
};
const { DeviceRendererFactory } = window.index;
let instance;
try {
instance = new DeviceRendererFactory().setupRenderer(
document.getElementById('genymotion'),
webrtcAddress,
options,
);
// Disconnect the device player, closing any open data channels.
window.addEventListener('beforeunload', function() {
instance.destroy();
});
} catch (e) {
console.error('Error while loading the device player:', e);
}
</script>
Contribute¶
Genymotion device web player is an open source project; if you wish to contribute, just click FORK ON GITHUB to fork the github repository to your personal one.
For more details, feel free to visit Genymotion Web Player repository.