【发布时间】:2014-05-01 11:34:54
【问题描述】:
我正在尝试将 google-play-services 的“com.google.androind.gms.ads”添加到我的统一项目中以加载广告我觉得我已经走了很远,因为我在调用java类。但是我现在有点卡住了,因为我没有错误也没有广告。
这是我的统一 c# 类中的代码。
Debug.Log("Instantiate STARTED");
unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
currActivityUnity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
admobPluginClassAdSize = new AndroidJavaClass("com.google.android.gms.ads.AdSize");
AndroidJavaObject adSize = admobPluginClassAdSize.GetStatic<AndroidJavaObject>("FULL_BANNER");
admobPluginClassAdView = new AndroidJavaObject("com.google.android.gms.ads.AdView",
currActivityUnity);
admobPluginClassAdListener = new AndroidJavaClass("com.google.android.gms.ads.AdListener");
admobPluginClassAdRequestBuilder = new AndroidJavaObject("com.google.android.gms.ads.AdRequest$Builder");
admobPluginClassAdView.Call("setAdSize", adSize);
admobPluginClassAdView.Call("setAdUnitId", pubID);
admobPluginClassAdRequestBuilder = admobPluginClassAdRequestBuilder.Call<AndroidJavaObject>("addTestDevice", testDeviceId);
admobPluginClassAdRequest = admobPluginClassAdRequestBuilder.Call<AndroidJavaObject>("build");
currActivityUnity.Call("runOnUiThread", new AndroidJavaRunnable(() =>
{
admobPluginClassAdView.Call("loadAd", admobPluginClassAdRequest);
}));
Debug.Log("Instantiate FINISHED");
我的 com.google.androind.gms AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.gms"
android:versionCode="4323030"
android:versionName="4.3.23 (1069729-030)" >
<uses-sdk android:minSdkVersion="9"/>
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:debuggable="true">
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
<activity android:label="@string/app_name" android:name="BannerExample">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>
我的 com.unity3d.player AndroidManifest.XML
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
android:installLocation="preferExternal"
android:versionCode="1"
android:versionName="1.0">
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/>
<application
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:debuggable="true">
<activity android:name="com.unity3d.player.UnityPlayerProxyActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
</activity>
<activity android:name="com.unity3d.player.UnityPlayerNativeActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<meta-data android:name="android.app.lib_name" android:value="unity" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
</activity>
<activity android:name="com.unity3d.player.VideoPlayer"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>
【问题讨论】:
标签: android unity3d admob google-play-services