Italian Problema con installazione della libreria FirebaseAdMob

marketto

Member
Licensed User
Ciao a tutti,
ho provato ad installare la Libreria FirebaseAdMob presente sulla lista delle librerie del software B4A.
Al momento dell'installazione mi compare il seguente errore:
Si è verificato un errore.
Maven artefact non trovato: com.google.guava/listenablefuture

il mio B4: versione 10.2
le risorse: resource_9_20
SDK: versione 6609375
SDK manager: versione 3.7

Ho anche reinstallato resource e SDK seguendo un post del forum.
Ancora niente, compare lo stesso errore.
Mi è parso di capire che la versione di SDK manager non deve essere la 3.7

Marco
 

Sagenut

Well-Known Member
Licensed User
Last edited:

marketto

Member
Licensed User
Grazie ancora,
ho installato il nuovo SDK Manager.
Adesso la versione di SDK Manger è la 3.7.1
Poi ho spuntato la libreria FirebaseAdMob (nella lista librerie) del software B4A.
Niente da fare.
L'errore persiste.
Eccolo:
Si è verificato un errore.
Maven artefact non trovato: com.google.guava/listenablefuture

Grazie Marco
 

marketto

Member
Licensed User
Ciao ancora
il mio codice è questo
#Region Project Attributes
#ApplicationLabel: My Family
#VersionCode: 1
#VersionName: 1.0.1
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False
#End Region

#Region Activity Attributes
#FullScreen: true
#IncludeTitle: false
#End Region

Sub Process_Globals
'These variables can be accessed from all modules.
Private xui As XUI
Dim Timer As Timer 'variabile timer
Dim accesso As Int



End Sub

Sub Globals

'definizioni variabili

Private logoImage As ImageView

'definizione variabili per banner google
Private BannerAd As AdView
Private IAd As InterstitialAd

End Sub

Sub Activity_Create(FirstTime As Boolean)
CaricaBanner
Activity.LoadLayout("main")
Activity.Title = ("Main")
'DeleteFileUtente
'DeleteFileSpesa
accesso = 0 ' insostazione variabile di accesso a zero l'utente non puo entrare
Timer.Initialize("timer", 3000) 'inizializzata timer ogni 4 secondi
Timer.Enabled = True

logoImage.Bitmap = LoadBitmap(File.DirAssets, "logo-myfamily.gif") 'carico logo per main versioneLabel.Text = "Versione 1.0.0" 'versione app

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub timer_Tick

Timer.Enabled = False
StartActivity("login")

End Sub

Sub CaricaBanner

BannerAd.Initialize2("BannerAd", "ca-app-pub-3940256099942544/6300978111", BannerAd.SIZE_SMART_BANNER)
Dim height As Int
If GetDeviceLayoutValues.ApproximateScreenSize < 6 Then
'phones
If 100%x > 100%y Then height = 32dip Else height = 50dip
Else
'tablets
height = 90dip
End If
Activity.AddView(BannerAd, 0dip, 100%y - height, 100%x, height)
BannerAd.LoadAd
IAd.Initialize("iad", "ca-app-pub-3940256099942544/1033173712")
IAd.LoadAd

End Sub

'Sub DeleteFileUtente
' File.Delete (File.DirInternal, "family/utente.txt")
'End Sub

'Sub DeleteFileSpesa
' File.Delete (File.DirInternal, "family/spesa.txt")
'End Sub

Sub Activity_Click
If IAd.Ready Then IAd.Show
End Sub

Sub IAD_AdClosed
IAd.LoadAd 'prepare a new ad
End Sub
Il manifest è questo
'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: https://www.b4x.com/forum/showthread.php?p=78136
AddManifestText(
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="29"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
CreateResourceFromFile(Macro, Themes.LightTheme)
'End of default text.

CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)
CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)
CreateResourceFromFile(Macro, FirebaseAdMob.FirebaseAds)
CreateResourceFromFile(Macro, FirebaseAuth.FirebaseAuth)
L'errore è questo: l'app si è interrotta
 
Last edited:

marketto

Member
Licensed User
SEMBRAVA FUNZIONASSE!!!!
Meglio di prima
Questo è quello che ho usato.

'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: https://www.b4x.com/forum/showthread.php?p=78136
'##############################################################
AddManifestText(
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="29"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
CreateResourceFromFile(Macro, Themes.LightTheme)
'End of default text.


'###################################################################

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

Sagenut

Well-Known Member
Licensed User
Possibilmente modifica il titolo della discussione e aggiungi [RISOLTO] all'inizio del titolo.
Sotto al titolo, nelle vicinanze, troverai un piccolo menù a tendina con Edit Thread o Edit Title. :)
 

marketto

Member
Licensed User
Ancora non risolto.
Mi sono accorto solo poco fa che gli inerstitial di test mi danno errore mentre quelli miei dell'app non compaiono
L'errore su; If IAd.Ready Then IAd.Show .

Sarà mica perchè sul manifest ho dovuto commentare questa riga sotto?

CreateResourceFromFile(Macro, FirebaseAdMob.FirebaseAds)
che mi restituisce errore.
Non capisco come mai restituisce errore.

Ecco il codice:
#Region Project Attributes
#ApplicationLabel: My Family
#VersionCode: 1
#VersionName: 1.0.1
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False
#End Region

#Region Activity Attributes
#FullScreen: true
#IncludeTitle: false
#End Region

Sub Process_Globals
'These variables can be accessed from all modules.
Private xui As XUI
Dim Timer As Timer 'variabile timer
Dim accesso As Int

End Sub

Sub Globals

'definizioni variabili

Private logoImage As ImageView
' Private versioneLabel As Label
' Private creatoreLabel As Label

'definizione variabili per banner google
Private BannerAd As AdView
Private IAd As InterstitialAd

End Sub

Sub Activity_Create(FirstTime As Boolean)

Activity.LoadLayout("main")
Activity.Title = ("Main")
'DeleteFileUtente
'DeleteFileSpesa
CaricaBanner
accesso = 0 ' insostazione variabile di accesso a zero l'utente non puo entrare
Timer.Initialize("timer", 7000) 'inizializzata timer ogni 4 secondi
Timer.Enabled = True

logoImage.Bitmap = LoadBitmap(File.DirAssets, "logo-myfamily.gif") 'carico logo per main versioneLabel.Text = "Versione 1.0.0" 'versione app

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub timer_Tick
CaricaInterstitial
Timer.Enabled = False
StartActivity("login")

End Sub

Sub CaricaBanner
' 'Log("Carica Banner")
'BannerAd.Initialize2("BannerAd", "ca-app-pub-3940256099942544/6300978111", BannerAd.SIZE_SMART_BANNER) 'test
'BannerAd.Initialize2("BannerAd", "ca-app-pub-1492922173088894/1567692377", BannerAd.SIZE_SMART_BANNER) 'vera

Dim height As Int
If GetDeviceLayoutValues.ApproximateScreenSize < 6 Then
'phones
If 100%x > 100%y Then height = 32dip Else height = 50dip
Else
'tablets
height = 90dip
End If
'Activity.AddView(BannerAd, 0dip, 100%y - height, 100%x, height)
'Activity.AddView(BannerAd, 0dip, 100%y - 90dip, 100%x, 90dip)
' BannerAd.LoadAd
'IAd.Initialize("iad", "ca-app-pub-3940256099942544/1033173712") 'test
IAd.Initialize("iad", "ca-app-pub-1492922173088894/3506432330") 'vera
IAd.LoadAd

End Sub

Sub CaricaInterstitial
If IAd.Ready Then IAd.Show
End Sub

Sub IAD_AdClosed
IAd.LoadAd 'prepare a new ad
End Sub

'Sub DeleteFileUtente
' File.Delete (File.DirInternal, "family/utente.txt")
'End Sub

'Sub DeleteFileSpesa
' File.Delete (File.DirInternal, "family/spesa.txt")
'End Sub
Gli AdBanner di test compaiono senza problemi e sembra funzionino bene.
Quelli miei non si vedono (ma credo dipenda da google che ancora li deve pubblicare)

Già questo è un passo avanti

Marco
 
Last edited:

Xfood

Well-Known Member
Licensed User
Bene...
Quindi alla fine scrivi una bella guida su come inserire i banner nelle app?
Sarebbe molto utile a tutti quelli che x la prima volta vogliono inserire i banner nelle loro app. Che ne dici?
 

marketto

Member
Licensed User
Servirebbe a me una guida...
Per far apparire i miei banner devo pubblicare l'app su google play o devono appaire ugialmente se pubblico sul mio smart?
 

GIS

Well-Known Member
Licensed User
In teoria visto che ti sei dovuto registrare su adsense le pubblicità ti dovrebbero apparire ugualmente. Ma ricorda che a volte ci vogliono giorni prima che appaia la pubblicità.
Questi numeri non dovresti renderli visibili qui nel forum perchè sono personali ca-app-pub-1492922173088894/3506432330, a meno che siano numeri a caso
 
Last edited:

GIS

Well-Known Member
Licensed User
Guardando il listato sembra tutto apposto... L'unico appunto che ti posso fare è quello di mettere
Dimenticavo le librerie che uso io sono 4. Magari sbaglierò ma per adesso dopo 1 anno funziona tutto ok, e non voglio fare esperimenti












B4X:
Sub Activity_Resume
    Timer.Enabled = True
End Sub
 

Attachments

Last edited:

GIS

Well-Known Member
Licensed User
Servirebbe a me una guida...
Ciao. Domada? Ma la tua app con gli annunci funziona? Perché la mia dopo una piccolissima modifica si installa ma da errore. Ho letto che da un po' che si deve dare il consenso per ricevere la pubblicità, cosa che tra l'altro non trovo in nessuna altra app che uso con la pubblicità. Forse mi sfugge qualcosa?
 

marketto

Member
Licensed User
In questo momento la mia app è in locale sul mio SmartPhone (collegato ad internet).
I Banner di test in effetti funzionano...
i miei banner e gli interstitial invece non si vedono (credo dipenda dal mio account).

Magari appariranno dopo aver pubblicato su Google Play l'app.

Appena entravo su AdMob l'errore era questo: Hai già un account Google AdMob.
Spero in questo di avere risolto.
Ho cancellato definitivamente un account che non usavo più.
Ora mi dice che è in corso la verifica dell'account.

Ancora però niente banner pubblicati.
Credo che debba attendere tale verifica da parte di Google.

Per il consenso non so che dirti e non so come fare.
Mi chiedo:
Il consenso lo devo dare io da qualche parte o è l'utente dell'app che lo deve dare?
Aiuto!!! Aiuto!!!

Marco
Buon Santo Stefano
 

GIS

Well-Known Member
Licensed User
Il consenso lo devo dare io da qualche parte o è l'utente dell'app che lo deve dare?
Il consenso non serve. Ho pubblica una nuova app senza consenso e funziona perfettamente.
Le modifiche che ho dovuto fare sono state. Aggiungere nel manifesto questa linea:
B4X:
AddReplacement($ADMOB_APP_ID$,il tuo id sviluppatore adsense)
e ho aggiunto queste linee:

B4X:
Sub Globals

Dim MobileAds As MobileAds

End sub

Sub Activity_Create(FirstTime As Boolean)

    MobileAds.Initialize

End sub

cmq puoi provarla anche senza mettere i banner di test una volta che hai inserito tutti i dati, basta che stai attento a non premerci sopra molte molte. Finchè sono 1 o 2 volte non corri nessun pericolo. Ricordati del file .Json appena avrai il nuovo account
 
Last edited:

Filippo

Expert
Licensed User
Ciao. Domada? Ma la tua app con gli annunci funziona? Perché la mia dopo una piccolissima modifica si installa ma da errore. Ho letto che da un po' che si deve dare il consenso per ricevere la pubblicità, cosa che tra l'altro non trovo in nessuna altra app che uso con la pubblicità. Forse mi sfugge qualcosa?
Hai già seguito il Tutorial di Erel?

Il consenso non serve. Ho pubblica una nuova app senza consenso e funziona perfettamente.
Senza consenso rischi che Google ti blocca la App.

Finchè sono 1 o 2 volte non corri nessun pericolo.
se usi questo non ci sono pericoli:
consent.AddTestDevice("ildevicenumerodeltuocellulare")

Per il consens puoi usare anche questo dialog.
 

GIS

Well-Known Member
Licensed User
Hai già seguito il Tutorial di Erel?
L'ho visto ma ho provato a non inserire niente di quel codice a parte quelle tre linee che ho scritto prima altrimenti non mi andava. Adesso aspetto che goggle me la pubblichi o mi dica che non va bene. Al max provvederò alla modifica completa.
consent.AddTestDevice("ildevicenumerodeltuocellulare")
Bello questo!!


Ma quale libreria mi serve per il tuo esempio? trovata
 
Last edited:
Top