I am new at creating mobile apps and I am trying to add a banner ad to my first app. Till now I used the test ad and it works fine in portrait and landscape orientation.
But when I am using my real adUnitId something goes wrong. The ad is visible in a portrait mode but when I want to rotate the screen, there is an information that unfortunately my app has stopped. What curious, it is not happend always. Sometimes it works perfectly.
I would like to add that when I was doing everything with implementation instructions from AdMob.
Do you have any ideas how to repair that?
@Ircover, @EzequielAdrian Here is my AndroidManifest.xml file:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:fullBackupContent="true">
<activity android:name=".MainActivity2">
</activity>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<meta-data android:name="preloaded_fonts" android:resource="@array/preloaded_fonts"/>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-some_numbers~some_numbers"/>
</application>
Here is the fragment of activity_main.xml with the ad banner:
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
app:adSize="BANNER"
app:adUnitId="ca-app-pub-6404370649958393/3303930979"
app:layout_constraintTop_toBottomOf="@+id/button1"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintHorizontal_bias="0.494"
app:layout_constraintVertical_bias="0.672">
</com.google.android.gms.ads.AdView>
Here is the fragment of MainActivity.kt:
class MainActivity : AppCompatActivity() {
lateinit var mAdView : AdView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
MobileAds.initialize(this) {}
mAdView = findViewById(R.id.adView)
val adRequest = AdRequest.Builder().build()
mAdView.loadAd(adRequest)
}
}
How it looks like before rotation, and after rotation.
@Ircover, here are logs from Logcat:
12-08 15:11:04.266 18313-18390/rand.random.randomizer E/eglCodecCommon: glUtilsParamSize: unknow param 0x000085b5
12-08 15:11:04.290 18313-18390/rand.random.randomizer E/eglCodecCommon: glUtilsParamSize: unknow param 0x000085b5
12-08 15:11:04.305 18313-18390/rand.random.randomizer E/eglCodecCommon: glUtilsParamSize: unknow param 0x000085b5
12-08 15:11:04.318 18313-18390/rand.random.randomizer E/eglCodecCommon: glUtilsParamSize: unknow param 0x000085b5
12-08 15:11:04.332 18313-18390/rand.random.randomizer E/eglCodecCommon: glUtilsParamSize: unknow param 0x000085b5
12-08 15:11:04.357 18313-18313/rand.random.randomizer W/ResourceType: No package identifier when getting value for resource number 0x00000001
12-08 15:11:04.360 18313-18313/rand.random.randomizer D/AndroidRuntime: Shutting down VM
12-08 15:11:04.362 18313-18313/rand.random.randomizer E/AndroidRuntime: FATAL EXCEPTION: main
Process: rand.random.randomizer, PID: 18313
java.lang.RuntimeException: Unable to start activity ComponentInfo{rand.random.randomizer/rand.random.randomizer.MainActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x1
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3912)
at android.app.ActivityThread.access$900(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x1
at android.content.res.Resources.getValue(Resources.java:1233)
at androidx.appcompat.widget.ResourceManagerInternal.loadDrawableFromDelegates(ResourceManagerInternal.java:252)
at androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:139)
at androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:132)
at androidx.appcompat.content.res.AppCompatResources.getDrawable(AppCompatResources.java:104)
at androidx.appcompat.widget.AppCompatImageHelper.setImageResource(AppCompatImageHelper.java:86)
at androidx.appcompat.widget.AppCompatImageView.setImageResource(AppCompatImageView.java:94)
at rand.random.randomizer.MainActivity.onCreate(MainActivity.kt:32)
at android.app.Activity.performCreate(Activity.java:5937)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3912)
at android.app.ActivityThread.access$900(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
12-08 15:11:10.358 18313-18390/rand.random.randomizer D/EGL_emulation: eglMakeCurrent: 0xa2afd100: ver 2 0 (tinfo 0xa2adb6a0)
You might need to override the onConfigurationChanged method and write codes to refresh the add view there.
User contributions licensed under CC BY-SA 3.0