Как показывать смешанные статические и динамические объявления из базы данных?

Я создаю приложение на Django, которому нужно интегрировать рекламу на сайт. Мне нужно показывать рекламу на основе «приоритета рекламы», как определено следующим образом:

  1. Если у «владельца» страницы есть реклама, за которую он заплатил в системе, сначала покажите эту рекламу.
  2. Если нет, используйте вместо них рекламу Google AdWords или какой-либо другой тип рекламы.

Я новичок в работе с рекламой на таких динамических сайтах, как этот, так что мне делать? Очевидно, что все это должно поддерживаться базой данных, но как мне это смоделировать? Похоже, что будет 3 типа рекламы: персонализированные объявления с изображениями/гиперссылками, персонализированные флеш-объявления и объявления Google AdWords. Это довольно точно? Нужно ли мне беспокоиться о XSS (межсайтовых сценариях), если я это сделаю?

Если бы вы были на моем месте, как бы вы сделали это в Джанго? Я знаю, что это несколько субъективно, но я в значительной степени в темноте и хотел бы услышать несколько хороших идей. Было бы неплохо просто работать исключительно с Google AdWords или аналогичным сервисом, но показ пользовательских платных объявлений имеет ключевое значение в бизнес-модели.


person Naftuli Kay    schedule 12.01.2011    source источник


Ответы (2)


Я бы выбрал Google Ad Manager. Вы можете обслуживать пользовательские кампании, а если их нет, вы можете настроить их для показа AdSense.

person Tiago    schedule 12.01.2011
comment
Спасибо @Tiago. Похоже, какое-то действительно приятное программное обеспечение, я проверю его. - person Naftuli Kay; 16.01.2011

Я не использую Django, но я сделал это не так давно. Я просто сохранил HTML как один из столбцов базы данных. После некоторой простой логики, чтобы решить, какое объявление разместить, я просто поместил HTML-код объявления на страницу.

Логика принятия решения о том, какую рекламу показывать, может быть чрезвычайно сложной. Я попробовал несколько разных подходов и ожидаю, что мне понадобятся другие, чтобы справиться со всеми рекламными сценариями. Но ваши требования звучат так, как будто они довольно прямолинейны.

person Jonathan Wood    schedule 12.01.2011
comment
А как насчет межсайтового скриптинга? Предоставление кому-то простой HTML-формы, которую он может редактировать, может дать любому возможность внедрить что-то вредоносное, например: <script type="text/javascript">alert.show("Haldo!");</script> или хуже. Я знаю, что мне, вероятно, следует доверять своим рекламодателям, но даже если это не было злонамеренным, они могли резко изменить тему своей страницы, как это часто бывает на древнем MySpace. - person Naftuli Kay; 12.01.2011
comment
Я говорил о HTML, который вы храните в базе данных. Я предполагал, что только администраторы смогут редактировать объявления, отображаемые на вашем сайте. Имейте в виду, что многие рекламодатели захотят включить javascript в свое объявление. Они могут нанести еще больший ущерб, используя JavaScript. Итог: если вы не доверяете этим людям, вы, вероятно, не захотите, чтобы они контролировали то, что появляется на вашем сайте. - person Jonathan Wood; 12.01.2011
comment
Ага. По сути, идея заключается в том, что компании регистрируются на сайте, и если они платят за это как за дополнительную функцию, они могут размещать рекламу на страницах своих компаний. Короче говоря, я не могу гарантировать или быть уверенным в том, что они туда вкладывают. - person Naftuli Kay; 12.01.2011
comment
Ну, единственный другой вариант - ввести обычный текст, а затем кодировать HTML и конвертировать его в HTML. Но я сомневаюсь, что это подойдет, потому что большинству объявлений нужно будет дать им контроль (ссылки, javascript и т. д.). Я не понимаю, как вы можете позволить им вводить свои собственные объявления и не подвергать себя риску. - person Jonathan Wood; 12.01.2011