- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的 Admob 中,我已经为 Flurry 和 Vungle 设置了中介。当我请求广告时,我总是收到 Logcat 中提供的错误。
Could not instantiate mediation adapter: com.google.ads.mediation.flurry.FlurryAdapter.
MediationAdapter is not a MediationRewardedVideoAdAdapter: com.vungle.mediation.VungleInterstitialAdapter
dependencies {
compile files('libs/FlurryAnalytics-6.2.0.jar')
compile files('libs/FlurryAds-6.2.0.jar')
compile files('libs/flurryAndroidDFPandAdMobMediationAdapter-5.0.0.r1.jar')
compile files('libs/dagger-1.2.2.jar')
compile files('libs/javax.inject-1.jar')
compile files('libs/nineoldandroids-2.4.0.jar')
compile files('libs/vungle-publisher-adaptive-id-3.3.4.jar')
compile files('libs/VungleAdapter.jar')
compile 'com.android.support:multidex:1.0.0'
compile 'com.google.android.gms:play-services-ads:8.3.+'
compile 'com.google.android.gms:play-services-analytics:8.3.+'
compile 'com.google.android.gms:play-services-appindexing:8.3.+'
compile 'com.google.android.gms:play-services-appinvite:8.3.+'
compile 'com.google.android.gms:play-services-games:8.3.+'
compile 'com.google.android.gms:play-services-identity:8.3.+'
compile 'com.google.android.gms:play-services-plus:8.3.+'
compile project(':BaseGameUtils')
compile project(':facebook-android-sdk-4.8.1')
compile files('libs/AudienceNetwork.jar')
compile files('libs/FacebookAdapter.jar')
}
我在 Admob 中设置了广告单元,广告类型为插页式广告,如下所示
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
@Override
protected void onPause() {
super.onPause();
if(rewardedVideoAd!= null)
rewardedVideoAd.pause();
socialShareType=null;
}
@Override
protected void onResume() {
super.onResume();
if(rewardedVideoAd!=null)
rewardedVideoAd.resume();
// Refresh the state of the +1 button each time we receive focus.
if(canShowGPlus1() && plusOneButton!=null) {
plusOneButton.initialize("https://developers.google.com/+", PLUS_ONE_REQUEST_CODE);
// plusOneButton.initialize("https://play.google.com/store/apps/details?id=com.game.puzzle.game.ballmania.android", PLUS_ONE_REQUEST_CODE);
}
}
@Override
public void onDestroy() {
if(rewardedVideoAd!=null)
rewardedVideoAd.destroy();
super.onDestroy();
accessTokenTracker.stopTracking();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
rateMe();
getActualScreenSize();
// Initialize the SDK before executing any other operations,
// especially, if you're using Facebook UI elements.
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
// App code
System.out.println("FacebookCallback : Success");
//fbShareNow();
}
@Override
public void onCancel() {
// App code
System.out.println("FacebookCallback : Cancel");
}
@Override
public void onError(FacebookException exception) {
// App code
System.out.println("FacebookCallback : Erroe");
}
});
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken newAccessToken) {
currentAccessToken=newAccessToken;
}
};
currentAccessToken = AccessToken.getCurrentAccessToken();
c=AndroidLauncher.this;
bld = new AlertDialog.Builder(this);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
//initialize(new MainGame(this), config);
// Create the layout
layout = new RelativeLayout(this);
// Do the stuff that initialize() would do for you
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
AdView admobView = createAdView();
layout.addView(admobView);
View gameView = initializeForView(new MainGame(this), config);
layout.addView(gameView);
showGPlus1(150, 150, 150, 150);
setContentView(layout);
if (isAppInstalledFromGooglePlay()) {
iabSetup();
}else{
Arrays.fill(gemPurchased, Boolean.FALSE);
}
initializeGameServices();
alarmSetup();
setInterestial();
setRewardedVideo();
//getHash();
}
private void setRewardedVideo() {
rewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
rewardedVideoAd.setUserId("userId");
AdRequest adRequest = new AdRequest.Builder().build();
rewardedVideoAd.loadAd(AD_UNIT_ID_REWARDED_VIDEO_AD, adRequest);
rewardedVideoAd.setRewardedVideoAdListener(new RewardedVideoAdListener() {
@Override
public void onRewardedVideoAdLoaded() {
System.out.println("onRewardedVideoAdLoaded()");
if (rewardedVideoAd.isLoaded()) {
rewardedVideoAd.show();
}
}
@Override
public void onRewardedVideoAdOpened() {
System.out.println("onRewardedVideoAdOpened()");
}
@Override
public void onRewardedVideoStarted() {
System.out.println("onRewardedVideoStarted()");
}
@Override
public void onRewardedVideoAdClosed() {
System.out.println("onRewardedVideoAdClosed()");
}
@Override
public void onRewarded(RewardItem rewardItem) {
System.out.println("onRewarded()");
}
@Override
public void onRewardedVideoAdLeftApplication() {
System.out.println("onRewardedVideoAdLeftApplication()");
}
@Override
public void onRewardedVideoAdFailedToLoad(int i) {
System.out.println("onRewardedVideoAdFailedToLoad()");
}
});
}
01-31 19:38:05.795 6634-6634/com.game.puzzle.game.ballmania.android I/dalvikvm﹕ Could not find method android.security.NetworkSecurityPolicy.getInstance, referenced from method com.google.android.gms.ads.internal.t.e.a
01-31 19:38:06.085 6634-6735/com.game.puzzle.game.ballmania.android D/dalvikvm﹕ DexOpt: --- BEGIN 'ads1706048048.jar' (bootstrap=0) ---
01-31 19:38:06.285 6634-6735/com.game.puzzle.game.ballmania.android D/dalvikvm﹕ DexOpt: --- END 'ads1706048048.jar' (success) ---
01-31 19:38:06.285 6634-6735/com.game.puzzle.game.ballmania.android D/dalvikvm﹕ DEX prep '/data/data/com.game.puzzle.game.ballmania.android/cache/ads1706048048.jar': unzip in 0ms, rewrite 207ms
01-31 19:38:13.165 6634-6634/com.game.puzzle.game.ballmania.android I/Ads﹕ Starting ad request.
01-31 19:38:13.175 6634-6634/com.game.puzzle.game.ballmania.android I/Ads﹕ Use AdRequest.Builder.addTestDevice("B6155B00A6A175A4D29AE13C0F0FBD7B") to get test ads on this device.
01-31 19:38:16.665 6634-7074/com.game.puzzle.game.ballmania.android W/Ads﹕ Could not instantiate mediation adapter: com.google.ads.mediation.flurry.FlurryAdapter. null
01-31 19:38:16.715 6634-7074/com.game.puzzle.game.ballmania.android W/Ads﹕ Fail to instantiate adapter com.google.ads.mediation.flurry.FlurryAdapter
android.os.RemoteException
at com.google.android.gms.internal.zzev.zzah(Unknown Source)
at com.google.android.gms.internal.zzev.zzaf(Unknown Source)
at com.google.android.gms.internal.zzew$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:347)
at com.google.android.gms.ads.internal.l.a.d.a(SourceFile:94)
at com.google.android.gms.ads.internal.reward.c.b(SourceFile:194)
at com.google.android.gms.ads.internal.reward.mediation.h.a(SourceFile:53)
at com.google.android.gms.ads.internal.util.b.run(SourceFile:19)
at com.google.android.gms.ads.internal.util.r.call(SourceFile:52)
at com.google.android.gms.ads.internal.util.s.run(SourceFile:75)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
01-31 19:38:16.745 6634-7075/com.game.puzzle.game.ballmania.android W/Ads﹕ MediationAdapter is not a MediationRewardedVideoAdAdapter: com.vungle.mediation.VungleInterstitialAdapter
01-31 19:38:16.745 6634-7075/com.game.puzzle.game.ballmania.android W/Ads﹕ Fail to check if adapter is initialized.
android.os.RemoteException
at com.google.android.gms.internal.zzfd.isInitialized(Unknown Source)
at com.google.android.gms.internal.zzex$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:347)
at com.google.android.gms.ads.internal.l.a.g.g(SourceFile:621)
at com.google.android.gms.ads.internal.reward.mediation.a.a(SourceFile:83)
at com.google.android.gms.ads.internal.util.b.run(SourceFile:19)
at com.google.android.gms.ads.internal.util.r.call(SourceFile:52)
at com.google.android.gms.ads.internal.util.s.run(SourceFile:75)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
01-31 19:38:16.745 6634-6634/com.game.puzzle.game.ballmania.android W/Ads﹕ Failed to load ad: 3
最佳答案
该程序正在寻找 MediationRewardedVideoAdAdapter 的实现这是 ad.rewards.meditation 的接口(interface),实现了 MediationAdapter .
您正在使用:
com.vungle.mediation.VungleInterstitialAdapter
MediationAdapter is not a MediationRewardedVideoAdAdapter: com.vungle.mediation.VungleInterstitialAdapter
你的类(class):
public class AndroidLauncher extends AndroidApplication
implements ActionResolver, GameHelper.GameHelperListener {
我不确定您在调用的其他方法中在哪里实现适配器,但您说您也有 Interstitial。似乎在使用 vungle 和 flurry 之间有些混淆。根据 vungle documentation .
compile files('libs/flurryAndroidDFPandAdMobMediationAdapter-5.0.0.r1.jar')
compile files('libs/VungleAdapter.jar')
您同时使用了两者,并且需要阐明您在每个 AdRequest 中使用的是哪个。
您可以像这样初始化 AdView:
AdView admobView = new AdView(this);
代替:
AdView admobView = createAdView();
您可以在创建 AdRequest.Builder 之后将其添加到您的行中以运行测试。
AdRequest.Builder.addTestDevice("B6155B00A6A175A4D29AE13C0F0FBD7B");
同时检查您是否为 Flurry 设置了 API key 。这包含一些信息,用于在仪表板和代码中使用 AdMob 设置 flurry 适配器 Mediate via AdMob on Android
它还展示了一个关于添加适配器附加功能的有趣代码 fragment :
FlurryAdapterExtras flurryAdapterExtras = new FlurryAdapterExtras();
AdRequest adRequest = new AdRequest.Builder()
.addNetworkExtras(flurryAdapterExtras).build();
部分回答了空指针异常的原问题。
在您的 onPause、onResume 和 onDestroy 方法中放置 null 检查。将初始化放在 onCreate 中而不是将其放入单独的方法中可能是明智的。
您的 onPause 方法可能在 rewardedVideoAd
初始化之前因某种原因被调用。至少通过这种方式,您会感觉到它是否会运行,并且应该会消除该错误(尽管可能会提供一个新错误)。
为了便于阅读,将以下所有方法放在 oncreate 方法之后。
@Override
protected void onPause() {
if(rewardedVideoAd!=null)
rewardedVideoAd.pause();
super.onPause();
.../...
}
@Override
protected void onResume() {
super.onResume();
if(rewardedVideoAd!=null)
rewardedVideoAd.resume();
.../...
}
}
@Override
public void onDestroy() {
if(rewardedVideoAd!=null)
rewardedVideoAd.destroy();
super.onDestroy();
accessTokenTracker.stopTracking();
}
关于android - Admob 中的激励视频广告 - 中介不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35064908/
我试图了解 ESB Mediation是,确切地说(具体例子),并且正在撞墙。 根据维基百科,数据中介重定向到 Data Transformation文章,唯一提到调解是模糊和神秘的: When th
我似乎有 admob 调解工作正常。我宁愿先使用 iAd,然后再使用 admob 填充。问题是我在 iTunes 连接中收到的 iAd 请求为零。我什至将百分比设置为 100%。我启用了它,一切都在
我有一个带有 ID、NAME、DATE 的 MySql 数据库我想通过使用 dblookup 介体来获取这些行,似乎不起作用,有人可以检查我的代理定义吗?
我正在尝试设置我的 Android 应用程序以显示来自中介网络的广告(顺便说一句,在任何地方都没有很好的解释),这是我到目前为止所做的: 1) 我已将发布商 ID 复制到将显示广告的 xml View
我的 AdMob 中介正在运行,它可以很好地提供 AdMob 广告,但是当我输入 MMedia 或 MobFox 的有效 ID 时,我收到请求,但填充数为 0。有谁知道这是为什么吗? 最佳答案 您还需
.h #import #import #import "GADBannerView.h" @interface MasterTableViewController : UITableViewCon
开门见山: 我了解什么是 mediationID 及其用途,但我无法在 admob 上获取 mediationID工具。 Mediation ad network guide看起来像这样: 但现实是我
我无法在 Android 应用程序中调解 admob 和 Facebook 受众网络 (FAN)。该应用仅转换来自 Admob 网络的广告。 Admob 和 FAN 之间的中介不起作用。以下是我遵循的
我目前在我的应用程序中使用 AdMob,我想集成 StartApp 但我想通过 AdMob 中介来管理它,有什么方法可以做到这一点(到目前为止我找不到任何文档,他们的支持也没有回答这个问题)? 最佳答
我正在尝试使用 InMobi 实现 AdMob 中介,但广告不会显示。我关注 their documentation我已经添加了 SDK 和 AndroidX: implementation 'com
有人知道如何使用 adMob 中介来管理 MMedia 的插页式广告吗? 我实际上使用 1) adMob Floor 2)MMedia(ID 横幅广告)3)admob“标准”。 想法? 在此先感谢您的
我想知道 Admob 中介的正确范例是什么。 到目前为止,我得到了一个普通的 AdView 横幅。 这就是它应该如何工作: onFailedToReceiveAd - 捕获此事件,这意味着 admob
背景 我们有一个相当复杂的 Silverlight 客户端,我们正在用 HTML/Javascript/CSS 重写它,构建在相同的 Web 服务之上。实际上,我们正在移植两个 Silverlight
是否有程序化方式来判断 AdMob 中介是展示 iAd 还是 AdMob 广告? 我的 GADBannerView 的父 View 必须根据正在展示的广告做一些特别的事情...... 最佳答案 您可以
我在使用 Applovin 和 Chartboost 实现 AdMob 奖励视频中介时被困了 3 天,代码完全找到了,但是当我启动应用程序时,它说“onRewardedVideoAdFailedToL
为此,我正在尝试将 iAds 集成到 Admob 中介 SDK 中,我从 Mediation website Download Link 下载了 iAdListAdapter并将其添加到我的 xcod
我是跟着Google的Admob/iAd mediation一步一步来的。我只会得到一个错误。这是确切的错误。我从 Xcode 复制并粘贴。 Ld /Users/RobShi/Desktop/Robf
我正在与多个第三方网络实现 AdMob 中介。我想测试这些网络中的每一个的调解是否得到很好的实现(广告很好地展示)。 我想强制显示来自定义网络的广告以测试其实现,然后快速切换到另一个网络。 执行此操作
我正在尝试通过 MoPub 调解 Facebook Audience Network,但我没有任何原生广告设置。我只想调解横幅广告和插页式广告。在 MoPub 文档中,没有关于横幅广告和插页式广告的说
假设我有一个 std::set , 我想知道它是否包含字符串 "name": #include #include using namespace std; bool has_name(const
我是一名优秀的程序员,十分优秀!