Eklenti işlemleri, widget'lara etkileşimli davranış sağlar. Bir işlem oluşturarak, kullanıcı bir widget'ı seçtiğinde veya güncellediğinde ne olacağını tanımlarsınız.
Çoğu durumda, Apps Komut Dosyası Kart hizmeti tarafından sağlanan Action
nesnelerini kullanarak eklenti işlemleri tanımlayabilirsiniz.
Her Action
, onu oluşturduğunuzda bir geri çağırma işleviyle ilişkilendirilir. Kullanıcı widget'la etkileşimde bulunduğunda istenen adımları atmak için geri çağırma işlevini uygularsınız. Ayrıca, ne tür bir etkileşimin Action
geri çağırmasını tetiklediğini tanımlayan uygun bir widget işleyici işlevi kullanarak Action
öğesini widget'a bağlamanız gerekir.
Şu genel işlemi kullanarak widget'ı Action
ile yapılandırın:
Action
nesnesini oluşturun. Nesnenin, gerekli tüm parametrelerle birlikte yürütmesi gereken geri çağırma işlevini belirtin.Action
nesnesini kullanarak widget'taki uygun widget işleyici işlevini çağırın.- Gerekli davranışı uygulamak için geri çağırma işlevini uygulayın.
Widget işleyici işlevleri
Bir widget'ı belirli bir Action
ya veya başka bir davranışa bağlamak için widget işleyici işlevi kullanabilirsiniz. İşleyici işlevi, ne tür bir etkileşimin (örneğin, widget'ı tıklama veya bir metin alanını düzenleme) işlem davranışını tetikleyeceğini belirler. İşleyici işlevi, işlem tamamlandıktan sonra kullanıcı arayüzünün hangi adımları attığını da tanımlar.
Aşağıdaki tabloda, widget'ların farklı işleyici türleri ve bunların hangi widget'larla birlikte kullanıldığı listelenmektedir:
İşleyici işlevi | İşlemi tetikler | Geçerli widget'lar | Açıklama |
---|---|---|---|
setOnChangeAction() |
Widget değeri değişir |
DatePicker DateTimePicker SelectionInput Switch TextInput
TimePicker
|
Kullanıcının bir girişe metin girip Enter tuşuna basması gibi widget odağı kaybettiğinde Apps Komut Dosyası işlevi yürüten bir Action ayarlar. İşleyici, çağırdığı işleve otomatik olarak bir etkinlik nesnesi iletir.
İsterseniz bu etkinlik nesnesine ek parametre bilgileri ekleyebilirsiniz. |
setOnClickAction() |
Kullanıcı widget'ı tıklar |
CardAction Image ImageButton DecoratedText TextButton
|
Kullanıcı widget'ı tıkladığında Apps Komut Dosyası işlevi yürüten bir Action ayarlar. İşleyici, çağırdığı işleve otomatik olarak bir etkinlik nesnesi iletir.
Bu etkinlik nesnesine isteğe bağlı parametre bilgileri ekleyebilirsiniz. |
setComposeAction() |
Kullanıcı widget'ı tıklar |
CardAction Image ImageButton DecoratedText TextButton
|
Gmail'e özel. E-posta taslağı oluşturan bir
Action
ayarlar ve ardından bu taslağı, bir Gmail kullanıcı arayüzü oluşturma penceresinde
kullanıcıya sunar. Taslağı yeni bir ileti olarak veya Gmail'de açık olan iletinin yanıtı olarak oluşturabilirsiniz. İşleyici taslak oluşturma geri çağırma işlevini çağırdığında, geri çağırma işlevine bir etkinlik nesnesi iletir.
Daha fazla bilgi için Taslak iletiler oluşturma sayfasına göz atın. |
setOnClickOpenLinkAction() |
Kullanıcı widget'ı tıklar |
CardAction Image ImageButton DecoratedText TextButton
|
Kullanıcı widget'ı tıkladığında bir URL'nin açılması için Action gönderir. URL'yi oluşturmanız veya bağlantı açılmadan önce başka işlemlerin gerçekleştirilmesi gerektiğinde bu işleyiciyi kullanın. Aksi takdirde, setOpenLink() kullanımı genellikle daha basit olur.
URL'yi yalnızca yeni bir pencerede açabilirsiniz. Kapatıldığında kullanıcı arayüzünün eklentiyi yeniden
yeniden yüklemesine neden olabilirsiniz. |
setOpenLink() |
Kullanıcı widget'ı tıklar |
CardAction Image ImageButton DecoratedText TextButton
|
Kullanıcı widget'ı tıkladığında doğrudan bir URL açar. URL'yi biliyorsanız ve yalnızca açmanız gerekiyorsa bu işleyiciyi kullanın. Aksi takdirde setOnClickOpenLinkAction() kullanın.
URL'yi yeni bir pencerede veya yer paylaşımında açabilirsiniz. Kapatıldığında kullanıcı arayüzünün eklentiyi yeniden yüklemesine neden olabilirsiniz. |
setSuggestionsAction() |
Kullanıcı bir girişe metin girer |
TextInput
|
Kullanıcı, metin girişi widget'ına metin girdiğinde Apps Komut Dosyası işlevini yürüten bir Action ayarlar. İşleyici, çağırdığı işleve otomatik olarak bir etkinlik nesnesini iletir.
Daha fazla ayrıntı için Metin girişleri için otomatik tamamlama önerileri bölümüne bakın. |
Geri çağırma işlevleri
Geri çağırma işlevleri, bir Action
tetiklendiğinde yürütülür. Geri çağırma işlevi Apps Komut Dosyası işlevleri olduğundan, diğer komut dosyası işlevlerinin hemen hemen her şeyi yapmasını sağlayabilirsiniz.
Geri çağırma işlevi bazen belirli bir yanıt nesnesini döndürür. Bu yanıt türleri, geri çağırmanın yürütülmesi bittikten sonra yapılması gereken ek işlemleri (ör. yeni bir kart görüntüleme veya otomatik tamamlama önerileri sunma) gösterir. Geri çağırma işlevinizin belirli bir yanıt nesnesi döndürmesi gerektiğinde, bu nesneyi oluşturmak için Kart hizmetinde bir oluşturucu sınıfı kullanırsınız.
Aşağıdaki tabloda, geri çağırma işlevlerinizin belirli işlemler için ne zaman belirli bir yanıt nesnesi döndürmesi gerektiği gösterilmektedir. Bu işlemlerin tümü, eklentinin genişlettiği belirli ana makine uygulamasından bağımsızdır:
Yapılmak istenen işlem | Geri çağırma işlevi şunu döndürmelidir: |
---|---|
Kartlar arasında gezinme | ActionResponse |
Notification gösterin |
ActionResponse |
Bir bağlantıyı setOnClickOpenLinkAction() kullanarak açın |
ActionResponse |
Otomatik tamamlama önerilerini görüntüleme | SuggestionResponse |
Genel işlem kullanma | UniversalActionResponse |
Diğer işlemler | Nothing |
Bu işlemlere ek olarak, her ana makine uygulamasının yalnızca ilgili ana makinede yapılabilecek kendi işlemleri vardır. Ayrıntılar için aşağıdaki kılavuzlara bakın:
İşlem etkinliği nesneleri
Eklentiniz bir Action
tetiklediğinde, kullanıcı arayüzü otomatik olarak bir JSON etkinlik nesnesi oluşturur ve bunu, Action
geri çağırma işlevine bir bağımsız değişken olarak iletir. Bu etkinlik nesnesi, kullanıcının mevcut istemci tarafı bağlamı hakkında, görüntülenen karttaki tüm etkileşimli widget'ların geçerli değerleri gibi bilgileri içerir.
İşlem etkinliği nesneleri, içerdikleri bilgileri düzenleyen özel bir JSON yapısına sahiptir. Aynı yapı, ana sayfa oluşturmak için bir ana sayfa tetikleyicisi tetiklendiğinde veya eklenti ekranını güncellemek için bağlamsal bir tetikleyici etkinleştiğinde kullanılır.
Etkinlik nesne yapısının tam açıklaması için Etkinlik nesneleri bölümüne bakın.