Google Ad-Words API - ссылка на расширение рекламы для мобильных устройств
При добавлении ссылок на сайт в канал кампании, я хотел бы установить предпочтение устройства для проверки на мобильном устройстве. Как я могу сделать это с помощью API рекламных слов?
platformOperand.stringValue = "Mobile"; // его также можно установить для "Desktop"
Я пытался сделать это так:
ConstantOperand platformOperand = new ConstantOperand();
platformOperand.stringValue = "Mobile";//it also can be set for "Desktop"
platformOperand.type = ConstantOperandConstantType.STRING;
Function platformFunction = new Function();
platformFunction.lhsOperand = new FunctionArgumentOperand[] {
platformRequestContextOperand };
platformFunction.@operator = FunctionOperator.EQUALS;
platformFunction.rhsOperand = new FunctionArgumentOperand[] {
platformOperand };
и затем он объединяется в функции с идентификаторами ссылок из службы Google и мутирует для службы рассылки кампании. Исключение и ссылка не добавляются, но когда я вхожу для редактирования ссылки, опция "Мобильный" остается неотмеченной.
Пожалуйста, порекомендуйте.
1 ответ
Я нашел ответ: вы должны установить devicePreference, когда вы устанавливаете свойства для FeedItem:
// Create the feed item and operation.
var item = new FeedItem();
item.feedId = siteLinksData.SiteLinksFeedId;
item.attributeValues = new FeedItemAttributeValue[]
{linkTextAttributeValue, linkUrlAttributeValue };
if (value.DeviceType == Device.Mobile)
{
item.devicePreference = new FeedItemDevicePreference();
item.devicePreference.devicePreference = 30001L;
item.devicePreference.devicePreferenceSpecified = true;
}
и это самая важная часть:
item.devicePreference = new FeedItemDevicePreference();
item.devicePreference.devicePreference = 30001L;
item.devicePreference.devicePreferenceSpecified = true;
если вам интересно, что означает 30001L, это идентификаторы критериев устройства в соответствии с API AdWords. См. https://developers.google.com/adwords/api/docs/appendix/platforms