Doğal reklamlar

Giriş

Bu kılavuzda, Google Ad Manager'ın yerel reklamcılık özelliklerinin API ile nasıl kullanılacağı açıklanmaktadır. Başlamadan önce, Ad Manager ile yerel reklamcılık hakkında temel bilgileri anladığınızdan emin olun.

Yerel reklam biçimi alma

Yerel reklam biçimleri, Ad Manager API'de CreativeTemplate ile temsil edilir. Ağınızdan yerel biçimleri almak için CreativeTemplateService kullanın. Reklam öğesi şablonları ile yerel reklam biçimlerini birbirinden ayırt etmek için isNativeEligible alanını kullanın. Bu alan doğru olduğunda reklam öğesi şablonu, yerel reklam biçimini temsil eder.

Java

StatementBuilder statementBuilder = new StatementBuilder()
    .where("isNativeEligible = :isNativeEligible")
    .orderBy("id DESC")
    .limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
    .withBindVariableValue("isNativeEligible", true);;

CreativeTemplatePage page = creativeTemplateService.getCreativeTemplatesByStatement(
    statementBuilder.toStatement());

GitHub'da göster

Python

query = 'WHERE isNativeEligible = :isNativeEligible'
values = [
    {'key': 'isNativeEligible',
     'value': {
         'xsi_type': 'BooleanValue',
         'value': 'true'
     }},
]
statement = ad_manager.FilterStatement(query, values)

response = creative_template_service.getCreativeTemplatesByStatement(
    statement.ToStatement())

GitHub'da göster

PHP

$pageSize = StatementBuilder::SUGGESTED_PAGE_LIMIT;
$statementBuilder = (new StatementBuilder())
    ->where('isNativeEligible = :isNativeEligible')
    ->orderBy('id ASC')
    ->limit($pageSize)
    ->withBindVariableValue('isNativeEligible', true);

$page = $creativeTemplateService->getCreativeTemplatesByStatement(
    $statementBuilder->ToStatement());

GitHub'da göster

.NET

StatementBuilder statementBuilder = new StatementBuilder()
    .Where("isNativeEligible = :isNativeEligible")
    .OrderBy("id ASC")
    .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT)
    .AddValue("isNativeEligible", true);

CreativeTemplatePage page = creativeTemplateService.getCreativeTemplatesByStatement(
      statementBuilder.ToStatement());

GitHub'da göster

Ruby

query = 'WHERE isNativeEligible = :isNativeEligible'
values = [
  {
    :key => 'isNativeEligible',
    :value => {
      :xsi_type => 'BooleanValue',
      :value => 'true'
    }
  },
]
statement = AdManagerApi::FilterStatement.new(query, values)

page = creative_template_service.get_creative_templates_by_statement(
  statement.toStatement())

GitHub'da göster

Yerel reklam öğesi oluşturma

Yerel reklam öğeleri, Ad Manager API'de TemplateCreatives tarafından desteklenir. Bunlar ayrı bir tüzel kişi değildir. Yerel reklam öğeleri oluşturmak istiyorsanız yerel CreativeTemplate için uygun olan bir TemplateCreative oluşturun. Yerel reklam öğesinin bileşenleri CreativeTemplateVariable nesnelerinde depolanır.

Yerel reklam öğesi

Yerel reklam öğeleri için boyut olarak 1x1 piksel kullanın. Oluşturulan reklamın boyutu NativeStyle üzerinde ayarlanabilir veya özel oluşturma ile tanımlanabilir.

Java

// Use the system defined native app install creative template.
long nativeAppInstallTemplateId = 10004400L;

// Use 1x1 as the size for native creatives.
Size size = new Size();
size.setWidth(1);
size.setHeight(1);
size.setIsAspectRatio(false);

TemplateCreative nativeAppInstallCreative = new TemplateCreative();
nativeAppInstallCreative.setName("Native creative #" + new Random().nextInt(Integer.MAX_VALUE));
nativeAppInstallCreative.setCreativeTemplateId(nativeAppInstallTemplateId);
nativeAppInstallCreative.setSize(size);

List<BaseCreativeTemplateVariableValue> templateVariables = Lists.newArrayList();

// Set the star rating.
StringCreativeTemplateVariableValue starRatingVariableValue =
    new StringCreativeTemplateVariableValue();
starRatingVariableValue.setUniqueName("Starrating");
starRatingVariableValue.setValue("4");
templateVariables.add(starRatingVariableValue);

GitHub'da göster

Python

# Use the system defined native app install creative template.
native_app_install_template_id = '10004400'

creative = {
    'xsi_type': 'TemplateCreative',
    'name': 'Native creative',
    'creativeTemplateId': native_app_install_template_id,
    'size': {'width': 1, 'height': 1, 'isAspectRatio': false},
    'creativeTemplateVariableValues': [
        {
            'xsi_type': 'StringCreativeTemplateVariableValue',
            'uniqueName': 'Starrating',
            'value': '4'
        }
    ]
}

GitHub'da göster

PHP

// Use the system defined native app install creative template.
$nativeAppInstallTemplateId = 10004400;

// Use 1x1 as the size for native creatives.
$size = new Size();
$size->width = 1;
$size->height = 1;
$size->isAspectRatio = false;

$nativeAppInstallCreative = new TemplateCreative();
$nativeAppInstallCreative->name = 'Native creative #' . uniqid();
$nativeAppInstallCreative->creativeTemplateId = $nativeAppInstallTemplateId;
$nativeAppInstallCreative->size = $size;

$starRatingVariableValue = new StringCreativeTemplateVariableValue();
$starRatingVariableValue->uniqueName = 'Starrating';
$starRatingVariableValue->value = '4';
$nativeAppInstallCreative->creativeTemplateVariableValues[] =
    $starRatingVariableValue;

GitHub'da göster

C#

// Use the system defined native app install creative template.
long nativeAppInstallTemplateId = 10004400L;

TemplateCreative nativeAppInstallCreative = new TemplateCreative();
nativeAppInstallCreative.name =
    String.Format("Native creative #{0}", new Random().Next(int.MaxValue));
nativeAppInstallCreative.creativeTemplateId = nativeAppInstallTemplateId;

// Use 1x1 as the size for native creatives.
Size size = new Size();
size.width = 1;
size.height = 1;
size.isAspectRatio = false;
nativeAppInstallCreative.size = size;

List<BaseCreativeTemplateVariableValue> templateVariables =
    new List<BaseCreativeTemplateVariableValue>();

templateVariables.Add(new StringCreativeTemplateVariableValue() {
  uniqueName = "Starrating",
  value = "4"
});

GitHub'da göster

Ruby

# Use the system defined native app install creative template.
creative_template_id = 10004400

creative = {
    :xsi_type => 'TemplateCreative',
    :name => "Native creative %d" % Time.new.to_i,
    :creative_template_id => creative_template_id,
    :size => {:width => 1, :height => 1, :is_aspect_ratio => false}
}

starrating_variable_value = {
    :xsi_type => 'StringCreativeTemplateVariableValue',
    :unique_name => 'Starrating',
    :value => '4'
}

creative[:creative_template_variable_values] = [
    starrating_variable_value
]

GitHub'da göster

Yerel stil oluşturma

Yerel stiller NativeStyleService ile oluşturulabilir. Şu anda API, sağladığınız CSS ve HTML snippet'lerinde doğrulama gerçekleştirmemektedir. Hedefleme bilgileri ayarlanırken yalnızca inventoryTargeting ve customTargeting alanları desteklenir.

Java

long nativeAppInstallTemplateId = 10004400L;

// Create a native style for native app install ads.
NativeStyle nativeStyle = new NativeStyle();
nativeStyle.setName("Native style #" + new Random().nextInt(Integer.MAX_VALUE));
nativeStyle.setCreativeTemplateId(nativeAppInstallTemplateId);
nativeStyle.setSize(size);
nativeStyle.setHtmlSnippet(htmlSnippet);
nativeStyle.setCssSnippet(cssSnippet);

GitHub'da göster

Python

native_app_install_template_id = '10004400'

# Create a style for native app install ads.
native_style = {
    'name': 'Native style #%d' % uuid.uuid4(),
    'htmlSnippet': html_snippet,
    'cssSnippet': css_snippet,
    'creativeTemplateId': native_app_install_template_id,
    'size': {
        'width': width,
        'height': height,
        'isAspectRatio': False
    }
}

GitHub'da göster

PHP

$nativeAppInstallTemplateId = 10004400;

// Create a style for native app install ads.
$nativeStyle = new NativeStyle();
$nativeStyle->setName('Native style #'. uniqid());
$nativeStyle->setCreativeTemplateId($nativeAppInstallTemplateId);
$nativeStyle->setSize($size);
$nativeStyle->setHtmlSnippet($htmlSnippet);
$nativeStyle->setCssSnippet($cssSnippet);

GitHub'da göster

C#

long nativeAppInstallTemplateId = 10004400L;

// Create a style for native app install ads.
NativeStyle nativeStyle = new NativeStyle();
nativeStyle.name = string.Format("Native style #{0}", new Random().Next());
nativeStyle.creativeTemplateId = nativeAppInstallTemplateId;
nativeStyle.size = size;
nativeStyle.htmlSnippet = htmlSnippet;
nativeStyle.cssSnippet = cssSnippet;

GitHub'da göster

Ruby

native_app_install_template_id = 10004400

# Create a style for native app install ads.
native_style = {
  :name => 'Native style #%d' % (Time.new.to_f * 1000),
  :html_snippet => html_snippet,
  :css_snippet => css_snippet,
  :creative_template_id => native_app_install_template_id,
  :size => size
}

GitHub'da göster

Stil, değişken bir boyut içinse isFluid alanını true (doğru) değerine, size alanını ise 1x1 piksel olarak ayarlayın.

Yerel reklamları trafiğe ekleme

Yerel bir reklam için LineItem oluştururken CreativePlaceholder NATIVECreativeSizeType türünü ve istenen doğal reklam biçimini creativeTemplateId ayarlamalıdır.

Java

// Create creative placeholder size.
Size size = new Size();
size.setWidth(1);
size.setHeight(1);
size.setIsAspectRatio(false);

long nativeAppInstallTemplateId = 10004400L;

// Create the creative placeholder.
CreativePlaceholder creativePlaceholder = new CreativePlaceholder();
creativePlaceholder.setSize(size);
creativePlaceholder.setCreativeTemplateId(nativeAppInstallTemplateId);
creativePlaceholder.setCreativeSizeType(CreativeSizeType.NATIVE);

Python

native_app_install_template_id = '10004400'

# Create the creative placeholder.
creative_placeholder = {
    'size': {
        'width': '1',
        'height': '1'
    },
    'creativeTemplateId': native_app_install_template_id,
    'creativeSizeType': 'NATIVE'
}

PHP

$nativeAppInstallTemplateId = 10004400;

// Create the creative placeholder.
$creativePlaceholder = new CreativePlaceholder();
$creativePlaceholder->setSize(new Size(1, 1, false));
$creativePlaceholder->setCreativeTemplateId($nativeAppInstallTemplateId);
$creativePlaceholder->setCreativeSizeType(CreativeSizeType::NATIVE);

C#

// Create the creative placeholder size.
Size size = new Size();
size.width = 1;
size.height = 1;
size.isAspectRatio = false;

long nativeAppInstallTemplateId = 10004400L;

// Create the creative placeholder.
CreativePlaceholder creativePlaceholder = new CreativePlaceholder();
creativePlaceholder.size = size;
creativePlaceholder.creativeTemplateId = nativeAppInstallTemplateId;
creativePlaceholder.creativeSizeType = CreativeSizeType.NATIVE;

Ruby

# Create the creative placeholder.
creative_placeholder = {
    :size => {:width => 1, :height => 1, :is_aspect_ratio => false},
    :creative_template_id => 10004400,
    :creative_size_type => 'NATIVE'
}