تبلیغات بومی

مقدمه

این راهنما نحوه استفاده از ویژگی‌های تبلیغات بومی گوگل اد منیجر با API را شرح می‌دهد. قبل از شروع، مطمئن شوید که اصول اولیه تبلیغات بومی با اد منیجر را درک می‌کنید.

قالب تبلیغات بومی را بازیابی کنید

قالب‌های تبلیغات بومی توسط یک CreativeTemplate در Ad Manager API نمایش داده می‌شوند. برای بازیابی قالب‌های بومی از شبکه خود، از CreativeTemplateService استفاده کنید. برای تمایز بین قالب‌های خلاقانه و قالب‌های تبلیغات بومی، از فیلد isNativeEligible استفاده کنید. وقتی این فیلد true باشد، قالب خلاق نشان دهنده یک قالب تبلیغ بومی است.

جاوا

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

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

مشاهده در گیت‌هاب

پایتون

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())

مشاهده در گیت‌هاب

پی اچ پی

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

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

مشاهده در گیت‌هاب

دات نت

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

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

مشاهده در گیت‌هاب

روبی

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())

مشاهده در گیت‌هاب

یک خلاقیت بومی ایجاد کنید

خلاقیت‌های بومی توسط TemplateCreatives در رابط برنامه‌نویسی مدیریت تبلیغات (Ad Manager API) پشتیبانی می‌شوند. آن‌ها یک نهاد مجزا نیستند. برای ایجاد خلاقیت‌های بومی، یک TemplateCreative برای یک CreativeTemplate که واجد شرایط بومی است، ایجاد کنید. اجزای خلاقیت بومی در اشیاء CreativeTemplateVariable ذخیره می‌شوند.

خلاقیت بومی

برای تبلیغات بومی از اندازه ۱x۱ پیکسل استفاده کنید. اندازه تبلیغ رندر شده را می‌توان در NativeStyle تنظیم کرد یا با رندر سفارشی تعریف کرد.

جاوا

// 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);

مشاهده در گیت‌هاب

پایتون

# 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'
        }
    ]
}

مشاهده در گیت‌هاب

پی اچ پی

// 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;

مشاهده در گیت‌هاب

سی شارپ

// 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"
});

مشاهده در گیت‌هاب

روبی

# 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
]

مشاهده در گیت‌هاب

یک سبک بومی ایجاد کنید

سبک‌های بومی را می‌توان با استفاده از NativeStyleService ایجاد کرد. در حال حاضر، API اعتبارسنجی روی قطعه کدهای CSS و HTML ارائه شده توسط شما انجام نمی‌دهد. هنگام تنظیم اطلاعات هدف‌گیری، تنها فیلدهای پشتیبانی شده inventoryTargeting و customTargeting هستند.

جاوا

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);

مشاهده در گیت‌هاب

پایتون

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
    }
}

مشاهده در گیت‌هاب

پی اچ پی

$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);

مشاهده در گیت‌هاب

سی شارپ

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;

مشاهده در گیت‌هاب

روبی

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
}

مشاهده در گیت‌هاب

اگر سبک برای اندازه سیال است، فیلد isFluid را روی true تنظیم کنید و size را روی ۱x۱ پیکسل تنظیم کنید.

ترافیک یک تبلیغ بومی

هنگام ایجاد یک LineItem برای یک تبلیغ بومی، CreativePlaceholder باید نوع CreativeSizeType را NATIVE تنظیم کند و creativeTemplateId را با فرمت تبلیغ بومی مورد نظر تنظیم کند.

جاوا

// 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);

پایتون

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'
}

پی اچ پی

$nativeAppInstallTemplateId = 10004400;

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

سی شارپ

// 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;

روبی

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