---
metadata:
  - name: generator
    content: Diplodoc Platform v5.55.2
alternate:
  - https://yandex.com.tr/dev/games/doc/en/sdk/sdk-events.md
  - https://yandex.com.tr/dev/games/doc/hi/sdk/sdk-events.md
  - https://yandex.com.tr/dev/games/doc/ko/sdk/sdk-events.md
  - https://yandex.com.tr/dev/games/doc/ru/sdk/sdk-events.md
  - https://yandex.com.tr/dev/games/doc/tr/sdk/sdk-events.md
  - https://yandex.com.tr/dev/games/doc/vi/sdk/sdk-events.md
  - https://yandex.com.tr/dev/games/doc/zh/sdk/sdk-events.md
  - href: tr/sdk/sdk-events.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

# Etkinlikler

<!-- 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 -->

## Oyunun Duraklatılması ve Devam Ettirilmesi Olayları {#pause-resume}

`game_api_pause` ve `game_api_resume` olayları ile platform, oyunun duraklatılması ya da devam ettirilmesi gerektiğini bildirir. Bu olaylar, platformumuzla entegrasyon sürecini kolaylaştırır ve moderasyon gerekliliklerine uyumu sağlar ([madde 1.3](https://yandex.com.tr/dev/games/doc/tr/concepts/requirements.md#1-3) ve [madde 4.7](https://yandex.com.tr/dev/games/doc/tr/concepts/requirements.md#4-7)).

Duraklatma ve devam ettirme olaylarını destekleyen oyunlar, ek dış platformlarda dağıtım için uygun olabilir.


### game_api_pause ve game_api_resume Olayları {#pause-resume-events}

Bu olaylar, şunları takip etmenize yardımcı olur:

- Tam ekran veya ödüllü reklamların gösterilmesi ve kapatılması;
- Satın alma penceresinin açılması ve kapatılması;
- Tarayıcı sekmeleri arasındaki geçişler;
- Tarayıcı penceresinin küçültülmesi ve büyütülmesi.

Bu olaylar, [oyun içi etkinliklerin işaretlenmesi yöntemleri](https://yandex.com.tr/dev/games/doc/tr/sdk/sdk-game-events.md#gameplay) ile tutarlıdır. `game_api_pause` olayı tetiklendiğinde, `GameplayAPI.stop()` metodu çağrılır, `game_api_resume` olayı tetiklendiğinde ise `GameplayAPI.start()` metodu çağrılır.

Eğer oyun, `GameplayAPI.stop()` metodu kullanılarak zaten durdurulmuşsa (örneğin, oyuncu menüyü açtığında) ve ardından `game_api_pause` olayı gerçekleşirse, sonraki `game_api_resume` olayında `GameplayAPI.start()` metodu çağrılmayacaktır. Bu, oyunun mevcut durumunun oyun içi etkinlik işaretlemelerinin mantığını bozmadan korunmasını sağlar.

Yandex Oyunlar SDK'sındaki `on()` ve `off()` metodlarını kullanarak olaylara abone olun ve abonelikten çıkın.

#### Örnek {#pause-resume-example}

{% list tabs %}

- game_api_pause

    ```javascript showLineNumbers
    const pauseCallback = () => {
        pauseGame(); // Oyun döngüsünü ve müziği durduran fonksiyonunuz.
        console.log('GAME PAUSED');
    };

    ysdk.on('game_api_pause', pauseCallback); // 'game_api_pause' olaylarına abone olma.
    ysdk.off('game_api_pause', pauseCallback); // 'game_api_pause' olaylarından çıkma.
    ```

- game_api_resume

    ```javascript showLineNumbers
    const resumeCallback = () => {
        resumeGame(); // Oyun döngüsünü ve müziği yeniden başlatan fonksiyonunuz.
        console.log('GAME RESUMED');
    };

    ysdk.on('game_api_resume', resumeCallback ); // 'game_api_resume' olaylarına abone olma.
    ysdk.off('game_api_resume', resumeCallback ); // 'game_api_resume' olaylarından çıkma.
    ```

{% endlist %}

&nbsp; {.empty}


### Oyun başlangıcında tam ekran reklam {#startup-fullscreen-ad}

{% note warning %}

Platform, tüm oyunlarda otomatik olarak başlangıçta tam ekran reklam gösterir.

{% endnote %}

[ysdk.adv.showFullscreenAdv()](https://yandex.com.tr/dev/games/doc/tr/sdk/sdk-adv.md#full-screen-block) üzerinden çağrılan reklam bloklarının aksine, başlangıç reklamlarının doğrudan callback fonksiyonları yoktur. Doğru şekilde işlemek için `game_api_pause` ve `game_api_resume` olaylarını takip edin:

1. `game_api_pause` aldığınızda oyun sesini kapatın ve oyunu duraklatın.
2. `game_api_resume` olayını bekleyin ve oyunu devam ettirin.

Özellikle ses ve oyun mekaniğinin hemen başladığı oyunlar için bu oldukça önemlidir.

#### Başlangıç reklamı işleme örneği {#startup-ad-example}

```javascript showLineNumbers
let gameStarted = false;
let isPaused = false;

// Oyun başlatma fonksiyonu.
function initGame() {
    // Duraklatma ve devam etme olaylarına abone ol.
    ysdk.on('game_api_pause', handlePause);
    ysdk.on('game_api_resume', handleResume);

    // Duraklatılmış durumda olup olmadığımızı kontrol et.
    // Eğer öyleyse, oyunu başlatmadan önce resume beklenir.
    if (!isPaused) {
        startGame();
    }
}

function handlePause() {
    isPaused = true;
    // Sesi ve oyun mekaniğini durdur.
    console.log('GAME PAUSED - waiting for resume');
}

function handleResume() {
    isPaused = false;

    // Eğer oyun henüz başlamadıysa, başlat.
    if (!gameStarted) {
        startGame();
    } else {
        // Sesi ve oyun mekaniğini devam ettir.
    }

    console.log('GAME RESUMED');
}

function startGame() {
    gameStarted = true;

    // Ses başlatma.
    // Oyun döngüsünü başlat.
    console.log('GAME STARTED');
}

// Oyun başlatmayı tetikle.
initGame();
```



## Diğer olaylar {#other-events}

Kullanıcının uygulama ile etkileşiminde ortaya çıkan diğer olayları da takip edebilirsiniz.

```typescript showLineNumbers
enum ESdkEventName {
    EXIT = 'EXIT',
    HISTORY_BACK = 'HISTORY_BACK',
    ACCOUNT_SELECTION_DIALOG_OPENED = 'ACCOUNT_SELECTION_DIALOG_OPENED',
    ACCOUNT_SELECTION_DIALOG_CLOSED = 'ACCOUNT_SELECTION_DIALOG_CLOSED',
}

ysdk = {
    EVENTS: {
        EXIT: ESdkEventName.EXIT,
        HISTORY_BACK: ESdkEventName.HISTORY_BACK,
        ACCOUNT_SELECTION_DIALOG_OPENED: ESdkEventName.ACCOUNT_SELECTION_DIALOG_OPENED,
        ACCOUNT_SELECTION_DIALOG_CLOSED: ESdkEventName.ACCOUNT_SELECTION_DIALOG_CLOSED,
    },

    dispatchEvent(eventName: ESdkEventName, detail?: object): Promise<unknown> {},

    on(eventName: ESdkEventName, listener: Function): () => void {}
};
```


### HISTORY_BACK olayı {#history-back}

{% note alert %}

Bu olay, oyunun televizyonda çalıştırıldığı durumda mevcuttur.

{% endnote %}

**Back** düğmesine basılmasını izlemek için şu yöntemi kullanın:

```javascript showLineNumbers
ysdk.on(ysdk.EVENTS.HISTORY_BACK, () => {
    // Kullanıcıya özel oyun iletişim penceresinin gösterilmesi
    // oyundan çıkışı onayla, dahili ayarlara git, mağazaya git vb.
});
```


#### EXIT olayı {#exit}

Kullanıcı **Back**'e tıkladıktan sonra açılan özel diyalog penceresinde oturumu kapatmayı onayladıysa, oyun bir oturum kapatma olayı göndermelidir. Bunu yapmak için aşağıdaki yöntemi kullanın:

```javascript
ysdk.dispatchEvent(ysdk.EVENTS.EXIT);
```


### Oyun hesabı seçim diyaloğu {#account-selection-dialog}

Platform, hem giriş yapmış hem de yapmamış oyuncuların oyun ilerlemesini kaydeder. Kullanıcı önce giriş yapmadan oynayabilir, sonra hesabına giriş yapabilir. Bu durumda iki farklı ilerleme olacaktır: biri giriş yapılmış, diğeri yapılmamış. Platform, oyun süresi, son giriş tarihi gibi parametrelere göre kayıtları karşılaştırabileceği ve hangi ilerlemenin kullanılacağını seçebileceği bir diyalog penceresi gösterir.

Eğer oyuncu verilerini sık senkronize ediyorsanız veya oyun ilerlemesini kendi sunucunuzda saklıyorsanız, diyalog penceresinde hesap seçiminden sonra ilerleme değişimini takip edin.

SDK'da bunun için iki olay vardır:

- `ACCOUNT_SELECTION_DIALOG_OPENED` — diyaloğun açılması.
- `ACCOUNT_SELECTION_DIALOG_CLOSED` — diyaloğun kapanması.

Diyalog açıldığında oyuncu verilerinin düzenli senkronizasyonunu duraklatabilirsiniz. Kapatıldığında ise ana menüye dönebilir veya oyunu yeniden başlatıp oyuncu nesnesini tekrar isteyebilirsiniz.

#### Örnek {#account-selection-dialog-example}

```javascript showLineNumbers
// Hesap seçim diyaloğu açılma olayına abone ol.
ysdk.on(ysdk.EVENTS.ACCOUNT_SELECTION_DIALOG_OPENED, () => {
    // Oyuncu veri senkronizasyonunu duraklat.
});

// Hesap seçim diyaloğu kapanma olayına abone ol.
ysdk.on(ysdk.EVENTS.ACCOUNT_SELECTION_DIALOG_CLOSED, async () => {
    // Oyunun ana menüsüne dön veya sayfayı yeniden yükle.
    // ...

    // Oyuncu verilerini tekrar iste.
    const player = await ysdk.getPlayer();
    const data = await player.getData();
});
```



---

<!-- source: tr/_includes/sdk-support.md -->
{% note info %}

Destek ekibi, hazır oyunu Yandex Oyun platformuna yerleştirmenize yardımcı olur. Geliştirme ve test etme konularındaki uygulamalı sorulara ise diğer geliştiriciler [Discord topluluğu](https://discord.com/invite/wU4p3whr4T){.external} yanıt verir.

{% endnote %}

Yandex Games SDK kullanırken sorunla karşılaşırsanız veya sorunuz varsa, lütfen destek ekibiyle iletişime geçin:

<!-- source: tr/_includes/button-chat.md -->
<a href="https://yandex.com/chat/#/user/a4fa5c06-75db-9b38-6eea-b1673785f7d5">
  <span class="button">Sohbete yaz</span>
</a>
<!-- endsource: tr/_includes/button-chat.md -->
<!-- endsource: tr/_includes/sdk-support.md -->
