PushizoDocs
Kanallar

Konum tabanlı hedefleme

Kullanıcının izniyle cihaz konumunu alıp "şu noktanın X km yakınındakiler" segmentleri oluşturabilirsiniz (ADR-0025).

Kullanıcının izniyle cihaz konumunu alıp "şu noktanın X km yakınındakiler" segmentleri oluşturabilirsiniz (docs/adr/0025-hms-flutter-web-catalyst-konum.md).

İlkeler (KVKK)

  • Konum yalnızca uygulama ön plandayken, işletim sistemi izni verildikten ve uygulamanız Location.setShared(true) çağırdıktan sonra gönderilir. Arka plan konumu toplanmaz.
  • İlk paylaşım anı açık rıza kaydı olarak saklanır (location_consent_at).
  • Location.setShared(false) çağrıldığında konum ve rıza kaydı sunucuda hemen silinir.
  • Koordinatlar 5 ondalığa (≈1 m) yuvarlanır; SDK en sık 5 dakikada bir günceller.
  • İzin isteminden önce kullanıcıya konumun neden istendiğini anlatan bir açıklama gösterin (SDK requestPermission isteğe bağlı açıklama metni alır).

SDK

Pushizo.Location.requestPermission(activity, rationale = "Yakınınızdaki mağaza kampanyaları için")
Pushizo.Location.setShared(true)
```text

```swift
Pushizo.Location.requestPermission()
Pushizo.Location.setShared(true)
```text

```js
await Pushizo.Location.requestPermission();
Pushizo.Location.setShared(true);
```text

Ayrıntılar ve diğer platformlar: [Android](/docs/sdk/android), [iOS](/docs/sdk/ios), [Flutter](/docs/sdk/flutter),
Web SDK ve köprü README'leri. iOS'ta `Info.plist` içine `NSLocationWhenInUseUsageDescription` ekleyin.

## Segment

**Segmentler → Yeni → Koşul ekle → Konum**:

| Operatör | Anlamı |
|----------|--------|
| yarıçap içinde | Enlem, boylam ve yarıçap (0,1–1000 km); "Konumumu kullan" tarayıcı konumunu doldurur |
| tanımlı | Konum paylaşan cihazlar |
| tanımlı değil | Konum paylaşmayan cihazlar |

API tanımı:

```json
{ "all": [{ "field": "location", "op": "within_radius", "lat": 41.0082, "lng": 28.9784, "radius_km": 5, "days": 7 }] }
```text

`days` isteğe bağlıdır: yalnızca son N günde güncellenen konumları sayar. Konum paylaşmayan kullanıcılar bu koşulla
hiçbir zaman eşleşmez.

## Sunucu tarafı

Konum, SDK'nın abonelik güncellemesiyle gelir (`PATCH /sdk/v1/apps/{appId}/subscriptions/{id}`,
`location: { lat, lng, accuracy_m } | null`). Dashboard'da kullanıcı detayındaki abonelik satırında yaklaşık konum ve
güncelleme zamanı görünür; public API'nin abonelik yanıtları `location` alanını içerir.

Bu sayfada