Method and system for streaming with rewards tracking and arcade content
Systems, devices, and methods for providing content streaming and arcade game services are provided. An example method includes activating a streaming interface to be presented on a display connected to a user device, receiving streaming content of at least one content item from a service provider connected to the user device, outputting the received streaming content for presentation and playback in the streaming interface, activating an arcade interface and co-presenting the streaming interface and the arcade interface concurrently on the display, receiving gaming content of at least one cloud-hosted game from the service provider, and outputting the received gaming content for presentation and gameplay in the arcade interface.
1 . A method comprising:
activating, by a user device in response to a first user input requesting for streaming, a streaming interface, wherein the streaming interface is presented on a display connected to the user device;
receiving, by the user device, streaming content of at least one content item from a service provider;
outputting, by the user device, the received streaming content for presentation and playback in the streaming interface;
activating an arcade interface of the user device, in response to a second user input requesting for gameplay, wherein the streaming interface and the arcade interface are concurrently co-presented on the display;
receiving, by the user device, gaming content of at least one cloud-hosted game from the service provider;
outputting, by the user device, the received gaming content for presentation and gameplay in the arcade interface; and
generating, periodically by an application being executed on the user device, a plurality of status messages, each status message being timestamped and comprising:
a header containing information about the at least one content item;
one or more playback states regarding the output of the received streaming content; and
one or more gameplay states regarding user interaction with the game;
transmitting the plurality of status messages to the service provider;
determining, by the service provider, a total duration of output content and a total duration of gameplay time, based on the plurality of status messages; and
mapping, by the service provider, a first reward to a user account associated with the user device based at least in part on the total duration of output content for the at least one content item and a second reward to the user account based at least in part on the total duration of gameplay time for the at least one cloud-hosted game, wherein the first reward is based at least in part on an inverse relationship to a playback rate of the output content.
2 . The method of claim 1 , wherein the received streaming content and gaming content are concurrently output to the streaming interface and arcade interface, respectively.
3 . The method of claim 1 , further comprising:
receiving, by the user device, a selection of an audio source from the group consisting of streaming content audio and gaming content audio.
4 . The method of claim 1 , wherein the streaming interface and the arcade interface are co-presented side-by-side on the display.
5 . The method of claim 1 , wherein the at least one content item comprises a plurality of content items, the at least one cloud-hosted game comprises a plurality of cloud-hosted games, and the method further comprises:
aggregating the first reward for each one of the plurality of content items; and
aggregating the second reward for each one of the plurality of cloud-hosted games.
6 . The method of claim 1 , wherein the plurality of status messages is generated at a frequency from once per one second to once per one minute.
7 . The method of claim 1 , wherein the one or more playback states of each status message indicate a current output streaming rate at the time when the status message is generated, and determining the total duration of output content further comprises:
determining a segment of output content for a time interval between every two successive status messages of the plurality of status messages by multiplying the time interval and the current output streaming rate indicated in the status message preceding the time interval; and
aggregating the segment of output content for each time interval.
8 . The method of claim 1 , wherein the one or more gameplay states of each status message indicate a current controller mode and a current controller state of a controller at the time when the status message is generated, the controller is connected to the user device, the controller mode is either a streaming mode configured to control the streaming content within the streaming interface or an arcade mode configured to control the gaming content within the arcade interface,
wherein determining the total duration of gameplay time further comprises:
identifying the status messages indicating the current controller mode being the arcade mode and the controller state being in use;
identifying a time interval between each one of the identified status message and the subsequent status message as a segment of gameplay time; and
aggregating the segment of gameplay time for each identified status message.
9 . The method of claim 1 , wherein the one or more playback states comprise at least one of media plays, media paused, media buffering, a play rate, a stream resolution, an output streaming rate, or a buffer rate.
10 . A user device comprising:
one or more processors; and
a computer-readable storage media storing computer-executable instructions,
wherein the instructions, when executed by the one or more processors, cause the user device to:
activate a streaming interface in response to a first user input, wherein the streaming interface is presented on a display connected to the user device;
receive streaming content of at least one content item from a service provider in communication with the user device;
output the received streaming content for presentation and playback in the streaming interface;
activate an arcade interface on the user device, in response to a second user input requesting for gameplay, wherein the streaming interface and the arcade interface are concurrently co-presented on the display;
receive gaming content of at least one cloud-hosted game from the service provider;
output the received gaming content for presentation and gameplay in the arcade interface;
generate, periodically by an application being executed on the user device, a plurality of status messages, each status message being timestamped and comprising:
a header containing information about the at least one content item;
one or more playback states regarding the output of the received streaming content; and
one or more gameplay states regarding user interaction with the game;
transmit the plurality of status messages to the service provider;
determine, by the service provider, a total duration of output content and a total duration of gameplay time, based on the plurality of status messages; and
map, by the service provider, a first reward to a user account associated with the user device based at least in part on the total duration of output content for the at least one content item and a second reward to the user account based at least in part on the total duration of gameplay time for the at least one cloud-hosted game, wherein the first reward is based at least in part on an inverse relationship to a playback rate of the output content.
11 . The user device of claim 10 , wherein the streaming content and gaming content are concurrently output to the streaming interface and arcade interface, respectively.
12 . The user device of claim 10 , wherein the instructions, when executed by the one or more processors, further cause the user device to:
receive, by the user device, a selection of an audio source from the group consisting of streaming content audio and gaming content audio.
13 . The user device of claim 10 , wherein the streaming interface and the arcade interface are co-presented side-by-side on the display.
14 . The user device of claim 10 , wherein the instructions, when executed by the one or more processors, further cause the user device to:
receive a first notification from the service provider, the notification indicating a total duration of output content and a total duration of gameplay time determined by the service provider, based on the plurality of status messages.
15 . The user device of claim 14 , wherein the instructions, when executed by the one or more processors, further cause the user device to:
receive, from the service provider, a second notification indicating the first reward and the second reward to the user account associated with the user device, wherein the second reward is determined by the service provider based at least in part on the total duration of gameplay time for the at least one cloud-hosted game.
16 . The user device of claim 10 , wherein the plurality of status messages is generated at a frequency from once per one second to once per one minute.
17 . The user device of claim 14 , wherein the one or more playback states of each status message indicate a current output streaming rate at the time when the status message is generated, and the total duration of output content is determined by:
determining a segment of output content for a time interval between every two successive status messages of the plurality of status messages by multiplying the time interval and the current output streaming rate indicated in the status message preceding the time interval; and
aggregating the segment of output content for each time interval.
18 . The user device of claim 14 , wherein the one or more gameplay states of each status message indicate a current controller mode and a current controller state of a controller at the time when the status message is generated, the controller is connected to the user device, the controller mode is either a streaming mode configured to control the streaming content within the streaming interface or an arcade mode configured to control the gaming content within the arcade interface,
wherein the total duration of gameplay time is determined by:
identifying the status messages indicating the current controller mode being the arcade mode and the controller state being in use;
identifying a time interval between the each one of the identified status message and the subsequent status message as a segment of gameplay time; and
aggregating the segment of gameplay time for each identified status message.