AdMob RewardedVideoAd.loadAd renvoie toujours “impossible de charger les annonces, code d'erreur: 0”
Je suis l'aide de firebase-annonces:9.2.0 avec l'API de niveau 24.
Et de l'unité-annonces aar module est importé par l'ajout de la compilation(nom: "l'unité-annonces, ext:'aar") pour mon build.gradle.
Tout va bien si je choisis d'utiliser UnityAds directement l'API.
Mais quand j'essaye d'intégrer l'unité-annonces avec AdMob comme ceci:
mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance( this );
mRewardedVideoAd.setRewardedVideoAdListener(new RewardedVideoAdListener() {
@Override
public void onRewardedVideoAdLoaded() {
logger.debug("onRewardedVideoAdLoaded");
}
@Override
public void onRewardedVideoAdOpened() {
logger.debug("onRewardedVideoAdOpened");
}
@Override
public void onRewardedVideoStarted() {
logger.debug("onRewardedVideoStarted");
}
@Override
public void onRewardedVideoAdClosed() {
logger.debug("onRewardedVideoAdClosed");
}
@Override
public void onRewarded(RewardItem rewardItem) {
logger.debug("onRewarded");
}
@Override
public void onRewardedVideoAdLeftApplication() {
logger.debug("onRewardedVideoAdLeftApplication");
}
@Override
public void onRewardedVideoAdFailedToLoad(int i) {
Toast.makeText(
getApplicationContext(),
"onRewardedVideoAdFailedToLoad",
Toast.LENGTH_SHORT ).show();
}
});
AdRequest adRewardRequest = new AdRequest.Builder()
.addTestDevice("E921B48960E16DA3ABD13C4AFB7052A4")
.build();
mRewardedVideoAd.loadAd(
getResources().getString(R.string.reward_ad_unit_id),
adRewardRequest );
Elle renvoie toujours
Il y avait un problème de faire une annonce de réponse. ErrorCode: 0
Échec du chargement de l'annonce: 0.
Est-ce que je l'ai fait dans le mauvais sens?
Ou j'ai raté des étapes?
Voici mon AdMob page de capture d'écran:
OriginalL'auteur Kimi Chiu | 2016-07-04
Vous devez vous connecter pour publier un commentaire.
Bon, j'ai trouvé des solutions.
La première chose, c'est que je ne comprend pas les cartes dans mon projet.
J'ai télécharger le adpaters ici:
La troisième partie de cartes réseau
Et le mettre dans le dossier libs.
Ces cartes ne sont pas inclus dans les Kits de développement logiciel(si vous le télécharger à partir de github).
Deuxième, j'ai supprimer cette ligne de mon code.
Il semble comme si le AdMob traiter ce dispositif, comme un appareil de test, il n'y a aucune annonce vidéo à être téléchargées(au moins dans mon cas).
Même chose se produit si je choisis d'utiliser l'AVD, ils ont la force de montrer test des annonces sur ces émulateurs.
J'ai donc changer de Genymotion, retirez le addTestDevice() et puis il travaille.
addTestDevice
? merciVous devez utiliser Genymotion ou votre téléphone. Vous pouvez trouver un mode de test de fonctionnalité sur votre annonce page des paramètres réseau. i.imgur.com/D1mLbYk.png
OriginalL'auteur Kimi Chiu
public static final int ERROR_CODE_INTERNAL_ERROR
Quelque chose s'est passé en interne; par exemple, une réponse non valide a été reçue du serveur ad.
Valeur Constante: 0
Source: Les Développeurs De Google
Je suis toujours en attente d'un long temps et il n'y a rien de changer
Créer une nouvelle annonce dans admob et essayer
OriginalL'auteur PSN
Je suis en utilisant les annonces interstitielles, mais je crois que c'est le même problème. Google donne parfois le code qui ne fonctionne pas, ne me demandez pas pourquoi, c'est que.
Ajouter cet après votre
mRewardedVideoAd.loadAd()
méthode:Ou vous pouvez définir la AdListener, ne le montrent pas immédiatement, mais plutôt à une nouvelle méthode:
Et de cette façon, vous pouvez appeler cette méthode à partir de n'importe quelle activité, ce qui montre l'annonce presque instantanément (parce que c'était déjà chargé), sans avoir besoin de charger à nouveau.
Le problème est ailleurs, alors. Comme je l'ai dit, je n'ai pas récompensé de la publicité vidéo, j'ai donc pensé qu'il pourrait être similaire. Vérifiez google code ligne par ligne et voir si vous avez manqué toute la ligne.
Juste une question, avez-vous initialiser des annonces mobiles? dans mon application j'ai besoin d'écrire MobileAds.initialiser(getcontexteapplication(), "<ad_unit_id>"); avant tout le reste. Avez-vous fait cela aussi bien dans votre application? Si pas, essayez d'ajouter que. Vous pouvez trouver les id d'unité sur votre compte AdMob.
J'ai MobileAds.initialiser(getcontexteapplication(), ADMOB_APP_ID); dans onCreate. Et ils n'utilisent que des codes tout comme l'extrait de code que j'ai posté.
OriginalL'auteur leonz