Tealium AOM Takip Akisi

Versiyon: 3.1 | Guncelleme: 2026-05-18


1. Yonetici Ozeti

PostPaid ana sayfa acildiginda 3 paralel API cagrilir, tumu tamamlaninca (veya timeout olunca) AOM MVA call tetiklenir. Toplam sure cihaza gore 794ms - 6913ms arasi degisir.

Ozet Sureler:

Cihaz Toplam Sure AOM Request
Yuksek RAM (Device B) 794ms 335ms
Orta RAM (Device C) 1724ms 615ms
Dusuk RAM (Device A) 6913ms 4395ms

2. Architecture Overview - Component Diagram

+--------------------------------------------+
|            Yanimda App                      |
|                                            |
|  +--------------------------------------+  |
|  |  PostPaidHomeActivity (UI)           |  |
|  |  - LiveData observe                  |  |
|  |  - setTargetTimeoutTimer (2s guard)  |  |
|  |  - AOM_MVA confirmation              |  |
|  +------------------+-------------------+  |
|                     v                      |
|  +--------------------------------------+  |
|  |  PostPaidHomeViewModel               |  |
|  |  - isTargetRun (guard flag)          |  |
|  |  - isAllTargetDataEnabled()          |  |
|  |  - triggerTargetTimeout              |  |
|  +------------------+-------------------+  |
|                     v                      |
|  +--------------------------------------+  |
|  |  HomePageResponseState (State)       |  |
|  |  - postValue() [thread-safe bridge]  |  |
|  +------------------+-------------------+  |
|                     v                      |
|  +--------------------------------------+  |
|  |  TealiumHelper (SDK Wrapper)         |  |
|  |  - trackView() - HTTP POST           |  |
|  |  - homeRemoteCommand callback        |  |
|  +------------------+-------------------+  |
|                     v                      |
|  +--------------------------------------+  |
|  |  Tealium SDK                         |  |
|  +------------------+-------------------+  |
+---------------------+----------------------+
                      v
           +---------------------+
           |  Tag Management      |
           |  Server              |
           +---------------------+

3. Business Sequence Diagram

[Diagram]

4. Business Flow Chart

[Diagram]

5. Yukleme Fazlari

Faz 1: Dashboard Init

Faz 2: Paralel API Cagrilari

ViewModel init'te 3 API ayni anda tetiklenir:

API Gorev
getAppIcons Icon change response
getMainPageOffer MCCM main page offer
setTobiWelcomeMessage Tobi welcome message

Her API response geldiginde ViewModel'e postValue yapilir.

Faz 3: Karar Noktasi (Race Condition)

Iki yoldan biri ilk olan kazanir:

Yol A - Normal: Tum API'ler tamamlanir (isAllTargetDataEnabled = true)

Yol B - Timeout: 2s dolar, API'ler hala gelmemis

Faz 4: AOM Response


6. API Envanteri

# API Tip Tetikleyici Timeout Guard
1 getAppIcons REST ViewModel init 2s timer
2 getMainPageOffer REST ViewModel init 2s timer
3 setTobiWelcomeMessage REST ViewModel init 2s timer
4 fetch_aom (AOM MVA CALL) Tealium trackView Tum API complete VEYA timeout -
5 homeRemoteCommand Tealium Remote Cmd Server response -
6 aom_mva (AOM MVA RESPONSE) Tealium trackView Remote cmd response -

7. API Response Sureleri - Cihaz Bazli Production Verisi

Device A - Dusuk RAM

0ms     350ms   1813ms  1825ms  2518ms          6913ms
|        |       |       |       |               |
Init   APIs    Icons   Tobi   AOM Call       AOM Response
       Start   +Offer  Done
Metric Sure
getAppIcons 1463ms
getMainPageOffer 1474ms
setTobiWelcomeMessage 1473ms
AOM request 4395ms
Toplam 6913ms

Device B - Yuksek RAM

0ms   33ms    289ms  453ms 459ms  794ms
|      |       |      |     |      |
Init  APIs   Icons  Tobi  AOM   AOM
      Start  +Offer Done  Call  Response
Metric Sure
getAppIcons 256ms
getMainPageOffer 275ms
setTobiWelcomeMessage 420ms
AOM request 335ms
Toplam 794ms

Device C - Orta RAM

0ms    485ms  522ms  890ms 1084ms 1109ms  1724ms
|       |      |      |      |      |       |
App   Dash   APIs   Icons  Tobi   AOM    AOM
Init  Init   Start  +Offer Done   Call   Response
Metric Sure
app_to_dashboard_ms 485ms
getAppIcons 368ms
getMainPageOffer 368ms
setTobiWelcomeMessage 562ms
AOM request 615ms
Toplam (dashboard journey) 1239ms
Toplam (app init) 1724ms

Karsilastirma Tablosu

Metric Dusuk RAM Orta RAM Yuksek RAM
API baslangic gecikmesi 350ms 37ms 33ms
getAppIcons 1463ms 368ms 256ms
getMainPageOffer 1474ms 368ms 275ms
setTobiWelcomeMessage 1473ms 562ms 420ms
AOM request 4395ms 615ms 335ms
Toplam 6913ms 1724ms 794ms
Timeout (2s) tetiklendi mi? EVET Hayir Hayir

8. Tealium Target Entegrasyon Akisi

Akis:

  1. Dashboard init - startAomMva() cagirilir
  2. Timer baslar - setTargetTimeoutTimer(2000ms veya config'den)
  3. 3 API paralel tetiklenir - ViewModel init icinde
  4. Her response gelince - ViewModel LiveData gunceller
  5. Karar noktasi:
    • isAllTargetDataEnabled() == true VE isTargetRun == false → Normal akis
    • Timer dolarsa VE isTargetRun == false → Timeout akis
  6. isTargetRun = true - Sadece 1 kez calisir (guard)
  7. trackAomCall() - TealiumHelper.trackView("aom_mva") + markAomCall()
  8. Server response - homeRemoteCommand callback - markAomResponse()

Guard Mekanizmasi:

isTargetRun = false (baslangic)
  |
  +--> Normal path tetiklerse -> isTargetRun = true -> Timer artik skip
  |
  +--> Timer tetiklerse -> isTargetRun = true -> Observer artik skip

9. Tealium Event Envanteri

fetch_aom (AOM MVA CALL)

Ozellik Deger
Event type view
Tetikleyici Tum API response VEYA 2s timeout
Guard isTargetRun == false
Data getTealiumData() veya null

aom_mva (AOM MVA RESPONSE)

Ozellik Deger
Event type view
Tetikleyici Remote command response
Data page_name, session_id, container_name, offer JSON, source

10. Delay and Timer Envanteri

Timer Sure Kaynak Amac Fail Davranisi
setTargetTimeoutTimer 2000ms (default) ConfigManager.mccmTobiTargetData.timeoutDuration API'ler gelmezse zorla AOM call Partial data veya null ile devam
SDK Init ~33-485ms Jetpack Startup SDK hazir olmasi AOM call gecikir
fetch_aom Network 8s Tealium SDK Server response Timeout, no response
Target Offer Delay 0-1000ms Remote config UI settle Hemen goster

setTargetTimeoutTimer detay:


11. Mimari Notlar ve Cikarimlar

  1. Race condition yonetimi: isTargetRun flag ile timer ve observer arasinda sadece ilk tetiklenen kazanir

  2. Bottleneck dusuk RAM: API response'lar 1.4-1.5s suruyor (timeout tetiklenir)

  3. Bottleneck yuksek/orta RAM: setTobiWelcomeMessage en yavas API (420-562ms)

  4. Timeout onemli: Dusuk RAM cihazlarda 2s timeout olmasa AOM call 2.5s'de olur (API'ler 1.8s'de tamamlaniyor)

  5. AOM request sureleri: 335ms (hizli) - 4395ms (yavas) arasi - buyuk fark network/server load kaynakli

  6. Thread-safe: Remote command [IO] - postValue() - Observer [Main]

  7. Priority: Tealium > API (remote command data varsa override eder)

Kritik Path (Orta RAM)

Dashboard Init -> setTobiWelcomeMessage (562ms) -> AOM Call (615ms) = 1177ms

Kritik Path (Dusuk RAM - timeout tetiklenir)

Dashboard Init -> Timer (2000ms) -> AOM Call (4395ms) = 6395ms

Bagimlilik Grafigi:

Dashboard Init
  |
  +---> setTargetTimeoutTimer(2s) ----timeout---+
  |                                             |
  +---> getAppIcons --------+                   |
  +---> getMainPageOffer ---+-- isAllTarget? ---+---> trackAomCall (ilk gelen kazanir)
  +---> setTobiWelcomeMsg --+                   |
                                                |
  isTargetRun = true <--------------------------+