Ana sayfalar

Ana sayfalar, bir veya daha fazla bağlamsal olmayan kart tanımlama imkanı sunan yeni bir Google Workspace Eklentileri özelliğidir. Bağlamsal olmayan kartlar, kullanıcı belirli bir bağlamın dışında olduğunda (örneğin, kullanıcı Gmail gelen kutusunu görüntülediğinde ancak bir iletiyi veya taslağı açmadığında) kullanıcı arayüzünü görüntülemek için kullanılır.

Ana sayfalar, hızlı erişim yan panelindeki Google uygulamalarında (Keep, Takvim ve Görevler) olduğu gibi, bağlamsal olmayan içerikleri göstermenize olanak tanır. Ana sayfalar, kullanıcının eklentinizi ilk kez açtığı zaman için bir başlangıç noktası sağlayabilir ve yeni kullanıcılara eklentinizle nasıl etkileşimde bulunacaklarını öğretmek için yararlı olur.

Eklentinizi proje manifestinizde belirterek ve bir veya daha fazla homepageTrigger işlevini 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 makine uygulaması için bir tane olmak üzere birden çok ana sayfanız olabilir. Ayrıca, özel ana sayfa belirtmediğiniz ana makinelerde kullanılacak 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örüntülenir:

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

Ana sayfa tasarlamak zorunlu değildir ancak kesinlikle önerilir. Herhangi bir ana sayfa tanımlamazsanız, bir kullanıcı başka şekilde ana sayfaya gittiğinde eklenti adınızı içeren genel bir kart kullanılır.

Ana sayfa yapılandırması

Google Workspace Eklentileri, addOns.common.homepageTrigger alanını kullanarak eklenti manifest'indeki tüm ana makine uygulamaları için varsayılan ana sayfa (bağlamsal olmayan) eklenti içeriğini yapılandırır:

    {
      // ...
      "addOns": {
        // ...
        "common": {
          // ...
          "homepageTrigger": {
            "runFunction": "myFunction",
            "enabled": true
          }
        }
      }
    }
  • runFunction: Google Workspace Eklentiler ç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 derlemeli ve döndürmelidir. Birden fazla kart döndürülürse ana makine uygulaması, kart başlıklarını kullanıcının seçebileceği bir listede gösterir (bkz. Birden fazla kart iade etme).

  • enabled: Ana sayfa kartlarının bu kapsam için etkinleştirilip etkinleştirilmeyeceğini belirtir. Bu alan isteğe bağlıdır ve varsayılan olarak true değerine ayarlanır. Bunun false olarak ayarlanması, ana sayfa kartlarının tüm ana makineler için devre dışı bırakılmasına neden olur (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 ve benzerinde, aynı şekilde yapılandırılmış olan ana makine başına 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ğil. Bununla birlikte, belirli bir ana makine ürününde bir eklenti için gösterilen kullanıcı arayüzü, karşılık gelen manifest alanının varlığına ve ilişkilendirilmiş 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 amacıyla hangi eklenti tetikleyici işlevlerinin yürütüldüğü (varsa) gösterilmektedir:

Ana sayfa akışı

Ana sayfa etkinlik nesneleri

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

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

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

Bağlamsal olmayan diğer kartlar

Eklenti kullanıcı arayüzünüz, ana sayfa olmayan, bağlamsal olmayan ek kartlar içerebilir. Örneğin, ana sayfanızda, kullanıcının eklenti ayarlarını değiştirebileceği "Ayarlar" kartını açan bir düğme olabilir (bu tür ayarlar çoğu durumda bağlamdan bağımsız olur, dolayısıyla bağlamsal değildir).

Bağlamsal olmayan kartlar, diğer kartlar gibi oluşturulur. Tek fark, kartın oluşturduğu işlem veya etkinliğin kartıdır. Kartlar arasında geçişlerin nasıl oluşturulacağıyla ilgili ayrıntılar için Gezinme yöntemleri konusuna bakın.