CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Dev Android Firebase admob?

LES_APL_A_2_EUR
LES_APL_A_2_EUR
Niveau 50
23 avril 2020 à 19:11:41

Salut quelqu'un utilise admob, Firebase, Android ?

boucif
boucif
Niveau 24
23 avril 2020 à 19:14:10

Je les utilise sur tous mes projets pratiquement

LES_APL_A_2_EUR
LES_APL_A_2_EUR
Niveau 50
23 avril 2020 à 19:46:12

Le 23 avril 2020 à 19:14:10 boucif a écrit :
Je les utilise sur tous mes projets pratiquement

Ah super ! Alors j'ai une petite question.
Tu vois, on est censés faire un InterstitialAd.load() quand l'app vient d'être lancée.
On est aussi censés gérer la Rgpd avec Google Admob Consent quand l'app vient d'être lancée. Cela nous donne, dans le listener de Admob Consent, le AdBuilder requis pour le InterstitialAd.load(), qui ainsi est placé dans ce même listener.

Néanmoins, je veux afficher ma InterstitialAd avec. Show() bien plus tard, bien plus loin qu'au demarrage de l'appli. En fait, ce serait dans un autre fragment accessible via menu.
Dans l'absolu ça pourrait même être dans une autre activité.

Quelle est la marche à suivre du coup ?

boucif
boucif
Niveau 24
23 avril 2020 à 20:12:48

J'ai jamais mis en place le consentement utilisateur
tu as un exemple ici https://medium.com/swlh/setting-up-the-consent-sdk-for-admob-on-android-237b7010bed3

Perso je load l'interstitial à l'arriver sur la page de menu et je la lance quand la personne clique sur un menu.

Après je dev en xamarin je ne sais pas si tu peux load a un endroit et l'afficher a un autre ou il te faut une référence unique.

LES_APL_A_2_EUR
LES_APL_A_2_EUR
Niveau 50
23 avril 2020 à 20:22:42

Le 23 avril 2020 à 20:12:48 boucif a écrit :
J'ai jamais mis en place le consentement utilisateur
tu as un exemple ici https://medium.com/swlh/setting-up-the-consent-sdk-for-admob-on-android-237b7010bed3

Perso je load l'interstitial à l'arriver sur la page de menu et je la lance quand la personne clique sur un menu.

Après je dev en xamarin je ne sais pas si tu peux load a un endroit et l'afficher a un autre ou il te faut une référence ua​ime.

ouais non mais le mec du tuto reprend quasi exactement la doc, j'ai lu les deux
dans aucun des deux ils n'expliquent comment faire dans mon cas c chiant

si tu regardes leur code, ils load leur ad dans le launcher mais mois l'intertital doit être shown plus tard quoi
du coup faudrait que je garde une référence d'activité en activité, de fragment en fragment mais je sais pas faire
je peux pas utiliser de sharedpref je pense
et je peux pas colporter le truc d'intent en intent (je pense), enfin je vais étudier ce point
c chiant

boucif
boucif
Niveau 24
23 avril 2020 à 20:47:36

C’est du java ?tu peux pas faire un singleton ?

LES_APL_A_2_EUR
LES_APL_A_2_EUR
Niveau 50
23 avril 2020 à 20:49:42

Le 23 avril 2020 à 20:47:36 boucif a écrit :
C’est du java ?tu peux pas faire un singleton ?

bein c'est pas aussi simple ! il faut respecter le lifecycle de l'activité ou quoi, faut étudier ça
d'où l'intérêt de demander à des gens qui l'ont déjà fait plutôt que moi d'essayer d'inventer ça

boucif
boucif
Niveau 24
23 avril 2020 à 21:08:00

Peut être une réponse ici https://stackoverflow.com/questions/26852032/how-to-preload-admob-interstitial-ad-and-send-to-another-android-activity-using

au finale c'est l'idée du singleton :rire:

LES_APL_A_2_EUR
LES_APL_A_2_EUR
Niveau 50
23 avril 2020 à 21:12:04

Le 23 avril 2020 à 21:08:00 boucif a écrit :
Peut être une réponse ici https://stackoverflow.com/questions/26852032/how-to-preload-admob-interstitial-ad-and-send-to-another-android-activity-using

au finale c'est l'idée du singleton :rire:

Ouais je vois ça. Mais le fait de mettre un champ static dans une classe qui peut être instanciée (ici `AdManager`) , c'est pas dangereux (memory leaks) ? Car dans son exemple, si l'activité A n'existe plus en mémoire, il se passerait quoi pour l'objet `AdManager` qui comporte ce champ static ? J'sais pas mais je ne suis pas sûr que ce soit une solution correcte, à mon avis dans certains cas de lifecycle d'activités, il y a risque de memory leaks ou quoi.

boucif
boucif
Niveau 24
23 avril 2020 à 21:21:52

En faite un membre statique à partir du moment ou tu l'as initialisé reste tout le temps en mémoire dans ton app, c'est pour ça il faut pas en abuser, ne pas y mettre des choses volumineuses utile a un seul endroit.

LES_APL_A_2_EUR
LES_APL_A_2_EUR
Niveau 50
23 avril 2020 à 21:29:32

Le 23 avril 2020 à 21:21:52 boucif a écrit :
En faite un membre statique à partir du moment ou tu l'as initialisé reste tout le temps en mémoire dans ton app, c'est pour ça il faut pas en abuser, ne pas y mettre des choses volumineuses utile a un seul endroit.

ouep
je pense que je vais show la pub en fait dans l'autre activité/l'autre fragment
a priori si ça c'est bien chargé au lancement de l'appli, normalement y pas besoin de recharger :( bon je vais explorer cette piste

boucif
boucif
Niveau 24
23 avril 2020 à 21:34:28

Il faut pas avoir peur d'utiliser les membres statique ils sont pas la pour rien, il faut juste savoir quand les utiliser

LES_APL_A_2_EUR
LES_APL_A_2_EUR
Niveau 50
23 avril 2020 à 21:35:47

Bon au final je vais utiliser le truc de static, mais demander un avis complémentaire sur stackoverflow :(

boucif
boucif
Niveau 24
23 avril 2020 à 22:02:50

Perso je modifierqi un peu le code

public class AdManager {
// Static fields are shared between all instances.
static InterstitialAd ad;
private Context ctx;

public AdManager(Context ctx) {
this.ctx = ctx;
if(ad==null){
createAd();
}
}

private void createAd() {
// Create an ad.
ad = new InterstitialAd(ctx);
ad.setAdUnitId(AD_UNIT_ID);

final AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(TEST_DEVICE_ID).build();

// Load the interstitial ad.
ad.loadAd(adRequest);
}

public InterstitialAd getAd() {
return ad;
}
}

comme ca pas besoin d'appeler le create ad, et je rajouterai un rechargement de l'instertitial quand il a terminé, si tu veux le réafficher

Message édité le 23 avril 2020 à 22:07:15 par boucif
Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment