# User Parameters

You can also retrieve various information about the player and their device.

#### Device Type <a href="#device-type" id="device-type"></a>

Determine the type of device (mobile, tablet, desktop, tv) the game is being played on to adjust the game’s interface and performance settings.

```gdscript
Bridge.device.type
```

Returns the type of device the user launched the game from. Possible values: `mobile`, `tablet`, `desktop`, `tv`.

#### Authorization Support <a href="#authorization-support" id="authorization-support"></a>

Determine the type of device (mobile, tablet, desktop, tv) the game is being played on to adjust the game’s interface and performance settings.

```gdscript
Bridge.player.is_authorization_supported
```

#### Is the Player Currently Authorized <a href="#is-the-player-currently-authorized" id="is-the-player-currently-authorized"></a>

Verify if the player is currently authorized on the platform. This allows you to enable personalized features, such as saving high scores or providing user-specific content.

```gdscript
Bridge.player.is_authorized
```

{% hint style="info" %}
If the player is not authorized, you can still check the player's ID and name, there may be a guest account in use.
{% endhint %}

#### Player ID <a href="#player-id" id="player-id"></a>

Get the player’s unique ID on the platform to manage user-specific data and settings. Use this ID to track player progress, achievements, and purchases

```gdscript
Bridge.player.id
```

If the platform supports authorization and the player is currently authorized, this returns their platform ID. Otherwise, it returns `null`.

#### Player Name <a href="#player-name" id="player-name"></a>

Retrieve the player's name to personalize the game experience. Display the name in leaderboards, friend lists, or when sending notifications and messages.

```gdscript
Bridge.player.name
```

If there is no data – `null`. If the data is available, the data is in `string` format.

#### Player Photos <a href="#player-photos" id="player-photos"></a>

Get the count of player avatars available. Use this to manage and display user profile images effectively, such as showing the avatar in multiplayer lobbies or profile screens.

```gdscript
Bridge.player.photos
```

Possible values: an array of player avatars (sorted by increasing resolution), empty array.

#### Player Extra Fields <a href="#player-authorization" id="player-authorization"></a>

Get platform-specific information (properties may vary depending on the platform).

```gdscript
Bridge.player.extra
```

Use this data to verify authorization. Currently, the Playgama API verification only supports `playgama`, `msn` and `microsoft_store` platforms.

```bash
curl -X POST "https://playgama.com/api/bridge/v1/verify" \
  -H "Content-Type: application/json" \
  -d '{"platform":"<PLATFORM_ID>","type":"authorization","data":{  <...Bridge.player.extra> }}'
  
# {
#  Response:
#  {
#    success: boolean;
#    errorMessage?: string;

#    -- authorization --
#    playerId?: string;
#    publisherPlayerId?: string;
#  }
```

#### Player Authorization <a href="#player-authorization" id="player-authorization"></a>

Authorize the player on the platform to access protected features and personalize the game experience. For example, prompting the player to log in to save their progress or unlock social sharing features.

{% tabs %}
{% tab title="Godot 3.x" %}

```gdscript
func _ready():
    var options = {}

    Bridge.player.authorize(options, funcref(self, "_on_player_authorize_completed"))

func _on_player_authorize_completed(success):
    if success:
        print("Authorized")
    else:
        print("Authorization error")
```

{% endtab %}

{% tab title="Godot 4.x" %}

```gdscript
func _ready():
    var options = {}

    Bridge.player.authorize(options, Callable(self, "_on_player_authorize_completed"))

func _on_player_authorize_completed(success):
    if success:
        print("Authorized")
    else:
        print("Authorization error")
```

{% endtab %}
{% endtabs %}
