Adımlı Yapılandırma

Basamaklı yapılandırma, bağlayıcının bağlayıcıyı dinamik olarak doldurmasına olanak tanır kullanıcı tarafından sağlanan yanıtlara göre yapılandırmayı öğretir. Örneğin, bir "Şehir" dolduruluyor "Eyalet"ten sonra açılır menü seçili olduğundan emin olun.

Şartlar

Bu kılavuzda, Topluluk Bağlayıcısı hakkında zaten bilgi sahibi olduğunuz varsayılır yapılandırmanın üç yolu vardır. Bilgilerinizi tazelemek için getConfig aracılığıyla yapılandırmayı tanımlama başlıklı makaleye göz atın.

Genel Bakış

Basamaklı yapılandırma, Looker Studio'nun getConfig() birden çok çağrısından oluşur ve bağlayıcınızın her seferinde daha fazla yapılandırma sorusu döndürmesi gerekir. Her biri getConfig() çağrısı, kullanıcının son getConfig() soruya verdiği yanıtları içerecek tıklayın. Bu işlem, setIsSteppedConfig(true)

Yönergeler

Yapılandırma tamamlanana kadar setIsSteppedConfig(true) ayarını yapın
Looker Studio, aşağıdaki koşulları karşıladığı sürece getConfig() numaralı telefonu tekrar tekrar çağırır. setIsSteppedConfig(true) ayarlandı.Yapılandırma tamamlandıktan sonra, getConfig() yanıtı setIsSteppedConfig(false) olarak ayarlanmalıdır.
Sonraki soruları belirleyen yapılandırma soruları için isDynamic(true) değerini ayarlayın
isDynamic işaretli bir alan kullanıcı tarafından değiştirilirse sonraki kullanıcı arayüzündeki yapılandırma girişleri temizlenir ve yapılandırma adımına geçelim. Bu, kullanıcıların size Geçersiz yapılandırma.
Kullanıcı tarafından sağlanan yanıtlar request.configParams üzerinden iletilecek.

request.configParams ilk getConfig() için undefined olacak isteğini yerine getirir. Sonraki istekler kullanıcı tarafından sağlanan yanıtlar, yapılandırma kimlikleri veya Kullanıcı herhangi bir yanıt vermezse undefined.

Örnek:

{
  state: 'CA',
  city: 'mountain_view'
}
Yapılandırmalar eklemelidir

Yeni yapılandırma soruları mevcut sorulardan sonra eklenmelidir.

Yapılandırmalar değiştirilemez

Daha önce bir yapılandırma sorusu sorulmuşsa, tüm aramalar. Örneğin, A yapılandırma sorusu sorulursa getConfig() için yapılan ilk çağrıda A, ileride yapılacak tüm işlemlere dahil edilmelidir. tıklayın.

Yapılandırmalar önemli

getConfig() numaralı telefona yapılan aynı configParams ile yapılan aramalar aynı sonucu döndürmelidir yapılandırma.

Dinamik parametreler geçersiz kılınamaz

Looker Studio, dinamik yapılandırma parametrelerinin kullanılmasına izin vermez geçersiz kılındı.

Örnek yapılandırmalar

Dinamik açılır listeler

Bu ilk soruda kullanıcıdan bir eyalet seçmesi istenir ve ardından, seçilen eyalete göre şehir açılır listesi.

var cc = DataStudioApp.createCommunityConnector();

function optionsForState(state) {
  switch (state) {
    case "IL": {
      return [["Chicago", "chicago"], ["Springfield", "springfield"]];
    }
    case "CA": {
      return [["Mountain View", "mountain_view"], ["Los Angeles", "los_angeles"]];
    }
    default: {
      cc.newUserError()
          .setText('You must either select "IL" or "CA"')
          .throwException();
    }
  }
}

function getConfig(request) {
  var configParams = request.configParams;
  var isFirstRequest = configParams === undefined;
  var config = cc.getConfig();
  if (isFirstRequest) {
    config.setIsSteppedConfig(true);
  }

  config.newSelectSingle()
      .setId("state")
      .setName("State")
  // Set isDynamic to true so any changes to State will clear the city
  // selections.
      .setIsDynamic(true)
      .addOption(config.newOptionBuilder().setLabel("Illinois").setValue("IL"))
      .addOption(config.newOptionBuilder().setLabel("California").setValue("CA"));

  if (!isFirstRequest) {
    var city = config.newSelectSingle()
        .setId("city")
        .setName("City");
    var cityOptions = optionsForState(configParams.state);
    cityOptions.forEach(function(labelAndValue) {
      var cityLabel = labelAndValue[0];
      var cityValue = labelAndValue[1];
      city.addOption(config.newOptionBuilder().setLabel(cityLabel).setValue(cityValue));
    });
  }
  return config.build();
}

Dallara Ayırma Yolları

"Ülke" seçilmişse bu bölümde ek bir soru sorulur "ABD"dir.

var cc = DataStudioApp.createCommunityConnector();

function getConfig(request) {
  var configParams = request.configParams;
  var isFirstRequest = configParams === undefined;
  var config = cc.getConfig();
  if (isFirstRequest) {
    config.setIsSteppedConfig(true);
  }

  config
      .newSelectSingle()
      .setId('country')
      .setName('Country')
  // Set isDynamic to true so any changes to Country will clear the state
  // selections.
      .setIsDynamic(true)
      .addOption(config.newOptionBuilder().setLabel('United States').setValue('USA'))
      .addOption(config.newOptionBuilder().setLabel('Canada').setValue('CA'));

  if (!isFirstRequest) {
    // validate a valid value was selected for configParams.country
    if (configParams.country === undefined) {
      cc.newUserError().setText('You must choose a country.').throwException();
    }
    switch (configParams.country) {
      case 'USA': {
        config
            .newSelectSingle()
            .setId('state')
            .setName('State')
            .addOption(config.newOptionBuilder().setLabel('New York').setValue('NY'))
            .addOption(config.newOptionBuilder().setLabel('Calfornia').setValue('CA'));
        break;
      }
      case 'CA': {
        // No additional configuration is needed for Canada.
        break;
      }
      default: {
        cc.newUserError()
            .setText('You must either select "CA" or "USA"')
            .throwException();
      }
    }
  }
  return config.build();
}