async def play_url(self, url, **kwargs):
        """Play media from an URL on the device.

        Note: This method will not yield until the media has finished playing.
        The Apple TV requires the request to stay open during the entire
        play duration.
        """
        # If credentials have been loaded, do device verification first
        if self.identifier:
            await self.verify_authenticated()

        position = 0 if 'position' not in kwargs else int(kwargs['position'])
        return await self.player.play_url(url, position)