Italian Problema con firebase ed admob

marco_2063

Member
Licensed User
Longtime User
Ciao,
ho inserito come da indicazioni (spero) del tutorial di Erel, ma ho un problema strano...
Lavoro con ver. 8, ho inserito un banner ed un interstitial, se installo sul dispositivo da pc tramite il bridge tutto funziona perfettamente (il banner interstitial ed il bannerino all'interno dell'app appaiono perfettamente). Se carico l'app su google play l'app continua a funzionare bene ma le pubblicità non appaiono. Dal log vedo che non riesce a caricare l'ad....(dal mio telefono)
Dove mi sono perso? Dalla console di firebase vedo che c'è interazione con gli utenti, quindi penso che loro visualizzino le pubblicità ...mah
Non so se ho dato tutte le info necessarie...
 

marco_2063

Member
Licensed User
Longtime User
ciao, grazie per aver risposto, l'ho pubblicato ieri sera e stamattina nulla.
Se lo ritieni ti invio il sorgente, non vorrei aver sbagliato il manifest...te lo invio (con la vecchia versione di b4a usavo un manifest diverso che ora ho modificato)
La parte di codice che usavo con la vecchia versione l'ho remmata.



B4X:
'This code will be applied to the manifest file during compilation.
'You do not need to modify it in most cases.
'See this link for for more information: http://www.b4x.com/forum/showthread.php?p=78136
AddManifestText( <permission
          android:name="$PACKAGE$.permission.MAPS_RECEIVE"
          android:protectionLevel="signature"/>
      <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
 

<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="26"/>
<supports-screens android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:anyDensity="true"/>)
    
AddApplicationText(
<meta-data
  android:name="com.google.android.geo.API_KEY"
  android:value="AIzaxxxxxxxxxxxxxxx"/>
)

CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
'CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)
CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)
CreateResourceFromFile(Macro, FirebaseAdMob.FirebaseAds)
CreateResourceFromFile(Macro, FirebaseAuth.FirebaseAuth)


SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
'End of default text.
AddPermission("android.permission.INTERNET")
AddPermission("android.permission.ACCESS_NETWORK_STATE")
AddPermission("com.ibm.jsse.IBMJSSEProvider")


AddManifestText(<uses-feature android:name="android.hardware.location.gps"/>)


'AdMob
'AddApplicationText(
'<activity android:name="com.google.android.gms.ads.AdActivity"
'  android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

'<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID"
'            android:value="ca-app-pub-xxxxxxxxxxxx~xxxxxxxxxxx"/>

')
'End of AdMob





'AdMob
'AddApplicationText(
'<meta-data android:name="com.google.android.gms.version"
'  android:value="@integer/google_play_services_version"/>
'<activity android:name="com.google.android.gms.ads.AdActivity"
'  android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

'<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID"
'            android:value="ca-app-pub-xxxxxxxxxxxxxxx~xxxxxxxxxxxxxx"/>

')
'End of AdMob
 

LucaMs

Expert
Licensed User
Longtime User
Mancano alcune cose, ad esempio il file google-services.json.

Rileggi il tutorial ed nserisci i blocchi necessari, compresi tra questi commenti:


'************ Google Play Services Base ************


'************ Firebase Base ************


'************ Firebase Ads ************
 

marco_2063

Member
Licensed User
Longtime User
Ok, Luca
ora il manifest è come puoi vedere tu stesso. (Ho tolto le parti che non servono).
Il file google-services.json c'era già (nella cartella principale del progetto) comunque l'ho riscaricato di nuovo dalla console di Firebase.
Ho aggiunto anche il blocco additionalJar nel project attribute come segue:

B4X:
#AdditionalJar: com.google.android.gms:play-services-base


B4X:
AddManifestText( <permission
          android:name="$PACKAGE$.permission.MAPS_RECEIVE"
          android:protectionLevel="signature"/>
      <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
 

<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="26"/>
<supports-screens android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:anyDensity="true"/>)
    
AddApplicationText(
<meta-data
  android:name="com.google.android.geo.API_KEY"
  android:value="AIzaxxxxxxxxxxxxxxxxxxxxxxxxx"/>
)

CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
CreateResourceFromFile(Macro, FirebaseAdMob.FirebaseAds)



SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
'End of default text.
AddPermission("android.permission.INTERNET")
AddPermission("android.permission.ACCESS_NETWORK_STATE")
AddPermission("com.ibm.jsse.IBMJSSEProvider")


AddManifestText(<uses-feature android:name="android.hardware.location.gps"/>)

Ti aggiorno sulle novità dopo la pubblicazione

Marco
 

marco_2063

Member
Licensed User
Longtime User
Niente... sto diventando matto...
Continua a dare lo stesso risultato: Tutto funziona meno che la pubblicità...
O ho frainteso qualcosa nella procedura di integrazione...ma ho rivisto tutto 1000 volte..

La cosa strana è che su android 5.0.1 (samsung S4) funziona e le pubblicità si vedono..
Invece su S5 Neo android 6.0.1 non si vede la pubblicità !?!?!?

Aiuto !!!
 

LucaMs

Expert
Licensed User
Longtime User
Già, quello che ti avevo indicato era necessario se avessi usato una versione di B4A precedente la 8; le righe che hai inserito sono corrette e sufficienti.

Non è nemmeno possibile che tu abbia coperto i banner con qualche altra view, perché sulla versione Android >=5 ti funziona.

Prova a guardare il log "non filtrato", sperando che aiuti.
 

marco_2063

Member
Licensed User
Longtime User
Ciao Luca,
ti posto il log non filtrato. Spero sia sufficiente la parte relativa all'avvio dell'unica activity.
In pratica dovrebbero venire visualizzati un banner ed un interstitial.
Dimmi tu se sarà necessario inviarti anche il codice dell'activity.

B4X:
ViewPostImeInputStage processKey 0
ViewPostImeInputStage processKey 1
eglTerminate EGLDisplay = 0xcebbf3cc
eglTerminate EGLDisplay = 0xcebbf3cc
** Activity (main) Pause, UserClosed = true **
eglTerminate EGLDisplay = 0xfff382fc
eglTerminate EGLDisplay = 0xcebbf4ec
#3 mView = null
#1 mView = com.android.internal.policy.PhoneWindow$DecorView{63031c0 I.E...... R.....ID 0,0-0,0}
new_window_surface returns 0x3000,  [1080x1920]-format:1
** Activity (main) Create, isFirst = false **
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
setTypeface with style : 0
Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
Use AdRequest.Builder.addTestDevice("3D6429F88A7A558513ED9F2F1241C0F5") to get test ads on this device.
Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
Use AdRequest.Builder.addTestDevice("3D6429F88A7A558513ED9F2F1241C0F5") to get test ads on this device.
** Activity (main) Resume **
Not retrying to fetch app settings
MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
Google Play services package version: 14574018
Get MotionRecognitionManager
(HTTPLog)-Static: isSBSettingEnabled false
(HTTPLog)-Static: isSBSettingEnabled false
Tagging socket 69 with tag 2000110100000000{536875265,0} uid -1, pid: 10900, getuid(): 10488
(HTTPLog)-Static: isSBSettingEnabled false
(HTTPLog)-Static: isSBSettingEnabled false
Tagging socket 40 with tag 2000110100000000{536875265,0} uid -1, pid: 10900, getuid(): 10488
eglInitialize EGLDisplay = 0xd1250554
new_window_surface returns 0x3000,  [1020x711]-format:2
MapFragment1_Ready
Timeline: Activity_idle id: android.os.BinderProxy@50084f2 time:43490758
Tagging socket 155 with tag 2000110100000000{536875265,0} uid -1, pid: 10900, getuid(): 10488
Untagging socket 69
Untagging socket 40
Background partial concurrent mark sweep GC freed 12577(611KB) AllocSpace objects, 61(13MB) LOS objects, 40% free, 23MB/39MB, paused 5.047ms total 49.780ms
eglInitialize EGLDisplay = 0xf379a614
eglInitialize EGLDisplay = 0xf379a614
eglInitialize EGLDisplay = 0xf379a614
Ad failed to load : 3
Ad failed to load : 3
(HTTPLog)-Static: isSBSettingEnabled false
(HTTPLog)-Static: isSBSettingEnabled false
Tagging socket 146 with tag 2000110100000000{536875265,0} uid -1, pid: 10900, getuid(): 10488
Untagging socket 146
eglTerminate EGLDisplay = 0xd12503cc
eglTerminate EGLDisplay = 0xd12503cc
** Activity (main) Pause, UserClosed = false **
updateVisibility : ActivityRecord{67adf86 token=android.os.BinderProxy@50084f2 {b4a.wwlocator/b4a.wwlocator.main}} show : true
 

marco_2063

Member
Licensed User
Longtime User
Ciao Luca,
sono ancora alle prese con il mio problema, ho fatto diverse altre ulteriori prove senza esiti...positivi.
Mi è venuto in mente (cosa che in un primo momento non ho pensato importante) che l'app usa il "runtime permission" per il gps...
Siccome su android 5.0.1 funziona correttamente non è che tante volte devo dare qualche autorizzazione particolare visto che ora esiste la problematica GDPR???
Però è da ricordare che ho un'altra app di test molto semplice realizzata appositamente per verificare il funzionamento dei banner (che non richiede autorizzazione per il gps) che funziona senza nessun problema anche su android 6.0.1
Maremma m....a sto impazzendo!!!
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Però è da ricordare che ho un'altra app di test molto semplice realizzata appositamente per verificare il funzionamento dei banner (che non richiede autorizzazione per il gps) che funziona senza nessun problema anche su android 6.0.1
Io verificherei le associazioni tra l'app (package name) e le pubblicità (gli ID di banner e interstitial).
 

marco_2063

Member
Licensed User
Longtime User
Fatto 10000 volte, ho rifatto anche un nuovo progetto sia su firebase che su admob... tutto nuovo ...ma senza gloria!!!
 

marco_2063

Member
Licensed User
Longtime User
ma quello che è più assurdo è che se installo tramite il bridge ...funziona senza alcun problema...il problema nasce se installo da googleplay !!
 

marco_2063

Member
Licensed User
Longtime User
Grazie, provo subito.
Ma questo tipo di problema impatterebbe anche sul banner a schermo intero (Interstitial) ?
Perchè nell'app ho messo tutti e due e tutti e due non vengono visualizzati...
Comunque ti tengo aggiornato
 

ilpesce

Member
Licensed User
Longtime User
Ciao marco non utilizzare il wifi come connessione per lo Smartphone prova con la rete dati del tuo operatore tel.
Saluti
 

ilpesce

Member
Licensed User
Longtime User
Per quale motivo? Io non ne vedo proprio (e non penso che tu sia un azionista Tim :p)
Una prova da fare... A volte admob per problemi di localizzazione non ti invia i banner se sei connesso con il wifi.
A volte è vero anche il contrario però:p
 
Top