Как настроить юнити адс

Содержание
  1. Integration guide for Unity
  2. Overview
  3. In this guide:
  4. Basic ads implementation
  5. Configuring your project
  6. Setting build targets
  7. Installing Unity Ads
  8. Creating Ad Units in your game
  9. Initializing the SDK
  10. Interstitial display ads
  11. Rewarded video ads
  12. Rewarded ad buttons
  13. Banner ads
  14. Script implementation
  15. Banner position
  16. Testing
  17. Unity Ads
  18. Начните монетизировать свою игру
  19. Сделайте свою игру источником дохода
  20. Начните расширять аудиторию уже сейчас
  21. Привлекайте ценных пользователей для развития вашей игры
  22. Слово клиентам
  23. Для издателей
  24. Для рекламодателей
  25. Руководство по интеграции
  26. HIGH-LEVEL Integration steps: Step 1: Import SDK Step 2: Project configuration Step 3: Initialize SDK Step 4: Configure ad types
  27. Шаг 1. Установка SDK
  28. Шаг 2. Подготовьте ваше приложение
  29. 2.1 Android конфигурация
  30. 1. Gradle настройки
  31. 2. External Dependency Manager (Play Services Resolver)
  32. 3. Сконфигурируйте AndroidManifest.xml
  33. 4. Запрос разрешений в Android Marshmallow (API 6.0+)
  34. 5. Отключение проверки разрешений
  35. 6. Multidex поддержка
  36. 2.2 iOS конфигурация
  37. 1. Play Services Resolver
  38. 2. Добавление SKAdNetworkIds
  39. 3. Сконфигурируйте настройки App Transport Security
  40. 4. Дополнительные параметры
  41. Возможные неполадки
  42. 1. Ошибка в работе AdColony
  43. 2.3 Admob конфигурация
  44. Шаг 3. Инициализация SDK
  45. 1. Добавьте следующие пространства имен :
  46. 2. Д обавьте следующий код в метод Start() главной сцены MonoBehavior:
  47. Шаг 4. Конфигурация типов рекламы

Integration guide for Unity

Overview

This guide covers integration for implementing Unity Ads in your made-with-Unity game.

  • If you are an iOS developer using Objective-C, click here.
  • If you are an Android developer using Java, click here.
  • Click here for the Unity (C#) API reference.

In this guide:

Basic ads implementation

Configuring your project

Setting build targets

Configure your project for a supported platform using the Build Settings window. Set the platform to iOS or Android, then click Switch Platform.

Installing Unity Ads

To ensure the latest version of Unity Ads, Unity recommends installing it from the Unity Package Manager in the Editor.

Important: You must choose either the Asset or the package. Installing both may lead to build errors.

Install the latest version of Unity Ads through the Unity Package Manager, by following these steps:

  1. In the Unity Editor, select Window >Package Manager to open the Package Manager.
  2. Select the Advertisements package from the list, then select the most recent verified version.
  3. Click the Install or Update button.

Creating Ad Units in your game

Ad Units are surfacing points that trigger ads in your game. Create Ad Units in the Monetize Dashboard by selecting your project, then selecting Monetization > Ad Units from the navigation bar.

Click the Add Ad Unit button to bring up the creation modal. Enter your Ad Unit ID and select its type:

  • Select Rewarded video to allow players to opt-in to viewing ads in exchange for incentives. Rewarded Ad Units do not allow the player to skip the ad.
  • Select Interstitial video to show basic interstitial ads or promotional content. Interstitial Ad Units allow players to skip the ad after a specified period of time.
  • Select Banner to create a dedicated Banner Ad Unit.

Every Unity Ads-enabled project has one Ad Unit for each format (rewarded, interstitial, and banner) per platform by default. Feel free to use one of these for your first implementation if they suit your needs, or create your own.

For more information, see documentation on Ad Units.

Initializing the SDK

To initialize the SDK, you must reference your project’s Game ID for the appropriate platform. You can locate the ID in the Monetize Dashboard by selecting Project Settings from the navigation bar (see the Dashboard guide section on Project Settings for details).

In your game script header, include the UnityEngine.Advertisements namespace. Initialize the SDK early in the game’s run-time life cycle, preferably at launch, using the Initialize function.

In SDK versions 3.7.0 and higher, you can use IUnityAdsInitializationListener callbacks to receive a notification when initialization is complete, or receive the details when an error occurs.

Interstitial display ads

To display a full-screen interstitial ad using the Advertisements API, initialize the SDK, then use the Load function to load ad content to an Ad Unit and the Show function to show the ad.

In SDK versions 3.7.0 and higher, you can use the IUnityAdsLoadListener and IUnityAdsShowListener callbacks to implement logic for when content succeeds or fails to load or show respectively.

Note: If you call Show() without specifying an Ad Unit ID, the method shows loaded content in the Unity Standard Placement.

Rewarded video ads

Rewarding players for watching ads increases user engagement, resulting in higher revenue. For example, games may reward players with in-game currency, consumables, additional lives, or experience-multipliers. For more information on how to effectively design your rewarded ads, see documentation on Ads best practices.

To reward players for completing a video ad, implement a callback method using the ShowResult result to check if the user finished the ad and should be rewarded.

Rewarded ad buttons

Using a button that prompts the player to opt in to watching an ad is a common implementation for rewarded video ads. Use the example code below to create a rewarded ads button. The button displays an ad when pressed, as long as ad content is available. To configure a button in the Unity Editor:

  1. Select Game Object >UI >Button to add a button to your Scene.
  2. Select the button you added to your Scene, then add a script component to it using the Inspector (Add Component >New Script). Name the script RewardedAdsButton to match the class name.
  3. Open the script and add the following code:
Читайте также:  Equestria at war super events не работает

Banner ads require a specific type of dedicated Banner Ad Unit.

Important: app-ads.txt is an IAB initiative to combat fraud and create transparency in the advertising ecosystem. Be sure to implement app-ads.txt as described. Otherwise, banner demand may significantly decrease.

Script implementation

In your script header, declare the UnityEngine.Advertisements namespace, which contains the Banner class. Next, initialize the SDK, then use Banner.Load and Banner.Show to load and display a banner ad.

The following example script shows you how to set up buttons in a Scene to test this functionality. To create a button in the Unity Editor, select Game Object > UI > Button.

By default, banner ads display anchored on the bottom-center of the screen, supporting 320 x 50 or 728 x 90 pixel resolution. To specify the banner achor, use the Banner.SetPosition API. For example:

Testing

Prior to publishing your game, enable test mode by following these steps:

  1. From the Monetize Dashboard, select your project.
  2. Select project Settings from the navigation bar.
  3. Scroll down to the Test mode section.
  4. Edit either the Apple App Store or Google Play Store depending on which device you want to enable the test mode.
  5. Select the Override client test mode checkbox, then select the Force test mode ON for all devices radio button.

In the Unity Editor, click the Play button to run your project and test your ads implementation.

Important: You must enable test mode before testing ads integration, to avoid getting flagged for fraud.

Источник

Unity Ads

Повышайте доходность и привлекайте ценных пользователей.

Monetize your game while optimizing the player experience.

Unity Ads предоставляет вам инструменты и средства анализа для повышения доходности и развития. Опыт и знания Unity Ads помогут как издателям игр, так и рекламодателям реализовать стратегии монетизации и привлечения пользователей.

Получайте доход от рекламы в своей игре с помощью Unified Auction, разнообразных форматов и средств расширенного анализа. В кампаниях по привлечению пользователей особенно полезны Audience Pinpointer, Reach Extension и Report Builder, которые дают уникальные рекомендации, превосходные рекламные инструменты и удобны в самостоятельно работе.

Начните монетизировать свою игру

Unity Ads SDK

Unity Ads SDK очень прост и потребляет минимум ресурсов, но дает вам самые актуальные возможности для монетизации.

Интеграция встроенных покупок (IAP)

Настройте интеграцию встроенных покупок Unity Ads и реализуйте внутриигровую экономику, которая будет приносить стабильный и диверсифицированный доход.

Панель управления Monetize

Панель управления Unity Monetize помогает размещать, контролировать и анализировать рекламу и встроенные покупки в вашей игре.

Сделайте свою игру источником дохода

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

Единый аукцион

Получайте максимальный доход от встроенной рекламы независимо от ее источника, будь то Unity или один из 60 наших партнеров по спросу.

Разнообразные форматы рекламы

Интегрируйте в игровой процесс полноэкранные видео с вознаграждением, промежуточную рекламу, баннеры и другие форматы рекламы для повышения показателя CPM.

Начните расширять аудиторию уже сейчас

Панель управления Acquire

Панель управления Unity Acquire — это страница самообслуживания, где можно настраивать и изменять кампании напрямую.

Audience Pinpointer

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

Reach extension

Reach Extension открывает доступ к дополнительному рекламному инструментарию, позволяя привлекать ценных пользователей из других сетей благодаря инструментам и опыту Unity.

Привлекайте ценных пользователей для развития вашей игры

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

Глобальные масштабы

Благодаря охвату в 2,6 млрд устройств по всему миру и 23 млрд показов объявлений ежемесячно наши показатели помогут вам привлечь глобальную аудиторию, которая поможет вам добиться поставленных целей.

Расширенное таргетирование

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

Слово клиентам

«Став единым источником в сотрудничестве с Unity и их Unified Auction, мы получили прирост вовлеченности в пределах сессий на 15% по сравнению с базовым трендом, а показатель удержания увеличился на 7%».

«Unity — это потрясающая платформа. Очень быстрая и удобная. Общая производительность — на высоте. Благодаря Unity мы смогли создать самую популярную игру в Индии по количеству установок».

Подпишитесь на рассылку Unity Ads, чтобы получать на электронную почту информацию о новом контенте, о продуктах и новостях отрасли.

Для издателей

Решениям Unity Ads доверяют тысячи издателей игр и рекламодателей, и они помогают охватить миллионы игроков ежемесячно. Unity Ads помогает монетизировать игры и расширять аудиторию клиентам по всему миру. Подробнее об историях успеха наших клиентов — здесь.

Обновления Unity Ads SDK выходят несколько раз в год, добавляя новые функции, исправляя ошибки или приводя систему в соответствие с изменениями рекламной индустрии. Получить новейшую версию Ads SDK можно здесь.

Средняя эффективная цена за тысячу показов для Unity Ads зависит от многих факторов, включая платформу, регион, особенности аудитории и места размещения рекламы в игре. Самый главный фактор — это количество активных игроков в вашей игре. Руководство по наилучшим методикам монетизации с помощью рекламы содержит ряд рекомендаций по повышению прибыли путем стратегической реализации кампании.

Читайте также:  Почему не отключается аогв когда работает

Теперь издатели могут автоматически получать ежемесячные выплаты по доходу с Unity Ads. Смотрите пошаговое руководство по конфигурации автоматических выплат для вашей организации.

Для рекламодателей

Наш алгоритм машинного обучения всегда будет подбирать для вас самых выгодных пользователей. Но основные факторы успеха рекламной кампании — это интересные рекламные материалы, которые обеспечивают конверсию и выгодные ставки CPI. Другие советы смотрите в документации по оптимизации кампаний.

Reach Extension дает доступ к аудитории других бирж для повышения предложения с использованием инструментов Unity для оптимизации. Все новые кампании Unity по привлечению пользователей включают эту опцию, а также другой инструментарий Unity для управления стратегиями таргетирования по всем источникам предложения из единой панели управления. Ознакомиться с другими часто задаваемыми вопросами можно здесь.

Audience Pinpointer — это мощный инструмент привлечения пользователей, который использует алгоритмы машинного обучения для выявления игроков, представляющих интерес помимо установки приложения. Гибкие цены позволяют больше платить за ценную (согласно прогнозам) аудиторию и меньше — за доступную. Подробнее о том, как это помогает повысить окупаемость рекламы (ROAS) и показатель удержания, смотрите здесь.

Источник

Руководство по интеграции

Версия выпуска: 2.14.3 | Дата выпуска: 06.08.2021

Требования к минимальной версии ОС:

Используйте Unity 2017.4 (Api Compatibility Level — Experimental (.NET 4.6 Equivalent) или 2018.3+ версии.

Используйте Android API level 16 (Android OS 4.1) и выше.

Используйте iOS 10.0 и выше. Вы можете интегрировать Appodeal SDK в приложения с меньшим значением минимальной версии iOS. На устройствах, не поддерживающих iOS 10.0+, Appodeal SDK будет отключен.

Используйте XCode 12.5 или выше.

  • Используйте CocoaPods 1.10.0 или выше.
  • Если вы используете Unity 2017.4, измените настройку Scripting Runtime Version в Player Settings → Other на Setting on Experimental (.NET 4.6 Equivalent).

    HIGH-LEVEL Integration steps:
    Step 1: Import SDK
    Step 2: Project configuration
    Step 3: Initialize SDK
    Step 4: Configure ad types

    Используйте эти инструкции для интеграции Appodeal SDK c вашим приложением.

    Используйте наше демо приложение в качестве примера.

    Шаг 1. Установка SDK

    1.1 Загрузите Appodeal Unity Plugin 2.14.4 который включает в себя новейший Android и IOS Appodeal SDK.

    Appodeal Unity Plugin 2.14.4

    1.2 Чтобы импортировать в проект Appodeal Unity Plugin, дважды щелкните по Appodeal-Unity-Plugin-2.14.4-26.08.2021.unitypackage , или перейдите в Assets → Import Package → Custom Package . Не снимая выделения со всех файлов в открывшемся окне, нажмите Import.

    Используйте Appodeal SDK Manager для обновления до последней версии из Unity menu bar (Appodeal → Manage Appodeal SDK), поддерживается с Unity 2018.3 или выше. Больше информации найдете в нашем блоге.

    Шаг 2. Подготовьте ваше приложение

    2.1 Android конфигурация

    1. Gradle настройки

    Подготовьте Gradle сборки для Android 11

    В Android 11 изменился способ запроса приложений и взаимодействия с другими приложениями, установленными пользователем на устройстве. По этой причине убедитесь, что вы используете версию Gradle, которая соответствует одной из перечисленных здесь .

    1. Перейдите в Player Settings → Publishing Settings и включите Custom Gradle Template флаг.
    2. Перейдите в Assets → Plugins → Android → mainTemplate.gradle, откройте файл и измените classpath ‘com.android.tools.build:gradle:3.4.0’ на ‘com.android.tools.build:gradle:3.4.3’.
    1. Перейдите в Player Settings → Publishing Settings и включите Custom Base Gradle Template флаг.
    2. Перейдите в Assets → Plugins → Android → baseProjectTemplate .gradle, откройте файл и измените classpath ‘com.android.tools.build:gradle:3.4.0’ на ‘com.android.tools.build:gradle:3.4.3’.
    1. Перейдите в Player Settings → Publishing Settings и включите Custom Base Gradle Template флаг.
    2. Перейдите в Assets → Plugins → Android → baseProjectTemplate.gradle, откройте файл и измените classpath ‘com.android.tools.build:gradle:3.6.0’ на ‘com.android.tools.build:gradle:3.6.4 ‘.

    Если в проекте уже используется Gradle плагин версии 4.0.1 или выше, оставьте файл без изменений.

    2. External Dependency Manager (Play Services Resolver)

    External Dependency Manager включен в плагин Appodeal. Для разрешения зависимостей в вашем проекте выполните следующие шаги:

    1. После импорта плагина в редакторе Unity выберите File → Build Settings → Android.
    2. Добавьте флаг Custom Gradle Template для Unity 2017.4 — Unity 2019.2 версий или Custom Main Gradle Template для Unity 2019.3 или выше (Build Settings → Player Settings → Publishing settings).
    3. Включите настройку — «Patch mainTemplate.gradle» (Assets → External Dependency Manager → Android Resolver → Settings).
    4. Включите настройку — «Use Jetifier» (Assets → External Dependency Manager → Android Resolver → Settings).
    5. Затем выберите Assets → External Dependency Manager → Android Resolver и нажмите Resolve или Force Resolve.
    6. В результате модули, которые необходимы для поддержки Appodeal SDK будут импортированы в mainTemplate.gradle вашего проекта.

    3. Сконфигурируйте AndroidManifest.xml

    Для корректной работы Appodeal SDK, вам нужно добавить разрешения в AndroidManifest.

    Мы различаем 2 набора разрешений: необходимые разрешения, без которых Appodeal SDK не может работать, и дополнительные разрешения, необходимые для улучшения таргетинга. Для получения дополнительной информации о назначении каждого из разрешений см. Раздел часто задаваемых вопросов.

    • Добавьте необходимые разрешения в файл AndroidManifest.xml под тэгом manifest :

    Все необходимые теги для файла AndroidManifest.xml уже содержатся в плагине Appodeal для Unity.

    Если вы не хотите использовать дополнительные разрешения, выберите Plugins → Android → appodeal.androidlib , откройте AndroidManifest.xml и удалите их.

    Согласно политике Google , разрешения на определение местоположения могут запрашиваться только для предоставления функций, полезных для пользователя и имеющих отношение к основным функциям приложения. Вы не можете запрашивать доступ к данным о местоположении исключительно с целью рекламы или аналитики.

    Если вы не используете местоположение для основных функций вашего приложения

    • Удалите разрешение на местоположение в своем приложении, добавив следующий код в AndroidManifest.xml.
    • Обновите приложение в Google Play. В процессе публикации убедитесь, что в Google Play Console нет предупреждений о местоположении.
    Читайте также:  Как настроить угол торцовочной пилы

    Если вы используете местоположение для основных функций своего приложения

    • Заполните форму декларации разрешений на доступ к местоположению в Google Play Console. Вы можете узнать больше о форме декларации здесь.
    • Обновите приложение в Google Play. В процессе публикации убедитесь, что в Google Play Console нет предупреждений о местоположении.

    Некоторые сети и сторонние зависимости (связанные с сетевыми зависимостями) могут включать собственные разрешения для манифеста. Если вы хотите принудительно удалить такие разрешения, вы можете обратиться к этому руководству

    4. Запрос разрешений в Android Marshmallow (API 6.0+)

    Расширьте ваш класс , добавив IPermissionGrantedListener :

    5. Отключение проверки разрешений

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

    Для отключения сообщения «ACCESS_COARSE_LOCATION permission is missing«, используйте следующий метод перед инициализацией Appodeal SDK:

    Тост-сообщения отображаются только в том случае, если включен тестовый режим для Appodeal SDK.

    Обязательно добавьте Политику конфиденциальности к вашему приложению в Google Play, которая ссылается на Политику конфиденциальности Appodeal, чтобы избежать нарушения Google Play Developer Distribution Agreement.

    6. Multidex поддержка

    • Если вы используете Unity 2019.2 и версии ниже, вам нужно добавить поддержку multidex в ваш проект. Следуйте этому руководству, чтобы добавить Multidex.
    • Если вы используете Unity 2019.3 версии или выше, в Player Settings → Publishing Settings → Other Settings установите Minimum API Level 21 или выше .

    2.2 iOS конфигурация

    1. Play Services Resolver

    External Dependency Manager включен в плагин Appodeal. Для разрешения зависимостей в вашем проекте выполните следующие шаги:

    1. После импорта плагина в редакторе Unity выберите File → Build Settings → iOS.

    2. Во время сборки проекта модули, которые необходимы для поддержки Appodeal SDK, будут импортированы в ваш проект. Вы можете отредактировать их или добавить другие модули в файле Assets → Appodeal → Editor → AppodealAdapterDependencies.xml .

    2. Добавление SKAdNetworkIds

    Рекламные сети, используемые в медиации Appodeal поддерживают отслеживание конверсий с помощью Apple SKAdNetwork , что означает возможность отслеживания инсталлов в том случае, если IDFA недоступен. Для включения данного функционала вам необходимо обновить ключи SKAdNetworkItems добавив словарь(dictionary) в ваш Info.plist .

    1. Выберите фаил Info.plist в Project navigator вашего Xcode проекта
    2. Нажмите Add button (+) в поле key вашего списка свойств и нажмите Return
    3. Введите имя поля SKAdNetworkItems
    4. Выберите тип Array
    5. Введите пару ключ-значение где ключ — это SKAdNetworkIdentifier, и значение — это идентификатор рекламной сети

    Ниже представлена таблица рекламных сетей, которые поддерживают SKAdNetwork атрибуцию и SKAdNetworks идентификаторы в формате Info.plist:

    3. Сконфигурируйте настройки App Transport Security

    Для предоставления рекламы, Appodeal SDK необходимо разрешение на произвольные загрузки. Добавьте следующие ключи в info.plist вашего приложения:

    1. В файле info.plist нажмите Add+ в любом поле первой колонки.
    2. Добавьте App Transport Security Settings key. В качестве его типа во второй колонке выберите Dictionary .
    3. Нажмите Add+ в конце строки App Transport Security Settings key и выберите Allow Arbitrary loads . Установите тип Boolean и значение Yes .

    Вы можете добавить ключ непосредственно в файл info.plist с помощью следующего кода:

    4. Дополнительные параметры

    Следующие ключи помогут улучшить производительность рекламных СДК:

    1. GADApplicationIdentifier — Если в вашем проекте присутствует AdMob адаптер, вам необходимо добавить AdMob app ID в ваш info.plist . Используйте ключ GADApplicationIdentifier и в качестве значения используйте AdMob app ID вашего приложения.
    2. NSUserTrackingUsageDescription — Начиная с iOS 14 использование IDFA требует разрешения от конечного пользователя. Добавление описания поможет объяснить пользователю необходимость данного разрешения.
    3. NSLocationWhenInUseUsageDescription — Необходимо добавлять если ваше приложение позволяет Appodeal SDK использовать данные геолокации.
    4. NSCalendarsUsageDescription — Добавление данного ключа рекомендовано рекламными сетями.

    Возможные неполадки

    1. Ошибка в работе AdColony

    AdColony всегда проверяет, соответствует ли rootViewController первого окна предыдущему. Если это не так, Adcolony не показывает рекламу. Если в вашем приложении есть несколько независимых друг от друга окон, вы можете получить следующее сообщение:

    Это означает, что rootViewController , использованный в showAd не принадлежит к первому окну в списке.

    2.3 Admob конфигурация

    Только если используете Admob или A4G адаптер.

    Добавьте Admob App Id в Unity Menu bar Appodeal → AdMob Settings для каждой платформы.

    AdMob App ID — это уникальный идентификатор, присвоенный вашему приложению.
    Чтобы найти AdMob App ID в своем аккаунте AdMob, перейдите в Apps → ваше приложение → App settings и скопируйте AdMob App ID.

    Подробнее о синхронизации с Admob в FAQ.

    Шаг 3. Инициализация SDK

    Перед тем, как начать загрузку рекламы, вам необходимо инициализировать Appodeal SDK следующим образом:

    1. Добавьте следующие пространства имен :

    2. Д обавьте следующий код в метод Start() главной сцены MonoBehavior:

    Используйте коды типов ниже, чтобы установить предпочтительный формат рекламы:

    • Appodeal.INTERSTITIAL для полноэкранной рекламы;
    • Appodeal.REWARDED_VIDEO для видео с вознаграждением;
    • Appodeal.NON_SKIPPABLE_VIDEO для видео без возможности отключения;
    • Appodeal.BANNER для банеров;
    • Appodeal.MREC для банеров рамером 300*250.

    Типы рекламы могут быть объединены при помощи оператора «|». Например, Appodeal.INTERSTITIAL | Appodeal.REWARDED_VIDEO.

    Видео без возможности пропуска и видео с наградой за просмотр не могут быть использованы одновременно. Чтобы определиться, какой формат рекламного объявления выбрать, обратитесь к нашему разделу FAQ .

    Шаг 4. Конфигурация типов рекламы

    Appodeal SDK импортирован в ваш проект и вы готовы реализовать показ рекламы. Appodeal предоставляет множество рекламных форматов, вы можете выбрать те, которые наиболее оптимально подходят вашему приложению.

    Полноэкранные объявления, содержащие статическое изображение или видео с возможностью пропуска.

    Реализация полноэкранной рекламы

    Традиционный рекламные объявления, которые занимают место сверху или снизу разметки приложения.

    Объявления размером 300×250, которые отображаются внутри содержимого приложения.

    Видео без возможности пропуска, которые пользователи должны посмотреть до конца, чтобы получить вознаграждение.

    Источник

    Оцените статью