3

我正在构建一个 Unity Android 应用程序,并查看一些广告。我们正在考虑的其中一项服务需要我的谷歌广告 ID 和限制广告状态才能进行服务器到服务器的转换跟踪。

问题是我不确定如何在 Unity 中获取这些值中的任何一个。好像我需要某种形式的插件?我已经为 AdMob 和 Chartboost 实施并使用了谷歌广告服务,但据我所知,这些插件都没有让我访问我需要检索上述值的 java 调用。

所以我想我不确定如何访问我需要的数据。我犹豫是否要为游戏添加更多插件,因为它们变得难以管理。如果我理解正确,我认为应该有一种方法可以通过 Unity 的库访问 java,但我一点也不知道如何做到这一点。

4

1 回答 1

6

我能够使用以下代码获得所需的数据:

string advertisingID = "";
bool limitAdvertising = false;

AndroidJavaClass up = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");
AndroidJavaObject currentActivity = up.GetStatic<AndroidJavaObject> ("currentActivity");
AndroidJavaClass client = new AndroidJavaClass ("com.google.android.gms.ads.identifier.AdvertisingIdClient");
AndroidJavaObject adInfo = client.CallStatic<AndroidJavaObject> ("getAdvertisingIdInfo",currentActivity);

advertisingID = adInfo.Call<string> ("getId").ToString();   
limitTracking = (adInfo.Call<bool> ("isLimitAdTrackingEnabled"));
于 2015-02-02T16:10:30.317 回答