Sejak Oktober, subsistem analitik produk di beta Telegram untuk macOS terus berkembang. Subsistem ini melacak tampilan layar (screen views), peristiwa di menu dan pengaturan, funnel dengan hasil akhir, serta perjalanan pengguna (user journeys) melalui media, penerusan pesan, dan stiker. Bersamaan dengan itu, ada juga aturan privasi dan persetujuan yang dapat dicabut (revocable consent). Saat ini, belum ada toggle di antarmuka, dan kelas-kelas ini tidak terlihat di klien lain. Namun, Telegram Desktop yang sudah dirilis dan dokumentasi API telah menjelaskan sejak musim semi 2026 bagaimana klien melaporkan ke server berapa lama sebuah postingan terlihat di layar dan berapa banyak lagu yang telah didengarkan.

Apa yang Muncul di Beta untuk macOS

Beta macOS didistribusikan melalui feed pembaruan, dan kode sumbernya tidak tersedia secara publik. Komposisi subsistem terlihat dari nama-nama tipe dalam executable build — yang muncul dalam tiga tahap.

BuildTanggalApa yang Ditambahkan
12.10.2832583 OktoberTelemetri Jaringan NetworkTelemetry: pengukuran, peristiwa, gangguan, ringkasan periode, penyimpanan; di sampingnya — RecordingNetworkEngine, perekaman perilaku jaringan
13.0.28330811 OktoberAppAnalytics, AnalyticsScreenTracker, AnalyticsEvent, AnalyticsEventSpec, AnalyticsSchema, AnalyticsMenu, AnalyticsSetting — tampilan layar dan peristiwa berdasarkan skema yang telah ditentukan
13.0.28333819 OktoberPerjalanan pengguna AnalyticsMediaJourney, AnalyticsShareJourney, AnalyticsStickerJourney, AnalyticsMessageSend; funnel AnalyticsFlow dan AnalyticsFlowOutcome; AnalyticsPrivacy, AnalyticsRevocable, AnalyticsScope, AnalyticsParameterRule; pengumpul AppLogEventCollection

Dalam analitik produk, funnel adalah serangkaian langkah menuju suatu tujuan, dengan penanda di langkah mana pengguna berhenti: apakah membuka panel stiker, memilih, mengirim, atau menutupnya. Perjalanan (journey) adalah rangkaian yang sama untuk satu skenario. Berdasarkan namanya, terlihat ada tiga skenario: media, penerusan pesan, dan stiker. Secara terpisah, juga dicatat dari mana transisi ke browser bawaan (BrowserAnalyticsOrigin) berasal dan di bagian mana galeri dibuka (GalleryAnalyticsContext).

Blok ini bertindak sebagai sebuah eksperimen. Kurang dari dua jam setelah build 283338, build berikutnya, 283342, dirilis tanpa blok tersebut. Namun, pada 23 Oktober, blok itu kembali di 13.1.0.283362 dan bertahan sejak saat itu — di build 26 Oktober dan setelahnya, semua kelas tetap ada.

Apakah Ada Tombol Nonaktifkan?

Di antarmuka — tidak ada. Baik dalam string biner, paket sumber daya, maupun terjemahan klien untuk macOS, tidak ada teks tentang analitik, statistik penggunaan, atau persetujuan pengumpulan data.

Namun, ada petunjuk dalam kode. AnalyticsPrivacy dan AnalyticsRevocable berdasarkan namanya adalah aturan privasi dan pencabutan persetujuan, AnalyticsParameterRule adalah aturan tentang parameter peristiwa mana yang diizinkan untuk dikirim, dan AnalyticsScope adalah cakupan tindakan. Ini adalah hipotesis berdasarkan nama, tanpa melihat kode: analitik biasanya diatur sedemikian rupa sehingga pengguna dapat menolak pengumpulan data, dan peristiwa tidak membawa bidang yang tidak perlu.

Nama-nama tersebut tidak menyebutkan ke mana peristiwa-peristiwa ini dikirim. Skema API publik telah lama memiliki metode help.saveAppLog: metode ini menerima sekumpulan peristiwa dengan waktu, tipe, lawan bicara, dan JSON arbitrer. Pengumpul di beta disebut AppLogEvent*, tetapi hubungan di antara keduanya hanyalah dugaan berdasarkan kemiripan nama.

Apa yang Sudah Dihitung oleh Klien yang Dirilis

Beberapa pengukuran sudah bukan lagi eksperimen. Dokumentasi API menjelaskan metode messages.reportReadMetrics: klien melaporkan ke server berapa lama setiap pesan berada di area tampilan chat (chat viewport). Aturannya dijelaskan hingga milidetik.

  • Tampilan kurang dari 300 ms tidak dihitung;
  • time_in_view_ms — berapa lama pesan terlihat setidaknya satu piksel;
  • active_time_in_view_ms — bagian dari waktu tersebut ketika pengguna aktif; klien resmi menganggap pengguna aktif selama 15 detik setelah tindakan apa pun;
  • seen_range_ratio_permille — berapa proporsi tinggi postingan yang masuk ke area tampilan, dalam permil;
  • Tampilan berkelanjutan lebih dari lima menit dipotong menjadi tampilan terpisah, pengukuran dikumpulkan per chat dan dikirim dalam bentuk batch dengan penundaan 5 detik.

Di sana juga dijelaskan messages.reportMusicListen — berapa detik lagu telah didengarkan. Telegram Desktop mengirimkan kedua pengukuran ini sejak Maret 2026: pelacakan tampilan postingan dan pelacakan pendengaran muncul dalam kode pada hari yang sama, 25 Maret.

Pengukuran ini menjawab pertanyaan "apa yang dibaca dan didengarkan", sedangkan subsistem baru menjawab pertanyaan "bagaimana aplikasi itu sendiri digunakan". Yang pertama berkaitan dengan saluran dan konten, yang kedua berkaitan dengan layar, tombol, dan skenario.

Telemetri Jaringan dan Engine Rust

Bagian paling awal, NetworkTelemetry, hadir pada 3 Oktober bersama dengan RecordingNetworkEngine dan berkaitan dengan tugas lain. Sehari sebelumnya, 2 Oktober, engine jaringan berbasis Rust — RustNetworkEngine, RustRequestService, RustEngineNetworkRouter — dan antarmuka umum NetworkEngine dengan toggle SwitchingNetworkEngine muncul di beta. String «Rust (restart required)» dan «Engine switch to rust refused» menunjukkan bahwa engine berubah dengan restart, sementara «Rust engine crash of» dan «Rust panic» menunjukkan bahwa kegagalannya ditangkap secara terpisah.

Telemetri menyimpan penundaan, gangguan, dan kelas kesalahan, sementara engine perekam menulis permintaan dan respons dari salah satu dari dua tumpukan. Bersama-sama, ini menyerupai test bench untuk membandingkan kode jaringan lama dengan yang baru pada live traffic. Tidak ada metode dalam skema yang akan mengirim telemetri jaringan ke server — laporan mungkin tetap lokal.

Di Mana Ini Tidak Ada

Di beta Telegram untuk Android 13.2.0 dari 27 Oktober, tidak ada Analytics* maupun NetworkTelemetry. Semua yang disebut analitik dan telemetri di sana adalah milik pustaka Google bawaan: Cast, Play Services, dan Firebase Crashlytics. Metode reportReadMetrics dijelaskan dalam kode Android, tetapi panggilannya tidak terlihat di beta.

Di Telegram Desktop, analitik produk juga tidak ada — di sana hanya ada pelacakan tampilan postingan dan pendengaran lagu yang dijelaskan di atas.