---
title: "Branch"
description: "Branch'i Adapty ile entegre ederek derin bağlantıları ve uygulama dönüşümlerini takip edin."
---

[Branch](https://www.branch.io/), müşterilerin farklı cihaz, kanal ve platformlarda kullanıcılara ulaşmasını, onlarla etkileşim kurmasını ve sonuçları değerlendirmesini sağlar. Tüm cihaz, kanal ve platformlarda sorunsuz çalışan özel bağlantılar aracılığıyla mobil geliri artırmak için tasarlanmış, kullanımı kolay bir platformdur.

Adapty, mağazalardan gelen [abonelik etkinliklerini](events) tek bir yerden takip etmenizi sağlayan eksiksiz bir veri seti sunar. Adapty ile abonelerinizin davranışlarını kolayca izleyebilir, tercihlerini öğrenebilir ve bu bilgileri hedefli ve etkili iletişim için kullanabilirsiniz.

Adapty ile Branch arasındaki entegrasyon iki temel şekilde çalışır.

1. **Branch'ten attribution verisi alma**
    Branch entegrasyonunu kurduktan sonra Adapty, Branch'ten attribution verisi almaya başlar. Bu verilere kullanıcının profil sayfasından kolayca erişebilir ve görüntüleyebilirsiniz.

    
      <img src="/assets/shared/img/49f4aa7-CleanShot_2023-08-11_at_17.36.072x.webp"
      style={{
        border: '1px solid #727272', /* border width and color */
        width: '700px', /* image width */
        display: 'block', /* for alignment */
        margin: '0 auto' /* center alignment */
      }}
    />
    

2. **Branch'e abonelik etkinlikleri gönderme**
   Adapty, entegrasyonunuzda yapılandırılan tüm abonelik etkinliklerini Branch'e gönderebilir. Bu sayede söz konusu etkinlikleri Branch kontrol panelinden takip edebilirsiniz.

## Entegrasyonu kurma \{#set-up-integration\}

### Adapty'yi Branch'e bağlama \{#connect-adapty-to-branch\}

Branch entegrasyonu için Adapty Kontrol Paneli'nde [Integrations > Branch](https://app.adapty.io/integrations/branch) bölümüne gidin, geçiş düğmesini açık konuma getirin ve gerekli alanları doldurun.

  <img src="/assets/shared/img/817a051-CleanShot_2023-08-11_at_15.54.372x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

**Branch Key** değerini almak için Branch [Hesap Ayarları](https://dashboard.branch.io/account-settings/profile) sayfasını açın ve **Branch Key** alanını bulun. Bu değeri Adapty Kontrol Paneli'ndeki **Key test** (Sandbox için) veya **Key live** (Prodüksiyon için) alanına girin. Branch'te uygun anahtarı kullanmak için Live ve Test ortamları arasında geçiş yapın.

  <img src="/assets/shared/img/130e58b-CleanShot_2023-08-11_at_15.24.162x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

### Etkinlikleri ve etiketleri yapılandırma \{#configure-events-and-tags\}

Kimlik bilgilerinin altında, Adapty'den Branch'e gönderebileceğiniz üç grup etkinlik yer alır. İhtiyaç duyduklarınızı açmanız yeterli. Adapty'nin sunduğu etkinliklerin tam listesine [buradan](events) ulaşabilirsiniz.

Etkinlikleri Gelir (Apple/Google payı düşüldükten sonra) veya yalnızca ciro olarak gönderebilirsiniz. Ayrıca raporlamayı kullanıcının para biriminden yapılacak şekilde ayarlayabilirsiniz.

  <img src="/assets/shared/img/a645cf8-CleanShot_2023-08-11_at_15.18.282x.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

Adapty'nin sunduğu varsayılan etkinlik adlarını kullanmanızı öneririz. Ancak ihtiyacınıza göre etkinlik adlarını değiştirebilirsiniz.

Adapty, abonelik etkinliklerini sunucudan sunucuya entegrasyon aracılığıyla Branch'e gönderir. Bu sayede tüm abonelik etkinliklerini Branch kontrol panelinizde görüntüleyebilir ve edinim kampanyalarınızla ilişkilendirebilirsiniz.

### Uygulamanızı Branch'e bağlama \{#connect-your-app-to-branch\}

1. Bağlantıyı başlatmak için `.setIntegrationIdentifier()` SDK metodunu çağırın. Branch Identity ID'nizi `customerUserId` parametresine geçirebilirsiniz.

  ---
no_index: true
---
import Callout from '../../../components/Callout.astro';

<Callout type="note">
Üçüncü taraf bir kullanıcı kimliğini Customer User ID olarak kullanıyorsanız, bunu `activate()` sırasında geçirmeyin — üçüncü taraf SDK henüz bu kimliği oluşturmamış olabilir. Bunun yerine önce CUID olmadan `activate()` çağrısı yapın, ardından `setIntegrationIdentifier()` ve son olarak CUID ile `identify()` çağrısını gerçekleştirin.
</Callout>

  <Tabs groupId="current-os" queryString>
  <TabItem value="swift" label="iOS (Swift)" default>

  ```swift showLineNumbers
  do {
      try await Adapty.setIntegrationIdentifier(
          key: "branch_id", 
          value: <BRANCH_IDENTITY_ID>
      )
  } catch {
      // handle the error
  }
  ```
  </TabItem>
  <TabItem value="kotlin" label="Android (Kotlin)" default>

  ```kotlin showLineNumbers
  // login and update attribution and identifier
  Branch.getAutoInstance(this)
      .setIdentity("YOUR_USER_ID") { referringParams, error ->
          referringParams?.let { data ->
              Adapty.updateAttribution(data, "branch") { error ->
                  if (error != null) {
                      //handle the error
                  }
              }
          }
      }

  // logout
  Branch.getAutoInstance(context).logout()
  ```
  </TabItem>
  <TabItem value="flutter" label="Flutter" default>
  ```javascript showLineNumbers
  import 'package:flutter_branch_sdk/flutter_branch_sdk.dart';

  FlutterBranchSdk.setIdentity('YOUR_USER_ID');
  ```
  </TabItem>
  <TabItem value="unity" label="Unity (C#)" default>
  ```csharp showLineNumbers
  Branch.setIdentity("your user id");
  ```
  </TabItem>
  <TabItem value="rn" label="React Native (TS)" default>

  ```typescript showLineNumbers
  import branch from 'react-native-branch';

  branch.setIdentity('YOUR_USER_ID');
  ```

  </TabItem>
  </Tabs>

2. Attribution verisini kaydetmek için `.updateAttribution()` metodunu kullanın. Branch kullanıcı ID'sini bir önceki adımda belirtmediyseniz, burada `networkUserId` parametresine geçirin.

  <Tabs groupId="current-os" queryString>
  <TabItem value="swift" label="iOS (Swift)" default>

  ```swift showLineNumbers
  class YourBranchImplementation {
      func initializeBranch() {
          // Pass the attribution you receive from the initializing method of Branch iOS SDK to Adapty.
          Branch.getInstance().initSession(launchOptions: launchOptions) { (data, error) in
              if let data {
                  Adapty.updateAttribution(data, source: .branch)
              }
          }
      }
  }

  ```
  </TabItem>
  <TabItem value="kotlin" label="Android (Kotlin)" default>

  ```kotlin showLineNumbers
  //everything is in the above snippet for Android
  ```
  </TabItem>
  <TabItem value="flutter" label="Flutter (Dart)" default>

  ```javascript showLineNumbers
  try {
      await Adapty().setIntegrationIdentifier(
          key: "branch_id", 
          value: <BRANCH_IDENTITY_ID>,
      );
  } on AdaptyError catch (adaptyError) {
      // handle the error
  } catch (e) {
      // handle the error
  }
  ```
  </TabItem>
  <TabItem value="unity" label="Unity (C#)" default>

  ```csharp showLineNumbers
  using AdaptySDK;

  Branch.initSession(delegate(Dictionary<string, object> parameters, string error) {
      string attributionString = JsonUtility.ToJson(parameters);
      
      Adapty.UpdateAttribution(
        attributionString, 
        "branch", 
        (error) => {
          // handle the error
      });
  });
  ```
  </TabItem>
  <TabItem value="rn" label="React Native (TS)" default>

  ```typescript showLineNumbers
  import { adapty, AttributionSource } from 'react-native-adapty';
  import branch from 'react-native-branch';

  branch.subscribe({
    enComplete: ({
      params,
    }) => {
      adapty.updateAttribution(params, "branch");
    },
  });
  ```

  </TabItem>
  </Tabs>

## Etkinlik yapısı \{#event-structure\}

Adapty, seçilen etkinlikleri [**Branch Entegrasyon sayfasındaki**](https://app.adapty.io/integrations/branch) **Events names** bölümünde yapılandırıldığı şekilde Branch'e gönderir. Her etkinlik şu yapıya sahiptir:

```json
{
  "branch_key": "key_live_kaFuWw8WvY7n1ss7...",
  "name": "PURCHASE",
  "user_data": {
    "os": "iOS",
    "developer_identity": "user_12345",
    "country": "US",
    "ip": "192.168.100.1",
    "idfa": "00000000-0000-0000-0000-000000000000",
    "idfv": "00000000-0000-0000-0000-000000000000",
    "aaid": "00000000-0000-0000-0000-000000000000"
  },
  "event_data": {
    "transaction_id": "GPA.3383-4699-1373-07113",
    "revenue": 9.99,
    "currency": "USD"
  },
  "custom_data": {
    "vendor_product_id": "yearly.premium.6999",
    "original_transaction_id": "GPA.3383-4699-1373-07113",
    "store": "play_store",
    "environment": "production"
  }
}
```

Parametreler:

| Parametre                      | Tür    | Açıklama                                                                                                                                     |
|:-------------------------------|:-------|:---------------------------------------------------------------------------------------------------------------------------------------------|
| `branch_key`                   | String | Branch Key'iniz.                                                                                                                             |
| `name`                         | String | Branch etkinlik adı (Adapty etkinliğinden eşlenen, örn. "PURCHASE").                                                                        |
| `user_data`                    | Object | Kullanıcı bilgileri.                                                                                                                         |
| `user_data.os`                 | String | "Android" veya "iOS".                                                                                                                        |
| `user_data.developer_identity` | String | Kullanıcının Customer User ID'si.                                                                                                            |
| `user_data.country`            | String | Kullanıcının IP adresine göre belirlenen ülke kodu.                                                                                          |
| `user_data.ip`                 | String | Kullanıcının IP adresi.                                                                                                                      |
| `user_data.idfa`               | String | **Yalnızca iOS**. Reklamverenler için ID (ID for Advertisers).                                                                               |
| `user_data.idfv`               | String | **Yalnızca iOS**. Satıcılar için ID (ID for Vendors).                                                                                        |
| `user_data.aaid`               | String | **Yalnızca Android**. Google Reklam ID'si.                                                                                                   |
| `event_data`                   | Object | Standart etkinlik metrikleri (yalnızca PURCHASE ve benzeri etkinliklerde bulunur).                                                           |
| `event_data.transaction_id`    | String | Mağaza İşlem ID'si.                                                                                                                          |
| `event_data.revenue`           | Float  | Gelir tutarı.                                                                                                                                |
| `event_data.currency`          | String | Para birimi kodu (örn. "USD").                                                                                                               |
| `custom_data`                  | Object | Ayrıntılı etkinlik nitelikleri (mevcut tüm [etkinlik alanlarını](webhook-event-types-and-fields#for-most-event-types) içerir). |