Proyek
Tempat proyek dibuat dan kredensialnya tinggal: setiap proyek membawa lingkungan Live dan Test, masing-masing dengan ingest key dan signing secret sendiri. Rotasi datang dengan jendela tenggang agar deploy bisa menyusul, dan sebuah secret hanya ditampilkan sekali, saat dibuat.


The grid
Each row is one project: its name, its identifier chip, which environments it carries, a masked glimpse of its ingest key and when it was made. The Active and Archived tabs split the population, the search narrows by name, and New project opens a dialog that creates the project and reveals both credentials for Live and Test in the dialog itself: the ingest keys, which stay readable on the Messenger Install tab, and the signing secret, which is shown only there.
Renaming and archiving live on the row. Archiving asks for the project identifier to be typed back, because an archived project stops accepting traffic; the Archived tab restores.
Opening a project


Selecting a row opens the project: a card for the environment the console is in, carrying both credentials labelled. Deliberately not both cards at once: showing the Test key while working in Live is a mix-up waiting to happen, so the other environment's card appears by switching environment. The ingest key is what SDKs send events with; rotating it offers a grace window (immediately, one hour, a day or a week) during which the old key still ingests, so a fleet mid-deploy does not drop events. The signing secret is what the Messenger's identity verification signs with; its action reads Create until one exists and Rotate after. Either mint prints the new value exactly once, and a replaced secret says it replaced one, so an accidental rotation is visible before it bites.
Menggabungkan pengunjung ke orangnya
Satu sakelar per lingkungan pada kartu proyek: Simpan aktivitas sebelum masuk. Saat aktif, aktivitas seseorang sebelum ia masuk tetap melekat padanya, alih-alih dihitung sebagai pengunjung terpisah. Ia mulai dalam keadaan mati, dan yang membacanya adalah state worker, bukan peramban, jadi apa pun yang dikirim SDK, penggabungan tidak pernah terjadi untuk proyek yang belum memilihnya. Mematikannya menghentikan penggabungan berikutnya dan tidak menguraikan apa pun yang sudah tergabung. Anggota tanpa hak tulis pada proyek melihat sakelar dalam keadaan apa adanya dan tidak dapat menggesernya.
Menyalin konfigurasi
Semua yang Anda atur di satu lingkungan dapat disalin ke lingkungan mana pun dari proyek mana pun di ruang kerja ini, dalam satu operasi dengan beberapa tujuan. Salin konfigurasi di halaman Proyek membuka dialog dalam keadaan kosong; Salin ke… pada sebuah kohort, flag, eksperimen, papan, alur kerja atau koneksi membukanya dengan objek itu sudah tercentang. Pilih apa yang disalin dari pohon (satu jenis membawa semua yang ada di bawahnya, dan filter mempersempitnya), pilih ke mana, lalu tinjau satu tujuan pada satu waktu: setiap objek menyatakan apakah ia dibuat, ditimpa, tidak berubah, membutuhkan sesuatu yang tidak ada di tujuan (tambahkan atau lepaskan objeknya), atau ditolak, dan penimpaan menampilkan setiap bidang yang berubah sebelum apa pun ditulis. Sakelar (sakelar penyajian sebuah flag, hidup dan mati sebuah alur kerja, aktifnya messenger, status berjalan sebuah eksperimen, sakelar aktif sebuah kohort) hanya ikut jika Salin juga sakelar pada tinjauan dinyalakan. Tujuan yang mensyaratkan peninjauan mengubah flag-nya menjadi permintaan perubahan. Setiap tujuan diterapkan sendiri-sendiri, sehingga satu penolakan tidak pernah menahan yang lain.
Where this meets the API
What the keys are for is the Keys guide. On the wire: the listing is the projectGroups query, creation and lifecycle are createProject, renameProject and archiveProject, the credentials rotate through rotateProjectKey and rotateSigningSecret, and the Identity switch reads identityLinkEnabled and writes setIdentityLinkEnabled (GraphQL reference). The ingest key authenticates event ingestion; the signing secret backs Messenger identity verification (Messaging pillar).