Ana sayfalar

Ana sayfalar, bir veya daha fazla bağlam dışı kart tanımlama olanağı sunan yeni bir Google Workspace eklentisi özelliğidir. Bağlam dışı kartlar, kullanıcı belirli bir bağlamın dışındayken (ör. Gmail gelen kutusunu görüntülerken ancak bir ileti veya taslak açmamışken) kullanıcı arayüzü göstermek için kullanılır.

Ana sayfalar, hızlı erişim yan panelindeki Google uygulamaları (Keep, Takvim ve Görevler) gibi bağlam dışı içerikler göstermenize olanak tanır. Ana sayfalar, kullanıcıların eklentinizi ilk kez açtığında başlangıç noktası olarak da kullanılabilir ve yeni kullanıcılara eklentinizle nasıl etkileşime geçeceklerini öğretmek için faydalıdır.

Proje manifestinizde belirterek ve bir veya daha fazla homepageTrigger işlevi uygulayarak eklentiniz için bir ana sayfa tanımlayabilirsiniz (Ana sayfa yapılandırması bölümüne bakın).

Eklentinizin genişlettiği her ana uygulama için bir tane olmak üzere birden fazla ana sayfanız olabilir. Özel ana sayfa belirtmediğiniz ana makinelerde kullanılan tek bir ortak varsayılan ana sayfa tanımlamaya da karar verebilirsiniz.

Eklenti ana sayfanız aşağıdaki koşullardan biri karşılandığında gösterilir:

  • Eklenti, ana makinede ilk kez açıldığında (yetkilendirmeden sonra).
  • Kullanıcı, eklenti açıkken bağlamsal bağlamdan bağlamsal olmayan bir bağlama geçtiğinde. Örneğin, bir Takvim etkinliğini düzenlemekten ana Takvim'e geçiş yapabilirsiniz.
  • Kullanıcı, geri düğmesini diğer tüm kartların iç gruplardan çıkması için yeterince tıkladığında.
  • Bağlam dışı bir karttaki kullanıcı arayüzü etkileşimi Navigation.popToRoot() çağrısıyla sonuçlandığında

Ana sayfa tasarlamak zorunlu değildir ancak önemle tavsiye edilir. Ana sayfa tanımlamazsanız kullanıcı ana sayfaya gittiğinde eklenti adınızı içeren genel bir kart kullanılır.

Ana sayfa yapılandırması

Google Workspace eklentileri, eklenti manifestindeki tüm ana makine uygulamaları için varsayılan ana sayfa (bağlam dışı) eklenti içeriğini yapılandırmak üzere addOns.common.homepageTrigger alanını kullanır:

    {
      // ...
      "addOns": {
        // ...
        "common": {
          // ...
          "homepageTrigger": {
            "runFunction": "myFunction",
            "enabled": true
          }
        }
      }
    }
  • runFunction: Google Workspace eklentileri çerçevesinin, ana sayfa eklenti kartlarını oluşturmak için çağırdığı Apps Komut Dosyası işlevinin adı. Bu işlev, ana sayfa tetikleyici işlevidir. Bu işlev, ana sayfa kullanıcı arayüzünü oluşturan bir Card nesnesi dizisi oluşturmalı ve döndürmelidir. Birden fazla kart döndürülürse barındıran uygulama, kart başlıklarını kullanıcının seçebileceği bir listede gösterir (Birden fazla kart döndürme bölümüne bakın).

  • enabled: Ana sayfa kartlarının bu kapsam için etkinleştirilip etkinleştirilmeyeceği. Bu alan isteğe bağlıdır ve varsayılan olarak true değerine ayarlanır. Bu ayar false olarak belirlenirse ana sayfa kartları tüm ana makineler için devre dışı bırakılır (ilgili ana makine için geçersiz kılınmadığı sürece; aşağıya bakın).

Ortak yapılandırmaya ek olarak, her ana makine uygulamasının yapılandırmasında addOns.gmail.homepageTrigger, addOns.calendar.homepageTrigger vb. yerlerde ana makine başına aynı şekilde yapılandırılmış geçersiz kılmalar da vardır:

    {
      ...
      "addOns": {
        ...
        "common": {
          // By default, call 'buildHomePage' to render homepage content
          // in all hosts. Since calendar.homepageTrigger below overrides
          // this in Calendar and Drive and the homepageTrigger is disabled
          // for Gmail, this homepage function never executes.
          "homepageTrigger": { "runFunction": "buildHomePage" }
        },
        "calendar": {
          // Show customized homepage content for Calendar only.
          "homepageTrigger": { "runFunction": "buildCalendarHomepage" }
        },
        "drive": {
          // Show customized homepage content for Drive only.
          "homepageTrigger": { "runFunction": "buildDriveHomepage" }
        }
        "gmail": {
          // Disable homepage add-on content in Gmail.
          "homepageTrigger": { "enabled": false }
        },
        ...
      }
    }

Bunun aşağıdaki manifest alıntısına eşdeğer olduğunu unutmayın:

    {
      ...
      "addOns": {
        ...
        "common": { /* ... */ }, // Omitted a default homepageTrigger specification.
        "calendar": {
          // Show customized homepage content for Calendar only.
          "homepageTrigger": { "runFunction": "myCalendarFunction" }
        },
        "drive": {
          // Show customized homepage content for Drive only.
          "homepageTrigger": { "runFunction": "myDriveFunction" }
        }
        "gmail": { /* ... */ },
        ...
      }
    }

homepageTrigger bölümlerinin hiçbiri zorunlu değildir. Ancak, belirli bir ana makine ürününde bir eklenti için gösterilen kullanıcı arayüzü, ilgili manifest alanının varlığına ve ilişkili bir homepageTrigger olup olmadığına bağlıdır. Aşağıdaki örnekte, farklı manifest yapılandırmaları için ana sayfa kullanıcı arayüzü oluşturmak üzere hangi eklenti tetikleyici işlevlerinin (varsa) yürütüldüğü gösterilmektedir:

Ana sayfa akışı

Ana sayfa etkinlik nesneleri

Yukarıda açıklanan ana sayfa tetikleyici işlevi (runFunction) çağrıldığında, çağırma bağlamındaki verileri içeren bir etkinlik nesnesi iletilir.

Ana sayfa etkinlik nesneleri widget veya bağlamsal bilgi içermez. İletilen bilgiler aşağıdaki ortak etkinlik nesnesi alanlarıyla sınırlıdır:

Daha fazla bilgi için Etkinlik nesnesi bölümüne bakın.

Bağlama bağlı olmayan diğer kartlar

Eklenti kullanıcı arayüzünüzde, ana sayfa olmayan ve bağlamla alakalı olmayan ek kartlar bulunabilir. Örneğin, ana sayfanızda kullanıcının eklenti ayarlarını düzenleyebileceği bir "Ayarlar" kartı açan bir düğme olabilir (bu tür ayarlar çoğu durumda bağlamdan bağımsızdır ve bu nedenle bağlama bağlı değildir).

Bağlam dışı kartlar diğer kartlar gibi oluşturulur. Tek fark, kartı oluşturan ve gösteren işlem veya etkinliktir. Kartlar arasında geçiş oluşturma hakkında ayrıntılı bilgi için Gezinme yöntemleri başlıklı makaleyi inceleyin.