# Integrating AdMob into Unity

Dependency resolution steps and ProGuard rules used to fix a missing Google Mobile Ads initialization class in Unity.

## Reference documentation

- [Official Unity quick-start guide](https://developers.google.com/admob/unity/quick-start?hl=zh-cn)
- [Google Mobile Ads Unity plugin and examples on GitHub](https://github.com/googleads/googleads-mobile-unity)

## Resolve dependencies

In Unity, use the Google Mobile Ads dependency tools:

- Android: **Assets → Google Mobile Ads → Android → Resolve**.
- iOS: **Assets → Google Mobile Ads → iOS → CocoaPods**.

## Fix a missing initialization-listener class

I encountered this error:

```
AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.ads.initialization.OnInitializationCompleteListener
```

Go to **Build Settings → Player Settings → Publishing Settings** and enable **Custom Proguard File**.

Add the following rules to `proguard-user.txt`:

```
-keep class com.google.unity.** {
   *;
}
-keep public class com.google.android.gms.ads.**{
   public *;
}
-keep public class com.google.ads.**{
   public *;
}
-keepattributes *Annotation*
-dontobfuscate
```