【问题标题】:How to use Admob InterstitialAd in Unity3d?如何在 Unity3d 中使用 Admob InterstitialAd?
【发布时间】:2016-02-23 12:35:01
【问题描述】:

Prime31 插件不是免费的,我太穷了买不起。

https://github.com/guillermocalvo/admob-unity-plugin 插件适用于 admob 横幅,但不支持 InterstitialAd。

https://github.com/googleads/googleads-mobile-plugins 是 google 的官方插件,但在 Android 上崩溃:

void initAd()
    {
        // Initialize an InterstitialAd.
        interstitial = new InterstitialAd("ca-app-pub-0243484158988577/4626472594");
        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();
        // Load the interstitial with the request.
        interstitial.LoadAd(request);
    }


? 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2187) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2236) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.ActivityThread.access$800(ActivityThread.java:138) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.os.Handler.dispatchMessage(Handler.java:102) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.os.Looper.loop(Looper.java:136) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.ActivityThread.main(ActivityThread.java:5034) 08-23 17:22:52.264: E/AndroidRuntime(17984): at java.lang.reflect.Method.invokeNative(Native Method) 08-23 17:22:52.264: E/AndroidRuntime(17984): at java.lang.reflect.Method.invoke(Method.java:515) 08-23 17:22:52.264: E/AndroidRuntime(17984): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:805) 08-23 17:22:52.264: E/AndroidRuntime(17984): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:621) 08-23 17:22:52.264: E/AndroidRuntime(17984): at dalvik.system.NativeStart.main(Native Method) 08-23 17:22:52.264: E/AndroidRuntime(17984): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.admobtest/com.unity3d.player.UnityPlayerNativeActivity}; have you declared this activity in your AndroidManifest.xml? 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.Activity.startActivityForResult(Activity.java:3435) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.Activity.startActivityForResult(Activity.java:3396) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.Activity.startActivity(Activity.java:3638) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.Activity.startActivity(Activity.java:3606) 08-23 17:22:52.264: E/AndroidRuntime(17984): at com.unity3d.player.UnityPlayerProxyActivity.onCreate(Unknown Source) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.Activity.performCreate(Activity.java:5242) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 08-23 17:22:52.264: E/AndroidRuntime(17984): at com.lbe.security.service.core.client.b.x.callActivityOnCreate(Unknown Source) 08-23 17:22:52.264: E/AndroidRuntime(17984): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2151) 08-23 17:22:52.264: E/AndroidRuntime(17984): ... 11 more

如何在 Unity3d 中使用 Admob InterstitialAd?

【问题讨论】:

标签: android admob interstitial


【解决方案1】:

android.content.ActivityNotFoundException:找不到明确的活动类 {com.example.admobtest/com.unity3d.player.UnityPlayerNativeActivity};您是否在 AndroidManifest.xml 中声明了此活动?

这是关键。您的 android 清单必须包含以下活动:com.google.android.gms.ads.AdActivity

检查这个:https://developers.google.com/mobile-ads-sdk/docs/

【讨论】:

  • 我添加了 com.google.android.gms.ads.AdActivity 并声明了该活动,但仍然相同
【解决方案2】:

你试过https://github.com/unity-plugins/Unity-Admob。我用这个成功了。 代码显示InterstitialAd

void Start () {
        Admob.Instance().interstitialEventHandler += onInterstitialEvent;
    }

   Admob ad = Admob.Instance();
    ad.initAdmob("ca-app-pub-27960454450664210/xxxxxxxxx", "ca-app-pub-279343530664210/xxxxxxxxxxx");

void onInterstitialEvent(string eventName, string msg)
    {
        Debug.Log("handler onAdmobEvent---" + eventName + "   " + msg);
        if (eventName == AdmobEvent.onAdLoaded)
        {
            Admob.Instance().showInterstitial();
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    相关资源
    最近更新 更多