【问题标题】:Getting the Google Advertising ID and Limit Advertising获取 Google Advertising ID 并限制广告
【发布时间】:2015-03-26 13:54:33
【问题描述】:

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

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

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

【问题讨论】:

  • 您没有提出(具体)问题。请注意,在这里寻求建议是题外话,如果归根结底是这样的话。
  • 对,对不起。我已经添加了一些说明。

标签: c# android unity3d google-advertising-id


【解决方案1】:

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

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"));

【讨论】:

  • 如果使用该方法,您将收到:Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.ads.identifier.AdvertisingIdClient"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-01
  • 2020-06-12
  • 2018-12-17
  • 1970-01-01
  • 2022-06-14
  • 1970-01-01
相关资源
最近更新 更多