Flash Pro CS6-谷歌play服务更新后adMob不工作

Flash Pro CS6-谷歌play服务更新后adMob不工作,flash,admob,ane,Flash,Admob,Ane,我花了好几天的时间试图解决这个问题,但它不起作用 我从以下位置使用adMobManager: 这在新的google play服务更新之前是有效的 我的代码: import com.codealchemy.ane.admobane.AdMobManager; import com.codealchemy.ane.admobane.*; var adMobManager:AdMobManager; adMobManager = AdMobManager.manager; if(adMobManag

我花了好几天的时间试图解决这个问题,但它不起作用

我从以下位置使用adMobManager:

这在新的google play服务更新之前是有效的

我的代码:

import com.codealchemy.ane.admobane.AdMobManager;
import com.codealchemy.ane.admobane.*;
var adMobManager:AdMobManager;
adMobManager = AdMobManager.manager;

if(adMobManager.isSupported){

    adMobManager.verbose = true;
    adMobManager.operationMode = AdMobManager.TEST_MODE;
    adMobManager.bannersAdMobId = "My AD ID";


    adMobManager.createBanner(AdMobSize.BANNER, AdMobPosition.TOP_CENTER, "TopBanner1", "My Ad id", true);



    adMobManager.showBanner("TopBanner1");


};
XML:


]]>
com.codealchemy.ane.admobane
上面的方法应该是有效的(就像在更新之前一样),但是没有

我能做什么

我需要尽快实施广告

多谢各位


编辑:我正在使用适用于Android的AIR 14 SDK。

我在FlashDevelop中遇到了类似的问题,但可能是因为我最近刚开始使用Code Alchemy的电子版,我从未看到它正常工作。我试过使用其他的AdMob,顺便说一句,那些使用即将被弃用的独立AdMob SDK的人实际上可以工作(BrinkBit和其他一些功能有限的免费AdMob-ANE)。Code Alchemy和Lilli87222()ANE使用新的Google Play服务,直到现在,我还没有收到任何广告。活动的听众没有接到电话

因此,这不是一个正确的答案,但就短期而言,您可以使用一个使用独立SDK的ANE。BrinkBit的电子邮箱是商业版,功能丰富,但你可以试用演示版。如果你这样做了,别忘了取下下面的。否则,独立客户端将抛出错误。此外,AdMob只允许有一个标记,因此如果您放置了其他ID,请注释掉代码炼金术的标记

同时,让我们希望代码炼金术和/或谷歌能修复这项服务的任何问题。

S4VV4S,
首先,您的代码没有错误。您可以改进的东西很少,但这些东西并不能解决问题,只能改进代码

例如:

更改:

import com.codealchemy.ane.admobane.AdMobManager;
import com.codealchemy.ane.admobane.*;

更好的做法是只导入您使用的类,而不是全部导入

然后,
如果您正在使用:

adMobManager.bannersAdMobId = "My AD ID";
adMobManager.operationMode = AdMobManager.TEST_MODE;
在创建横幅时,您不需要指定特定的admobId,因此您可以更改:

adMobManager.createBanner(AdMobSize.BANNER, AdMobPosition.TOP_CENTER, "TopBanner1", "My Ad id", true);
致:

除非您希望为特定的横幅使用特定的AdmobId(这在您希望跟踪特定的横幅使用统计信息时非常方便)

但在大多数应用程序中,您只需为所有横幅使用一个ID,因此,由于您已经在中指定了默认的AdMob ID:

adMobManager.bannersAdMobId = "My AD ID";
最好避免再次写入Id,这可能是错误类型错误的来源

最后,如果在创建横幅时使用自动显示(选项true),则不需要使用:

adMobManager.showBanner("TopBanner1");
因为横幅会自动显示

因此,请将其移除。 如果要手动显示,则需要在事件侦听器中使用showBanner调用,并仅在实际加载横幅时显示横幅。 称为,它只会生成未命中快照,这可能会导致问题。 射失球已经由电子邮箱内部处理,但是最好避免机会。安全总比后悔好

现在,针对主要问题本身。
事实上,我们目前正在使用最新更新的电子邮件和我们应用程序上的最新GPS,我们没有面临这个问题,请求加载率为99.8%。 这也适用于其他一些专业人士,他们的应用程序/游戏中也包括电子邮箱

然而,我们偶尔也会遇到一些关于丢失请求加载的问题(这很烦人),但这种情况很少发生,而且只发生在Interstitual上

正如William和tsukimi正确指出的那样,logcat将非常有助于更好地理解问题的根源

分享我在类似问题上的经验,我可以给你以下建议:

选中1:即使您正在使用:

adMobManager.bannersAdMobId = "My AD ID";
adMobManager.operationMode = AdMobManager.TEST_MODE;
您必须提供在AdMob网站中创建的有效AdmobID。如果使用的ID无效或拼写错误,则请求将失败,因此不会显示横幅。 请确保AdMob ID正确

勾选2:记住Banner和interstitual的AdMob ID不相同。对于横幅,仅使用为横幅创建的AmobId,而对于间隙,仅使用为间隙创建的AdmobId

选中3:将事件侦听器添加到应用程序中,并在调用它们时记录它们。
例子: 创建调度程序实例

/**
 * Extension event dispatcher instance
 **/
private function get dispatcher():EventDispatcher
{
    // Return the extension dispatcher
    return adMobManager.dispatcher;
}
设置事件侦听器

// onBannerLoaded Event Listener
if (!dispatcher.hasEventListener(AdMobEvent.BANNER_LOADED))
    dispatcher.addEventListener(AdMobEvent.BANNER_LOADED, onBannerLoaded);
处理事件

/**
 * onBannerLoaded Event listener
 *
 * @param e AdMobEvent Object
 **/
private function onBannerLoaded(e:AdMobEvent):void
{
    // Show the specific banner which did dispatch the event
    // e.data:String = Banner unique ID
    adMobManager.showBanner(e.data);
}
检查4:确保设备已实际连接到网络,如果没有连接,则无法执行请求和/或完成,因此不会显示横幅。 我建议创建一个连接监视器类来管理和处理连接丢失

<强>检查5:< /强>考虑横幅调试只能在实际设备上执行。您无法从桌面或任何模拟器查看或调试横幅工作流

这些都是我心目中的检查/建议清单,如果所有这些检查都完成了,你就不会遇到问题

最后一句话,Admob中的横幅从未出现过任何错误,但Google目前正在积极弃用旧SDK,在弃用/更新期间,GPS服务可能会出现一些负面影响,直到其操作完成


我希望答案是有帮助的。

你需要比“不工作”更具体一些。你在logcat中得到什么信息了吗?我的意思是它在正常工作时不再工作了。看起来我实际上遇到了一个非常不同的问题。在清单部分将“com.google.ads.AdActivity”替换为“com.google.android.gms.ads.AdActivity”后,广告开始显示。嗨,当我说“我的ID”时,我实际上在使用我的adMob ID,我只是没有发布:)我也在使用Flash Pro而不是Flash Builder。
/**
 * onBannerLoaded Event listener
 *
 * @param e AdMobEvent Object
 **/
private function onBannerLoaded(e:AdMobEvent):void
{
    // Show the specific banner which did dispatch the event
    // e.data:String = Banner unique ID
    adMobManager.showBanner(e.data);
}