मोबाइल विज्ञापन लागू करते समय एएनआर कम करना

बुधवार, 10 जुलाई, 2024

हमें Play Console की क्रैश रिपोर्ट से आपके सुझाव, शिकायत या राय मिली है. यह Google Mobile Ads SDK से जुड़ी ऐप्लिकेशन काम नहीं कर रहा है (एएनआर) वाली गड़बड़ियों के बारे में है. इन रिपोर्ट का विश्लेषण करने के बाद, हमने एएनआर रेट को कम करने के लिए, एसडीके टूल को लागू करने के सबसे सही तरीकों को अपडेट किया. सबसे सही तरीकों से जुड़े कुछ सुझाव यहां दिए गए हैं:

  1. Mobile Ads SDK को बैकग्राउंड थ्रेड पर शुरू करना
  2. विज्ञापन लोड होने की प्रोसेस के लिए, ऑप्टिमाइज़ेशन फ़्लैग चालू करना

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