# DW Ads Reporter — Faz 10

Bu patch Faz 1-9 üstüne uygulanır. Amaç, resmi API SDK paketlerini projeye güvenli şekilde hazırlamak ve kurulum/test ekranını eklemektir.

## Eklenenler

- Sistem > API SDK Durumu ekranı
- `php artisan dw:check-api-sdks` komutu
- Google Ads PHP Client factory
- Meta Business SDK client wrapper
- Google API PHP Client factory
- GA4 Analytics Data client factory
- SDK ile bağlantı probe/test akışı
- SDK paket/extension health check entegrasyonu
- Composer kurulum referans dosyası
- SDK kurulum scripti
- `.env` örnek değişkenleri

## Uygulama

Faz 1-9 uygulanmış proje köküne patch dosyalarını kopyala.

```bash
composer dump-autoload
php artisan optimize:clear
php artisan dw:check-api-sdks
```

## Resmi SDK paketlerini kurma

```bash
composer require googleads/google-ads-php facebook/php-business-sdk google/apiclient google/analytics-data
composer dump-autoload
php artisan optimize:clear
php artisan dw:check-api-sdks
```

Alternatif:

```bash
bash scripts/dw-install-api-sdks.sh
```

## Yeni panel adresi

```text
/admin/system/api-sdk
```

## Önemli notlar

- Mevcut REST tabanlı veri çekme altyapısı korunur.
- SDK paketleri kuruluysa Sistem > API SDK Durumu ekranından SDK probe çalıştırılabilir.
- Google Ads SDK için `developer_token`, `client_id`, `client_secret`, `refresh_token` ve `customer_id` gerekir.
- Meta SDK için `app_id`, `app_secret`, `access_token`, `ad_account_id` gerekir.
- Search Console SDK testi için Google OAuth refresh token ve Search Console yetkisi gerekir.
- GA4 mevcut REST OAuth akışıyla çalışır; `google/analytics-data` daha çok service account / Application Default Credentials tarafında değerlidir.

## Environment örneği

`.env.dw-ads-reporter.example` içindeki değerleri ana `.env` içine ekleyebilirsin.

```env
DW_PREFER_OFFICIAL_SDKS=false
DW_GOOGLE_ADS_USE_SDK=false
DW_META_USE_SDK=false
DW_GSC_USE_GOOGLE_CLIENT=false
DW_GA4_USE_ANALYTICS_DATA_CLIENT=false
GOOGLE_ADS_DEVELOPER_TOKEN=
GOOGLE_ADS_API_VERSION=v23
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_APPLICATION_CREDENTIALS=
META_APP_ID=
META_APP_SECRET=
META_GRAPH_VERSION=v23.0
```

## Sonraki faz önerisi

Faz 11 için sıradaki en mantıklı adım:

- Google Ads resmi SDK ile GAQL query transport'u gerçek sync servisinin içine bağlamak
- Meta Business SDK ile Insights transport'u opsiyonel hale getirmek
- Search Console property selector ekranı
- GA4 property selector ekranı
- OAuth sonrası hesap/mülk listeleme ekranları
