Интеграция Медиации Яндекса
Важно
Обязательно обновите версии используемых адаптеров на актуальные (Медиация Яндекса). Иначе возможны ошибки неправильной интеграции адаптеров и реклама не будет показана.
Мобильная медиация — платформа, которая автоматически подбирает рекламу из множества сетей на основе алгоритмов ML. Это позволяет максимизировать доход. Все настройки работают «из коробки» — отлаживать каждую сеть отдельно не нужно. Если вы раньше использовали Mobile Ads SDK только с одной сетью Яндекса, то для перехода на Медиацию не придется ничего менять в коде. Предварительно нужно только настроить блоки в веб-интерфейсе внешних рекламных сетей.
Предварительная настройка
Чтобы подготовить приложение, выполните действия, описанные в следующих разделах.
Требования к приложению
- Используйте Android Studio 2021 или выше.
- Убедитесь, что в файле сборки вашего приложения используются следующие значения:
- minSdkVersion 23 или выше;
- compileSdkVersion 34 или выше.
- Используйте iOS 13 и выше.
- Используйте Xcode 16.1 и выше.
Настройте приложение в своем аккаунте в Рекламной сети Яндекса
Зарегистрируйте свое приложение как приложение Рекламной сети Яндекса, выполнив следующие действия:
- Войдите или зарегистрируйте аккаунт в Рекламной сети Яндекса.
- Зарегистрируйте свое приложение в Рекламной сети Яндекса.
Подключение Yandex Mobile Ads React Native plugin
Чтобы интегрировать Yandex Mobile Ads SDK в приложение React Native, используйте Yandex Mobile Ads React Native плагин.
Установите плагин Yandex Mobile Ads React Native в свой проект. Из корня проекта вызовите команду:
npm install yandex-mobile-ads
После добавления плагина в файле package.json появится строка с зависимостью:
"dependencies": {
"yandex-mobile-ads": "^7.18.0"
}
Настройка для конкретной платформы
Разрешение на использование рекламного идентификатора
Рекламный идентификатор – уникальный идентификатор сервисов Google Play для показа рекламы пользователям, которые согласны видеть персонализированные объявления. Пользователь может отключить персонализацию рекламы или сбросить идентификатор в настройках. В таком случае рекламные сети не смогут использовать его для подбора релевантной рекламы.
При необходимости вы можете удалить разрешение. Например, если какие-то политики, такие как Families Policy, не позволяют использовать идентификатор для подбора рекламы.
Чтобы разрешение не попало в основной манифест приложения, добавьте в файл AndroidManifest.xml следующий код:
<manifest>
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
</manifest>
Важно
Отсутствие разрешения и доступа к идентификатору может снизить релевантность рекламы и, как следствие, ваш доход.
Настройка COPPA
Настроить политики использования персональных данных можно через AndroidManifest.file или непосредственно перед инициализацией SDK вручную.
При автоматической инициализации, для уведомления Yandex Mobile Ads SDK об использовании приложения ребенком, добавьте в AndroidManifest.xml файл следующий код:
<manifest>
<application>
<!-- Disable the use of child's personal data for app monetization. -->
<meta-data
android:name="@string/yandex_mobileads_age_restricted_user"
android:value="true" />
</application>
</manifest>
Поддержка SKAdNetwork
Что такое SKAdNetwork?
С выходом iOS 14 компания Apple ограничила доступ к идентификатору IDFA, который ранее использовался для привязки установок приложений к рекламным кампаниям. Рекламные сети больше не могут полностью полагаться на IDFA для полноценной атрибуции конверсий в рекламных кампаниях. SKAdNetwork решает эту задачу, предоставляя агрегированные данные об атрибуции без раскрытия персональных данных пользователей.
Mobile Ads SDK интегрирован со SKAdNetwork и обеспечивает трекинг установок на всех устройствах, в том числе тех, где IDFA недоступен.
Дополнительную информацию см. в разделе Configuring a Source App документации Apple.
Зачем внедрять SKAdNetwork?
Для корректного учета всех конверсий при показе рекламы приложению необходимо объявить ID рекламных сетей в своем Info.plist. Иначе часть конверсий, совершенных в приложении, будет утеряна, и это может негативно повлиять на рекламный доход.
Внедрение SKAdNetwork
Прямое встраивание списка
Список для ручного добавления идентификаторов в Info.plist:
Список идентификаторов SKAdNetwork
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>zq492l623r.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cstr6suwn9.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>n9x2a789qt.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>r26jy69rpl.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>5l3tpt7t6e.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>gta9lk7p23.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4dzt52r2t5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>su67r6k2v3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ludvb6z3bs.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>kbd757ywx3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>633vhxswh4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>tmhh9296z4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>vcra2ehyfk.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>zh3b7bxvad.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>xmn954pzmp.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>79w64w269u.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>488r3q3dtq.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>d7g9azk84q.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>nzq8sh4pbs.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>866k9ut3g3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>2q884k2j68.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>x8jxxk4ff5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>gfat3222tu.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>pd25vrrwzn.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>lr83yxwka7.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cp8zw746q7.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>pwdxu55a5a.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>c6k4g5qg8m.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>s39g8k73mm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>wg4vff78zm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>g28c52eehv.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>523jb4fst2.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>294l99pt4k.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3qy4746246.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>a8cz6cu7e5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ggvn48r87g.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>y755zyxw56.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>qlbq5gtkt8.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>mls7yz5dvl.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>67369282zy.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>899vrgt9g8.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>mj797d8u6f.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3sh42y64q3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>f38h382jlk.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>24t9a8vw3c.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>mp6xlyr22a.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>x44k69ngh6.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>88k8774x49.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>hs6bdukanm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>t3b3f7n3x8.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>prcb7njmu6.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>c7g47wypnu.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>52fl2v3hgk.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>9vvzujtq5s.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>m8dbw4sv7c.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>9g2aggbj52.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>m5mvw97r93.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>z5b3gh5ugf.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>dd3a75yxkv.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>9nlqeag3gk.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cj5566h2ga.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>h5jmj969g5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>dr774724x4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>t7ky8fmwkd.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>fz2k2k5tej.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>u679fj5vs4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cs644xg564.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>9b89h5y424.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>w28pnjg2k4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>2rq3zucswp.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>a7xqa6mtl2.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>g2y4y55b64.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>vc83br9sjg.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>eqhxz8m8av.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>7k3cvf297u.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>w9q455wk68.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>nu4557a4je.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>v4nxqhlyqp.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>wzmmz9fp6w.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>7fmhfwg9en.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>yclnxrl5pm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>7tnzynbdc7.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>l6nv3x923s.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>h8vml93bkz.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>uzqba5354d.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>8qiegk9qfv.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>v79kvwwj4g.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>xx9sdjej2w.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>au67k4efj4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>t38b2kh725.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>7ug5zh24hu.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>rx5hdcabgc.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>5lm9lj6jb7.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>qqp299437r.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>zmvfpc5aq8.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>9rd848q2bz.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>79pbpufp6p.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>dmv22haz9p.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>y5ghdn5j9k.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>n6fk4nfna4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>7rz58n8ntl.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>v9wttpbfk9.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>n38lu8286q.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>feyaarzu9v.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>7fbxrn65az.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>47vhws6wlr.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ejvt5qm6ak.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>b55w3d8y8z.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>v7896pgt74.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>5ghnmfs3dh.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>275upjj5gd.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>627r9wr2y5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>sczv5946wb.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>8w3np9l82g.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>hb56zgv37p.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>9t245vhmpl.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>nrt9jy4kw9.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>7953jerfzd.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>dn942472g5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>6v7lgmsu45.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cad8qz2s3j.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>eh6m2bh4zr.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>jb7bn6koa5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>fkak3gfpt6.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>a2p9lx4jpn.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>97r2b46745.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>22mmun2rn5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>238da6jt44.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>44jx6755aq.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>b9bk5wbcq9.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>k674qkevps.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>tl55sbb4fm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>24zw6aqk47.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4468km3ulz.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>2tdux39lx8.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>2u9pt9hc89.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>8s468mfl3y.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3cgn6rq224.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>glqzh8vgby.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>av6w8kgt66.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>klf5c3l5u5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>nfqy3847ph.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>dticjx1a9i.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ppxm28t8ap.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>9wsyqb3ku7.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>74b6s63p6l.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>xy9t38ct57.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>424m5254lk.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>qu637u8glc.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>f73kdq92p3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>44n7hlldy6.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>kbmxgpxpgc.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ecpz2srf59.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>x5854y7y24.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>f7s53z58qe.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>x8uqf25wch.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>uw77j35x4d.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>6964rsfnh4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>gvmwg8q7h5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>6yxyv74ff7.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>84993kbrcf.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>54nzkqm89y.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>pwa73g5rt2.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>mlmmfzh3r3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>9yg77x724h.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>n66cz3y3bx.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>578prtvx9j.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>bvpn9ufa9b.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>6qx585k4p6.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>mtkv5xtk9e.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>l93v5h6a4m.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>rvh3l7un93.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>5tjdwbrq8w.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>r45fhb6rf7.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>32z4fx6l9h.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>e5fvkxwrpn.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>8c4e2ghe7u.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>axh5283zss.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3rd42ekr43.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>5mv394q32t.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3qcr597p9d.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>v72qych5uu.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ydx93a7ass.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4pfyvq9l8r.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>5a6flpkh64.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4fzdc2evr5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4w7y6s5ca2.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>252b5q8x7y.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>2fnua5tdw4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3l6bd9hu43.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4mn522wn87.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>6g9af3uyq4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>6p4ks3rnbw.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>6xzpu9s2p8.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>737z793b9f.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>89z7zv988g.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>8m87ys6875.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>8r8llnkz5a.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>bxvub5ada5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>c3frkrj4fj.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cg4yq2srnc.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>dbu4b84rxf.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>dkc879ngq3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>dzg6xy7pwj.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>gta8lk7p23.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>hdw39hrw9y.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>hjevpa356n.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>krvm3zuq6h.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ln5gz23vtd.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>m297p6643m.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>p78axxw29g.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>pu4na253f3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>s69wq72ugq.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>t6d3zquu66.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>vutu7akeur.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>x2jnk7ly8j.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>x5l83yy675.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>y45688jllp.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>yrqqpx2mcb.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>z4gj7hsk7h.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>33r6p7g8nc.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>g69uk9uh2b.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>g6gcrrvk4p.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>mqn7fxpca7.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ns5j362hk7.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>vhf287vqwu.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>xga6mpmplv.skadnetwork</string>
</dict>
</array>
Автоматизация обновления
Вы можете обновлять список идентификаторов SKAdNetwork для рекламной сети Yandex программно, например, встроив его в свой CI/CD. Для этого используйте актуальный список идентификаторов в формате JSON или XML, доступный по следующим ссылкам:
| Формат | Ссылка |
|---|---|
| JSON | https://yastatic.net/pcode-static/skadnetwork/skadids.json |
| XML | https://yastatic.net/pcode-static/skadnetwork/skadids.xml |
Использование скрипта
Вы также можете воспользоваться готовым скриптом:
Скрипт для обновления идентификаторов SKAdNetwork
#!/bin/bash
# ============================================================
# Yandex Ads SDK — SKAdNetwork IDs Updater
#
# Fetches the latest SKAdNetwork IDs from Yandex
# and merges them into Info.plist
# ============================================================
set -o pipefail
URLS=(
"https://yastatic.net/pcode-static/skadnetwork/skadids.json"
"https://yastatic.net/pcode-static/skadnetwork/skadids.xml"
)
PLIST_BUDDY="/usr/libexec/PlistBuddy"
TAG="[YandexAds]"
# ---- Colors ----
if [ -t 1 ]; then
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m'
else
RED=''
GREEN=''
YELLOW=''
NC=''
fi
log_info() { printf "${NC}${TAG} %s${NC}\n" "$1"; }
log_start() { printf "${YELLOW}${TAG} %s${NC}\n" "$1"; }
log_success() { printf "${GREEN}${TAG} %s${NC}\n" "$1"; }
log_warn() {
if [ -t 1 ]; then
# Terminal: colored, readable format
printf "${RED}${TAG} Warning: %s${NC}\n" "$1"
else
# Xcode Build Phase: recognized as warning in Issue Navigator
printf "warning: ${TAG} %s\n" "$1"
fi
}
# ---- Start ----
log_start "Starting SKAdNetwork IDs update..."
# ---- Resolve Info.plist path ----
resolve_plist() {
# 1. Explicit argument
if [ -n "${1:-}" ]; then
echo "$1"
return 0
fi
# 2. Xcode environment
if [ -n "${INFOPLIST_FILE:-}" ]; then
if [[ "${INFOPLIST_FILE}" = /* ]]; then
echo "${INFOPLIST_FILE}"
else
echo "${SRCROOT:-.}/${INFOPLIST_FILE}"
fi
return 0
fi
# 3. Auto-search in current directory
local found
found=$(find . \
-name "Info.plist" \
-not -path "*/Pods/*" \
-not -path "*/Carthage/*" \
-not -path "*/DerivedData/*" \
-not -path "*/build/*" \
-not -path "*/.build/*" \
-not -path "*/Packages/*" \
-not -path "*Tests*" \
-not -path "*Extensions*" \
2>/dev/null)
local count
count=$([ -n "$found" ] && echo "$found" | wc -l | tr -d ' ' || echo "0")
if [ "$count" -eq 1 ]; then
echo "$found"
return 0
elif [ "$count" -gt 1 ]; then
log_warn "Found multiple Info.plist files:" >&2
echo "$found" >&2
log_warn "Pass the correct path as argument." >&2
return 1
fi
log_warn "Info.plist not found. Pass as argument or run from project root." >&2
return 1
}
PLIST_PATH=$(resolve_plist "${1:-}") || exit 0
if [ ! -f "$PLIST_PATH" ]; then
log_warn "File not found: $PLIST_PATH"
exit 0
fi
log_info "Plist: $PLIST_PATH"
# ---- Fetch with fallback ----
RESPONSE=""
for url in "${URLS[@]}"; do
log_info "Trying: $url"
RESPONSE=$(curl -sf --max-time 5 "$url" 2>/dev/null) && [ -n "$RESPONSE" ] && {
log_info "Fetched: $url"
break
}
RESPONSE=""
done
if [ -z "$RESPONSE" ]; then
log_warn "All sources unavailable. Skipping."
exit 0
fi
# ---- Extract IDs (both JSON and XML) ----
REMOTE_IDS=$(echo "$RESPONSE" \
| grep -ioE '[a-z0-9]+\.skadnetwork' \
| tr '[:upper:]' '[:lower:]' \
| sort -u)
if [ -z "$REMOTE_IDS" ]; then
log_warn "No IDs parsed. Skipping."
exit 0
fi
REMOTE_COUNT=$(echo "$REMOTE_IDS" | wc -l | tr -d ' ')
log_info "Remote IDs: $REMOTE_COUNT"
# ---- Read existing IDs from plist ----
EXISTING_IDS=$("$PLIST_BUDDY" -c "Print :SKAdNetworkItems" "$PLIST_PATH" 2>/dev/null \
| grep -ioE '[a-z0-9]+\.skadnetwork' \
| tr '[:upper:]' '[:lower:]' \
| sort -u)
EXISTING_COUNT=$([ -n "$EXISTING_IDS" ] && echo "$EXISTING_IDS" | wc -l | tr -d ' ' || echo "0")
log_info "Existing IDs: $EXISTING_COUNT"
# ---- Additive diff: only new IDs ----
if [ -n "$EXISTING_IDS" ]; then
IDS_TO_ADD=$(comm -23 <(echo "$REMOTE_IDS") <(echo "$EXISTING_IDS"))
else
IDS_TO_ADD="$REMOTE_IDS"
fi
ADD_COUNT=$([ -n "$IDS_TO_ADD" ] && echo "$IDS_TO_ADD" | wc -l | tr -d ' ' || echo "0")
if [ "$ADD_COUNT" -eq 0 ]; then
log_success "Up to date."
exit 0
fi
log_start "Adding $ADD_COUNT new ID(s)..."
# ---- Ensure SKAdNetworkItems array exists ----
"$PLIST_BUDDY" -c "Print :SKAdNetworkItems" "$PLIST_PATH" &>/dev/null \
|| "$PLIST_BUDDY" -c "Add :SKAdNetworkItems array" "$PLIST_PATH"
# ---- Append new entries ----
INDEX=$("$PLIST_BUDDY" -c "Print :SKAdNetworkItems" "$PLIST_PATH" 2>/dev/null \
| grep -c "Dict")
while IFS= read -r skad_id; do
[ -z "$skad_id" ] && continue
"$PLIST_BUDDY" \
-c "Add :SKAdNetworkItems: dict" \
-c "Add :SKAdNetworkItems:${INDEX}:SKAdNetworkIdentifier string ${skad_id}" \
"$PLIST_PATH" 2>/dev/null || {
log_warn "Failed to add: $skad_id"
continue
}
INDEX=$((INDEX + 1))
done <<< "$IDS_TO_ADD"
TOTAL=$((EXISTING_COUNT + ADD_COUNT))
log_success "Done. Total: $TOTAL (+$ADD_COUNT new)"
Что делает скрипт
Скрипт загружает актуальный список SKAdNetwork ID с серверов Яндекса и добавляет недостающие записи в Info.plist.
- Только добавление: существующие ID никогда не удаляются, даже если они отсутствуют в новом списке.
- Не сохраняет состояние: скрипт не хранит промежуточных данных. Каждый запуск: свежий запрос → сравнение с plist → запись.
- Безопасность сборки: при ошибке сети скрипт завершается с кодом 0, билд не ломается.
- Fallback: основной источник JSON, при недоступности — XML.
- Таймаут: 5 секунд на каждый запрос.
Поиск Info.plist
Скрипт определяет путь к Info.plist автоматически:
| Приоритет | Источник | Когда |
|---|---|---|
| 1 | Аргумент ./script.sh path |
Явно указан путь |
| 2 | $INFOPLIST_FILE |
Xcode Build Phase |
| 3 | Автопоиск в текущей директории | Ручной запуск без аргумента |
Автопоиск исключает Pods/, Carthage/, DerivedData/, build/, Packages/, *Tests*, *Extensions*.
- Найден один
Info.plist- берет его. - Найдено несколько - выводит список и просит указать явно.
- Не найден - скрипт завершает работу.
Использование в Xcode (Build Phase)
-
Положите
update_skad_ids.shв корень проекта. -
Сделайте исполняемым:
chmod +x update_skad_ids.sh
-
Откройте Target → Build Phases → «+» → New Run Script Phase.
-
Переименуйте в
Update Yandex SKAdNetwork IDs. -
В тело скрипта вставьте:
"${SRCROOT}/update_skad_ids.sh"
- Настройки фазы:
| Параметр | Значение | Зачем |
|---|---|---|
| For Install Builds Only | ![]() |
Запуск только при Archive |
| Based on dependency analysis | ![]() |
Запускать всегда при Archive |
При этих настройках скрипт будет запускаться каждый раз во время Archive. Если нужно, чтобы скрипт запускался при каждой сборке, выключите опцию For Install Builds Only.
- Перетащите фазу выше
Copy Bundle Resources.
Ручной запуск
- Сделайте исполняемым:
chmod +x update_skad_ids.sh
- Запустите скрипт:
Из корня проекта — путь определится автоматически:
./update_skad_ids.sh
Или с явным путем:
./update_skad_ids.sh MyApp/Info.plist
Требования
- macOS 10.15+, Xcode 12+
curl,/usr/libexec/PlistBuddyпредустановлены на macOS
Подключение медиации
Подключение отдельных адаптеров
Важно
Обязательно обновите версии используемых адаптеров на актуальные (Мобильная медиация Яндекса). Иначе возможны ошибки неправильной интеграции адаптеров и реклама не будет показана.
Чтобы подключить адаптеры по отдельности, подключите Yandex Ads SDK и необходимые адаптеры по инструкциям к этим адаптерам:
-
Настройте медиацию в интерфейсе Рекламной сети Яндекса.
-
Добавьте зависимость от YandexMobileAds в build.gradle файл модуля вашего приложения:
dependencies { ... implementation 'com.yandex.android:mobileads:x.x.x' // add supported version // Add dependencies on Yandex Mediation adapters. } -
Добавьте поддержку Java 8 в build.gradle файл Android-модуля вашего приложения:
android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } -
Добавьте код в build.gradle файл Android-модуля вашего приложения:
// IronSource maven { url 'https://android-sdk.is.com/' } // Pangle maven { url 'https://artifact.bytedance.com/repository/pangle' } // Tapjoy maven { url "https://sdk.tapjoy.com/" } // Mintegral maven { url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea" } // Chartboost maven { url "https://cboost.jfrog.io/artifactory/chartboost-ads/" } // AppNext maven { url "https://dl.appnext.com/" } -
Настройте разрешение на использование рекламного идентификатора (для приложений, использующих sdk ниже версии 4.5.0).
Как настроить разрешение на использование рекламного идентификатора
Рекламный идентификатор – уникальный идентификатор сервисов Google Play для показа рекламы пользователям, которые согласны видеть персонализированные объявления. Пользователь может отключить персонализацию рекламы или сбросить идентификатор в настройках. В таком случае рекламные сети не смогут использовать его для подбора релевантной рекламы.
Если ваше приложение использует версию Yandex Mobile Ads SDK ниже 4.5.0, необходимо добавить разрешение com.google.android.gms.permission.AD_ID в AndroidManifest.xml файл вашего приложения:
<manifest> <application> <!-- For apps targeting Android 13 or higher & Yandex Mobile Ads SDK versions lower than 4.5.0 --> <uses-permission android:name="com.google.android.gms.permission.AD_ID"/> </application> </manifest>Начиная с версии 4.5.0 Yandex Mobile Ads SDK добавляет разрешение com.google.android.gms.permission.AD_ID по умолчанию. Поэтому указывать его дополнительно в основном манифесте приложения не нужно. Разрешение позволяет использовать рекламный идентификатор для подбора более релевантной рекламы от рекламных сетей.
При необходимости, вы можете удалить разрешение. Например, если какие-то политики, такие как Families Policy, не позволяют использовать идентификатор для подбора рекламы.
Чтобы разрешение не попало в основной манифест приложения, добавьте в файл AndroidManifest.xml следующий код:
<manifest> <application> <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/> </application> </manifest>Важно
Отсутствие разрешения и доступа к идентификатору может снизить релевантность рекламы и, как следствие, ваш доход.
-
Подключите необходимые адаптеры отдельно с помощью соответствующих пакетов.
Чтобы подключить адаптеры по отдельности, подключите Yandex Ads SDK и необходимые адаптеры по инструкциям к этим адаптерам:
-
Настройте медиацию в интерфейсе Рекламной сети Яндекса.
-
Добавьте библиотеку
YandexMobileAdsв файл Podfile.pod 'YandexMobileAds', 'x.x.x' // add supported version -
Подключите необходимые адаптеры отдельно с помощью соответствующих библиотек.
Инициализация библиотеки Yandex Mobile Ads SDK
Успешная инициализация Yandex Mobile Ads SDK является важным условием корректной интеграции библиотеки.
По умолчанию, для Android, инициализация SDK происходит автоматически во время запуска приложения. Это ускоряет загрузку рекламы и, следовательно, увеличивает доход от монетизации.
По умолчанию, для iOS, инициализация SDK происходит автоматически перед загрузкой рекламы, но ручная инициализация позволит ускорить загрузку первого рекламного объявления, и, следовательно, увеличить доход от монетизации.
В useEffect хуке вашего главного компонента добавьте вызов MobileAds.initialize();:
React.useEffect(() => {
(async () => {
// Configure the user privacy data policy before init sdk
await MobileAds.initialize();
})();
});
Если для вашего приложения требуется настроить политики использования персональных данных, сделать это необходимо перед инициализацией Yandex Mobile Ads SDK.
Настроить политики использования персональных данных можно через AndroidManifest.file или непосредственно перед инициализацией SDK вручную.

