---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.com.tr/dev/games/doc/en/sdk/defold/player-data.md
  - https://yandex.com.tr/dev/games/doc/hi/sdk/defold/player-data.md
  - https://yandex.com.tr/dev/games/doc/ko/sdk/defold/player-data.md
  - https://yandex.com.tr/dev/games/doc/ru/sdk/defold/player-data.md
  - https://yandex.com.tr/dev/games/doc/tr/sdk/defold/player-data.md
  - https://yandex.com.tr/dev/games/doc/vi/sdk/defold/player-data.md
  - https://yandex.com.tr/dev/games/doc/zh/sdk/defold/player-data.md
  - href: tr/sdk/defold/player-data.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/dev/games/doc/tr/llms.txt

# Oyuncu verileri

<!-- source: tr/_includes/script-common.md -->
<!-- source: tr/_includes/script/index-js.md -->

<!-- endsource: tr/_includes/script/index-js.md -->

<!-- source: tr/_includes/script/requirements-js.md -->

<!-- endsource: tr/_includes/script/requirements-js.md -->

<!-- source: tr/_includes/script/image-modal-js.md -->

<!-- endsource: tr/_includes/script/image-modal-js.md -->
<!-- endsource: tr/_includes/script-common.md -->

Oyun durumu verilerini (tamamlanan seviyeler, deneyim, oyun içi satın almalar vb.) Yandex sunucusuna kaydedebilir veya bunları sunucunuza aktarabilirsiniz. Ayrıca, ad gibi Yandex kullanıcı profilindeki bazı verileri kullanarak oyunu kişiselleştirebilirsiniz.

## Oyuncu Hakkında Bilgi {#player-info}

```lua showLineNumbers
ysdk.player.get_info(
    callback: function,
    options: {
        scopes: boolean|nil,
        signed: boolean|nil
    }
)
```

`callback: function` — çağrılan metodun callback'i. Şu şekilde görünür:

```lua
function(self, player: table|nil, signature: string|nil): nil
```

- `player: table` — oyuncu hakkında bilgi. Şu özellikleri içerir:

```lua showLineNumbers
player = {
    logged_in: boolean,
    unique_id: string,
    name: string,
    photo: {
        small: string,
        medium: string,
        large: string
    }
}
```

**Örnek**

```lua showLineNumbers
function init_player()
  ysdk.player.get_info(function(self, player)
      if player then
        display_player(self, player)
      else
        ysdk.player.open_auth_dialog(function(self, authorized)
          ysdk.player.get_info(display_player, {})
        end)
      end
    end,
    {})
end

function display_player(player)
  if player then
    print(player.name, signature)
  end
end
```

## Kullanıcı Yetkilendirmesi {#auth}

Eğer oyuncu yetkilendirilmemişse, `ysdk.player.open_auth_dialog()` metodunu kullanarak yetkilendirme penceresini açabilirsiniz.

```lua
ysdk.player.open_auth_dialog(callback: function)
```

`callback: function` — callback çağrılan metodun. Şu şekilde görünür:

```lua
function(self, authorized: boolean): nil
```

- `authorized: boolean` — oyuncunun oturum açıp açmadığı.v

## Oyun içi veriler {#ingame-data}

Oyun içi kullanıcı verileriyle çalışmak için `Player` nesnesinin yöntemlerini kullanın:

- `ysdk.player.set_data(data, flush)` — kullanıcı verilerini kaydeder. Maksimum veri boyutu 200 KB'ı geçmemelidir. {#setdata}

    - `data: table` — anahtar-değer çiftlerini içerir.
    - `flush: boolean` — verilerin gönderim sırasını belirler. `true` olarak ayarlanırsa veriler hemen sunucuya gönderilir; `false` (varsayılan değer) ise verilerin gönderilmesi kuyruğa alınır.

Metot bir `Promise` döndürür ve verilerin başarıyla kaydedilip kaydedilmediğini gösterir.

`flush: false` parametresi ile döndürülen sonuç yalnızca verilerin geçerliliğini gösterir (gönderim kuyruğa alınır ve daha sonra gerçekleştirilir). Bu durumda, `ysdk.player.get_data()` metodu, son `ysdk.player.set_data()` çağrısı ile ayarlanan veriyi döndürür, veriler henüz gönderilmemiş olsa bile.

- `ysdk.player.get_data(callback, keys)` — Yandex veritabanında saklanan kullanıcının oyun içi verilerini talep eder.

    - `callback: fun(self, data: table<string, any>)` — kullanıcının alınan oyun içi verileriyle çalışmak için kullanılan işleyici fonksiyonu.
    - `keys: table<number, string>` — döndürülmesi gereken anahtarların listesi. `keys` parametresi verilmezse, metot kullanıcının tüm oyun içi verilerini döndürür.

- `ysdk.player.set_stats(stats)` — kullanıcının sayısal verilerini kaydeder. Verilerin maksimum boyutu 10 KB'yi geçmemelidir.

    - `stats: table<string, number>` — her değeri sayı olan anahtar-değer çiftlerini içerir.

{% note info %}

Bu yöntemi, sık sık değişen sayısal değerler (puanlar, deneyim puanları, oyun içi para birimi) için, [ysdk.player.set_data()](#setdata) yönteminin yerine kullanın.

{% endnote %}

- `ysdk.player.increment_stats(increments)` — kullanıcının oyun içi verilerini değiştirir. Verilerin maksimum boyutu 10 KB'yi geçmemelidir.
    - `increments: table<string, number>` — her değerin sayı olması gereken anahtar-değer çiftleri içeren nesne.
- `ysdk.player.get_stats(callback, keys)` — kullanıcının Yandex veritabanında kayıtlı sayısal verilerini alır.
- `callback: fun(self, data: table<string, number>|nil)` — alınan kullanıcı verileriyle çalışmak için kullanılan işleyici fonksiyonu.
- `keys: string[]` — döndürülmesi gereken anahtarların listesi. Eğer keys parametresi yoksa, yöntem kullanıcının tüm oyun içi verilerini döndürür.

## Kullanıcı kimlikleri {#user-ids}

```lua
ysdk.player.get_ids_per_game(callback: function)
```

`callback: function` — callback çağrılan metodun dönüş değeridir. Şu şekildedir:

```lua
function(self, ids: {appID: number, userID: string}[]): nil
```

- `ids` — geliştiricinin oyunlarında, kullanıcının kişisel verilerinin iletilmesine açıkça izin verdiği tüm oyunlardaki kullanıcı kimlikleri. Şu özellikleri içerir:
    - `app_id: string` — uygulama kimliği.
    - `user_id: string` — kullanıcı kimliği.

**Örnek**

```lua showLineNumbers
function log_ids()
  ysdk.player.get_ids_per_game(function(self, ids)
    for _, value in ipairs(ids) do
      print(value.app_id, value.user_id)
    end
  end)
end
```

---


<!-- source: tr/_includes/button-git.md -->
<a href="https://github.com/yandex-games-plugins/defold">
  <span class="button">Depo</span>
</a>
<!-- endsource: tr/_includes/button-git.md -->
