Etkileşimli kartlar oluşturma

Çoğu eklenti, veri sunmanın yanı sıra kullanıcının giriş yapmasını da gerektirir. ekleyebilirsiniz. Kart tabanlı bir eklenti oluştururken, düğmeler gibi etkileşimli widget'lar veya eklentinizin aradığı verileri kullanıcılara sormak için veya başka etkileşim kontrolleri sunmaktır.

Widget'lara işlem ekleme

Çoğunlukla widget'ları Google Ads'e bağlayarak etkileşimli hale getirirsiniz. belirli işlemleri ve gerekli davranışı geri çağırmada uygulama işlevini kullanın. Ayrıntılı bilgi için eklenti işlemleri bölümünü inceleyin.

Çoğu durumda bir widget'ı aşağıdaki gibi yapılandırmak için bu genel prosedürü uygulayabilirsiniz: seçildiğinde veya güncellendiğinde belirli bir işlem gerçekleştir:

  1. Bir Action nesnesi oluşturun, yürütülmesi gereken geri çağırma işlevini, gerekli parametrelerdir.
  2. İlgili kişiyi çağırarak widget'ı Action uygulamasına bağlayın. Widget işleyici işlevi hakkında daha fazla bilgi edinin.
  3. Geri çağırma işlevini uygulama karar vermeniz gerekir.

Örnek

Aşağıdaki örnekte, kullanıcı bildirimi görüntüleyen bir düğme ayarlanmaktadır tıklayın. Bu tıklama, notifyUser() geri çağırma işlevini tetikler. bildirimi metnini belirten bir bağımsız değişkenle birlikte kullanabilirsiniz. İnşa edilmiş bir binayı geri verme ActionResponse bir bildirim görüntülenir.

  /**
   * Build a simple card with a button that sends a notification.
   * @return {Card}
   */
  function buildSimpleCard() {
    var buttonAction = CardService.newAction()
        .setFunctionName('notifyUser')
        .setParameters({'notifyText': 'Button clicked!'});
    var button = CardService.newTextButton()
        .setText('Notify')
        .setOnClickAction(buttonAction);

    // ...continue creating widgets, then create a Card object
    // to add them to. Return the built Card object.
  }

  /**
   * Callback function for a button action. Constructs a
   * notification action response and returns it.
   * @param {Object} e the action event object
   * @return {ActionResponse}
   */
  function notifyUser(e) {
    var parameters = e.parameters;
    var notificationText = parameters['notifyText'];
    return CardService.newActionResponseBuilder()
        .setNotification(CardService.newNotification())
            .setText(notificationText)
        .build();      // Don't forget to build the response!
  }

Etkili etkileşimler tasarlayın

Etkileşimli kartlar tasarlarken aşağıdakileri göz önünde bulundurun:

  • Etkileşimli widget'lar genellikle özel widget'ları tanımlamak için en az bir işleyici yöntemine gösterir.

  • setOpenLink() widget'ını kullanma işleyici işlevini kullanabilirsiniz. Bu sayede, projenizin Action nesnesi ve geri çağırma işlevini kullanın. Önce URL'yi oluşturmanız gerekiyorsa veya başka bir önce uygulamanız gereken Action ve şunu kullanın: setOnClickOpenLinkAction() .

  • setOpenLink() kullanılırken veya setOnClickOpenLinkAction() widget işleyicisi işlevlerini yerine getirmek için OpenLink nesnesini tanımlayın. Bu nesneyi ayrıca açılış ve kapanış davranışını belirlemek için OpenAs ve OnClose sıralamaları.

  • Birden fazla widget'ın aynı şekilde kullanılması mümkündür Action nesnesini tanımlayın. Ancak farklı proje yönetimi yaklaşımlarını İsterseniz Action nesne işlevini kullanın.

  • Geri çağırma işlevlerinizi basit tutun. Eklentilerin duyarlı kalması için Kart hizmeti, geri çağırma işlevlerini en fazla 30 saniyeyle sınırlar biraz zaman alabilir. Yürütme işlemi bundan daha uzun sürerse eklentinizin kullanıcı arayüzü duruma yanıt olarak kart ekranını düzgün bir şekilde güncellememesi Action

  • Üçüncü taraf arka ucundaki veri durumu, kullanıcının bir etkileşimi teşvik etmek için eklenti grubunun 'durum değişti' bit değerini true olarak ayarlayın. Böylece, mevcut istemci tarafı önbelleğiniz temizlendi. Bkz. ActionResponseBuilder.setStateChanged() yöntemi açıklamasına bakabilirsiniz.