After the launch of YouTube Gaming at the end of August, we posted a teardown of the new app that revealed plans to officially support screen recording and live streaming in the future. A recent announcement at the 2015 Tokyo Game Show Keynote (embedded below) confirmed Google's plans to enable Android devices to stream gaming footage to YouTube without the use of any additional software. The latest update to Play Games contains the evidence that Google is moving forward with this, and probably pretty soon.
Disclaimer: Teardowns are necessarily speculative and usually based on incomplete evidence. It's possible that the guesses made here are totally and completely wrong. There is always a chance that details may change or plans may be cancelled prior to the launch of a new feature discovered in a teardown. Much like rumors, nothing is certain until it's officially announced.
[EMBED_YT]https://youtu.be/5KXnsJMueMc?t=8269
[/EMBED_YT]
The Tokyo Game Show announcement sheds some new light on how things will operate for gamers that wish to record or stream their playing sessions. To begin with, it sounds like users will go to the Play Games app to begin recording, and some new code in the apk seems to confirm that. However, at this time, the lion's share of the resources for the user interface still reside in the YouTube Gaming app. It's possible the two apps will work in tandem, or perhaps this is just the first step of migrating everything over to the Play Games app. It probably makes the most sense to push all of the functionality into Play Games since the app is currently not very feature-rich, and the YouTube Gaming app is probably best left to focus on the experience of consuming content rather than also trying to help users create it.
New Activities
<activity android:icon="@mipmap/ic_launcher_play_games" android:label="@string/games_app_name" android:name="com.google.android.gms.games.ui.client.videos.ClientPrepareRecordingActivity" android:process="com.google.android.play.games.ui" android:theme="@style/Games.ClientUiTranslucentMaterialTheme">
<intent-filter android:priority="10">
<action android:name="com.google.android.gms.games.videos.PREPARE_RECORDING_ACTIVITY"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter android:priority="10">
<action android:name="com.google.android.gms.games.videos.PREPARE_RECORDING_ACTIVITY"/>
<data android:scheme="version"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:excludeFromRecents="true" android:exported="true" android:name="com.google.android.gms.games.ui.restricted.videos.RestrictedVideoCapturedActivity" android:process="com.google.android.play.games.ui" android:theme="@style/Games.ClientUiTranslucentMaterialTheme">
<intent-filter android:priority="10">
<action android:name="com.google.android.gms.games.VIEW_VIDEO_CAPTURED"/>
<data android:scheme="version"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
The majority of strings that have made the jump to Play Games are dedicated to instructional messages, errors, and a few for configuring a recording. There's nothing particularly interesting here after the teardown of YouTube Gaming. We already know there are going to be warnings when storage space gets low, and of course some messages when permissions or certain types of system hardware (i.e. front-facing cameras and microphones) are missing.
Perhaps the most significant detail to take away from these strings is that 480p will be the bar for standard definition (SD) video and 720p for high-definition (HD). Evidently, 1080p and above won't be options at launch.
strings
<string name="games_record_content_description">Record</string>
<string name="games_toast_video_captured_description">Tap to watch and share</string>
<string name="games_toast_video_captured_label">Video saved to library</string>
<string name="games_video_captured_share">Share</string>
<string name="games_video_captured_upload">Edit & upload to YouTube</string>
<string name="games_video_captured_video_description_format"><g id="game name">%1$s</g>"
- Recorded with Google Play Games on Android"</string>
<string name="games_video_captured_video_tags_format">Google Play Games,<g id="game name">%1$s</g></string>
<string name="games_video_captured_video_title_format"><g id="game name">%1$s</g> - <g id="date">%2$s</g></string>
<string name="games_video_captured_view_video">View in video library</string>
<string name="games_video_error_already_recording">Recording failed: already recording</string>
<string name="games_video_error_codec_failed">Recording failed: could not initialize encoder</string>
<string name="games_video_error_general">Recording failed: unknown recording error</string>
<string name="games_video_error_no_camera">This device has no front-facing camera or a permission is missing</string>
<string name="games_video_error_no_mic">This device has no microphone or a permission is missing</string>
<string name="games_video_error_no_streaming_target">Recording failed: invalid stream key or URL</string>
<string name="games_video_error_recording_permission">Recording failed: missing permission</string>
<string name="games_video_error_storage">Streaming failed: unable to write to storage</string>
<string name="games_video_error_stream_initialization">Streaming failed: stream could not be initialized</string>
<string name="games_video_error_unsupported">Recording failed: unsupported device</string>
<string name="games_video_error_video_not_active">Recording warning: attempted to stop recording twice</string>
<string name="games_video_error_virtual_display">Recording failed: could not record display</string>
<string name="games_video_nearly_out_of_space">Nearly out of space, recording stops in <g id="time_value">%d</g> seconds</string>
<string name="games_video_recording_legal_01">Remember: anything on your screen - notifications, calls, passwords - will be recorded.</string>
<string name="games_video_recording_legal_02">The mic captures game audio from the speaker, so turn up the sound. (Nearby sounds may also be recorded.)</string>
<string name="games_video_recording_legal_03">"Be sure you have the rights to what's being recorded."</string>
<string name="games_video_recording_legal_cancel">Cancel</string>
<string name="games_video_recording_legal_proceed">Next</string>
<string name="games_video_recording_legal_title">A few tips</string>
<string name="games_video_recording_prerecord_480p_shorthand">SD</string>
<string name="games_video_recording_prerecord_720p_shorthand">HD</string>
<string name="games_video_recording_prerecord_cancel">Cancel</string>
<string name="games_video_recording_prerecord_description">Play games and entertain an audience on YouTube! Record your gameplay, edit it, then upload.</string>
<string name="games_video_recording_prerecord_proceed">Launch</string>
<string name="games_video_recording_prerecord_quality_480p">480P SD</string>
<string name="games_video_recording_prerecord_quality_720p">720P HD</string>
<string name="games_video_recording_prerecord_quality_title">Quality settings</string>
<string name="games_video_recording_prerecord_title">Capture your games</string>
<string name="games_video_recording_remaining_minutes"><g example="HD" id="quality">%1$s</g> recording time: <b><g id="num_minutes">%2$s</g> minutes</b></string>
<string name="games_video_recording_remaining_minutes_less_than_five"><g example="HD" id="quality">%1$s</g> recording time: <b>Less than 5 minutes</b></string>
<string name="games_video_recording_support_link"><a href="https://support.google.com/googleplay/?p=record_games">Learn more</a></string>
<string name="games_video_stopped_out_of_space">Recording stopped: out of storage space</string>
<string name="games_video_stopped_screen_turned_off">Recording stopped because the screen was turned off</string>
<string name="games_dest_my_videos_delete_confirmation_message">"Are you sure you'd like to delete all "<g id="confirmation_message_count">%1$d</g> videos?</string>
<string name="games_dest_my_videos_delete_confirmation_neg">No</string>
<string name="games_dest_my_videos_delete_confirmation_pos">Yes</string>
Naturally, there are also some icons to drive the UI. The first set appear to just be basic status icons that might be shown in the corner of the screen, or possibly even silhouettes for use in the status bar, though those are usually done in white.
The next set of icons are floating action buttons (FABs) for quickly enabling or disabling the microphone or front-facing camera, or for ending the recording.
The next image will be used for toast messages when a video capture is complete. This is a 9-patch image. I've removed the markings that indicate locations, but the gray section is intended to stretch across the screen and text will be printed in that location. The second image is simply a placeholder image that will stand in for users that haven't set an avatar of their own.
Finally, there's a banner image Google will use at the top of an instruction screen introducing game streaming.
Wrap-Up
In a previous update, some of the elements for Chromecast support also turned up in Play Games. The obvious implication is that videos are probably coming to the app at some point in the future. I suspect the ultimate plan is to present footage from YouTube Gaming with each listing in the Play Games app. That would be a great way to give potential players a view of what gameplay is actually like rather than relying on promo videos or manually searching YouTube for examples. Of course, this would be a huge opportunity for existing players to drive views on videos they've made, and Google stands to gain on both increased sales for paid games (or games with IAPs) and ad impressions on the videos. It may sound opportunistic, but it could actually be a win-win for everybody.
Now that Google has acknowledged intentions to make screen recording and live streaming from Android devices a part of the ecosystem, it's probably safe to assume there is some motivation to get things rolling soon.
Download
The APK is signed by Google and upgrades your existing app. The cryptographic signature guarantees that the file is safe to install and was not tampered with in any way. Rather than wait for Google to push this download to your devices, which can take days, download and install it just like any other APK.
File Name: com.google.android.play.games-3.3.54_(2211773-038)-33540038-minAPI9.apk
Version: 3.3.54 (2211773-038) (33540038)