Руководство по интеграции
Полное руководство по интеграции плагина BidMachine Plus для Unity.
Плагин BidMachine Plus для Unity
BidMachine Plus предоставляет два источника спроса через один API:
| Mode | Описание |
|---|---|
| AdNetwork | BidMachine работает как источник спроса с хедер-биддингом — самостоятельно или подключённым к сторонней медиации |
| Mediation | BidMachine сам выступает платформой медиации, проводя аукцион по вашему спросу |
Одни и те же клас сы рекламных юнитов — BannerAd, InterstitialAd, RewardedAd — работают в обоих режимах. Активный режим выбирается при инициализации.
На этой странице описаны установка плагина, инициализация и загрузка рекламы. Доступны два пути установки: автоматический через ИИ-агенты для кодинга или ручная настройка через Unity Package Manager.
Автоматическая интеграция с ИИ-агентами для кодинга
Бандл BidMachine Plus SDK Agents поставляет переносимый навык интеграции для Claude Code, Codex и Gemini. Установите его для вашей среды выполнения:
- Claude Code
- Gemini CLI
- npx (any agent)
/plugin marketplace add bidmachine/bidmachine-sdk-agents
/plugin install bidmachine-sdk-agents@bidmachine
gemini extensions install https://github.com/bidmachine/bidmachine-sdk-agents
npx skills add bidmachine/bidmachine-sdk-agents
Затем попросите вашего агента добавить BidMachine Plus как First Look перед вашей существующей медиацией — например:
Add BidMachine Plus as a First Look in front of my existing ad mediation in this Unity game.
Встроенный навык управляет интеграцией: устанавливает плагин, инициализирует BidMachine в режиме Mediation и подключает BidMachine Plus как основной источник для interstitial и rewarded — запрашивается первым по таймауту — с фолбэком на вашу существующую медиацию при отсутствии заполнения, сохраняя текущую настройку.
First Look покрывает только interstitial и rewarded. Для баннеров используйте ручную настройку ниже — плагин их поддерживает, но в поток First Look они не входят.
Ручная установка
Требуется Unity 2021.3+, Android SDK 23+, iOS 13.0+ и Xcode 16.4+.
Unity Package Manager
BidMachine Plus распространяется через scoped-реестр BidMachine. Зарегистрируйте его, затем установите com.bidmachine.plus. External Dependency Manager подтягивается автоматически как зависимость пакета — отдельный импорт не нужен.
- Editor UI
- manifest.json
- Откройте Edit → Project Settings → Package Manager.
- В разделе Scoped Registries н ажмите + и заполните:
- Name:
BidMachine Registry - URL:
https://npm.bidmachine.com - Scope(s):
com.bidmachine
- Name:
- Нажмите Apply.
- Откройте Window → Package Manager, переключите источник на My Registries, выберите BidMachine Plus и нажмите Install.
Добавьте scoped-реестр и зависимость в Packages/manifest.json в корне вашего проекта:
{
"scopedRegistries": [
{
"name": "BidMachine Registry",
"url": "https://npm.bidmachine.com",
"scopes": ["com.bidmachine"]
}
],
"dependencies": {
"com.bidmachine.plus": "0.0.1"
}
}
Настройка Android
В Player Settings → Publishing Settings включите Custom Main Gradle Template и Custom Gradle Settings Template.
В Assets → External Dependency Manager → Android Resolver → Settings включите Patch mainTemplate.gradle, Copy and patch settingsTemplate.gradle from 2022.2 и Use Jetifier. Затем запустите Android Resolver → Resolve.
Обязательные разрешения в AndroidManifest.xml:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
Необязательные разрешения:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
Настройка iOS
В Assets → External Dependency Manager → iOS Resolver → Settings отключите Link frameworks statically.
Добавьте в Info.plist экспортированного проекта Xcode:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>SKAdNetworkItems</key>
<array>
<!-- full SKAdNetwork list is published with the SDK -->
</array>
<key>NSUserTrackingUsageDescription</key>
<string>$(APP_NAME) needs your advertising identifier to deliver personalized ads.</string>
Инициализация
Вызовите BidMachine.Initialize один раз при запуске приложения. Передайте нужный режим, чтобы выбрать источник спроса.
BidMachine.GetInstance возвращает экземпляр SDK — сохраните ссылку на него; вы будете передавать его в конструктор каждого рекламного юнита.
BidMachine Plus инициализируется в одном из двух режимов, выбираемых параметром IntegrationMode, который вы передаёте билдеру:
Режим AdNetwork
BidMachine работает как рекламная сеть с хедер-биддингом. Когда он подключается к сторонней медиации, укажите эту платформу через WithMediator, чтобы он мог конкурировать в вотерфолле.
var sdk = BidMachine.GetInstance("YOUR_APP_KEY");
var config = new InitializationConfigBuilder(IntegrationMode.AdNetwork)
.WithMediator(MediationProvider.AdMob) // the mediation BidMachine plugs into — or MediationProvider.LevelPlay, MediationProvider.Max, a custom string
.WithLoggingEnabled(true) // remove before release
.WithTestModeEnabled(true) // remove before release
.Build();
sdk.Initialized += (sender, args) =>
{
if (args.Error != null) Debug.LogError($"init failed: {args.Error.Message}");
};
sdk.Initialize(config);