Среда, 10 июля 2024 г.
Мы получили ваши отзывы через отчеты о сбоях в Play Console, касающиеся ошибок Приложение не отвечает (ANR), связанных с Google Mobile Ads SDK. Проанализировав эти отчеты, мы обновили рекомендации по внедрению SDK, чтобы снизить долю ошибок ANR. Рекомендуем сделать следующее:
- Инициализируйте Mobile Ads SDK в фоновом потоке
- Включите флаг оптимизации для загрузки объявлений
1. Инициализируйте Mobile Ads SDK в фоновом потоке
Ранее мы рекомендовали указывать флаг манифеста OPTIMIZE_INITIALIZATION. Однако для подготовки MobileAds к синхронной обработке других вызовов методов по-прежнему требуется выполнить некоторые действия в вызывающем потоке.
Теперь мы рекомендуем вызывать MobileAds.initialize() в фоновом потоке, чтобы работа, необходимая для вызывающего потока, выполнялась в фоновом режиме.
import com.google.android.gms.ads.MobileAds import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) CoroutineScope(Dispatchers.IO).launch { // Initialize the Google Mobile Ads SDK on a background thread. MobileAds.initialize(this@MainActivity) {} runOnUiThread { // Load an ad on the main thread. loadAd() } } } }
Примечание. При вызове MobileAds.initialize() в фоновом потоке флаг манифеста OPTIMIZE_INITIALIZATION больше не требуется.
2. Включите флаг оптимизации для загрузки объявлений
Включив флаг манифеста OPTIMIZE_AD_LOADING, вы можете перенести большинство задач по загрузке объявлений в фоновый поток. Рекомендуем включить этот параметр в файле AndroidManifest.xml приложения, чтобы снизить вероятность возникновения ошибок ANR при загрузке объявлений.
<manifest>
...
<application>
...
<meta-data
android:name="com.google.android.gms.ads.flag.OPTIMIZE_AD_LOADING"
android:value="true"/>
</application>
</manifest>Мы обновили все примеры приложений для Android, чтобы они соответствовали этим рекомендациям. Подробную информацию о флагах инициализации и оптимизации можно найти в статьях Начало работы и Оптимизация инициализации и загрузки объявлений. Если у вас возникнут вопросы, свяжитесь с нами.
Ярлыки: ad-manager, admob, android, mobile-ads-sdk