---
metadata:
  - name: generator
    content: Diplodoc Platform v5.66.0
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: https://yandex.com.tr/dev/games/doc/tr/sdk/sdk-events.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.com.tr/dev/games/doc/tr/llms.txt?revision=r21993288
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/dev/games/doc/tr/llms.txt?revision=r21993288

# 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 abonelikten çı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 abonelikten çı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}

<!-- source: tr/_includes/sdk/common-with-plugins.md -->
{% note alert %}

Etkinlik yalnızca oyun bir televizyonda başlatıldıysa kullanılabilir.

{% endnote %}

**Back** düğmesine basılmasını izlemek için şu yöntemi kullanın:
<!-- endsource: tr/_includes/sdk/common-with-plugins.md -->

```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 {#exit}

<!-- source: tr/_includes/sdk/common-with-plugins.md -->
Kullanıcı, **Back** düğmesine bastıktan sonra açılan özel iletişim kutusunda oyundan çıkmayı onayladıysa, oyun çıkış etkinliğini göndermelidir. Bunun için şu yöntemi kullanın:
<!-- endsource: tr/_includes/sdk/common-with-plugins.md -->

```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/sdk-support.md -->
{% note info %}

Destek ekibi, hazır bir oyunun Yandex Oyunlar platformunda yayınlanmasına yardımcı olur. Geliştirme ve test etmeyle ilgili uygulamalı sorulara [Discord topluluğunda](https://discord.com/invite/wU4p3whr4T){.external} diğer geliştiriciler yanıt verir.

{% endnote %}

Yandex Oyun SDK'sını kullanırken bir sorunla karşılaşırsanız veya bir sorunuz olursa 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/sdk-support.md -->
