Profile
FRVR.profile exposes the current player’s channel‑assigned identity — a stable ID, and (on channels that still expose it) a display name and photo. It’s always available, even before auth has completed, because it comes from the channel itself.
Use FRVR.profile.id() to key any local data that should follow the player on this device. For cross‑device identity, use FRVR.auth.getFRVRID() instead.
Facebook Instant: name & photo are no longer available
Section titled “Facebook Instant: name & photo are no longer available”On other channels (Google Play, iOS, web channels) name and photo continue to behave as before — where available. Always ?.()‑guard both reads.
Locale
Section titled “Locale”FRVR.profile.getLocale() returns the player’s locale as a BCP 47 tag, such as en-US, pt-BR, or ja.
It picks the first of these that gives a usable value:
- The language the channel reports. YouTube Playables and Facebook Instant have their own setting, which is the one the player chose in the host app.
- The browser’s:
navigator.languages, thennavigator.language. en-US.
The result is normalised, so Facebook’s en_US comes back as en-US. The call never throws and never returns an empty string. It can return a bare language (ja) when that is all the host reports, so match on the language part before the region.
Call it after FRVR.bootstrapper.init() has resolved. Before that, a channel may not know its language yet and you get the browser’s. There is no change event, so read it once at startup.