Su Android 11, puoi aggiungere il blocco queries
seguente nell'AndroidMainfest.xml
del progetto per risolvere il problema:
<manifest package="com.example.app"> <queries> <provider android:authorities="com.facebook.katana.provider.PlatformProvider" /> </queries> ... </manifest>
Puoi usare un solo ID app Facebook in più app per Android. Usa lo stesso ID app in un'altra app per l'accesso, la condivisione e altro.
Per i deep link e l'apertura della tua app mediante notifiche o altri mezzi, supportiamo una sola combinazione di nome del pacchetto/nome della classe.
Se desideri il supporto multi-app per i deep link, vedi App Links.
Puoi ignorare le stringhe nell'SDK di Facebook per Android fornendo una traduzione nel tuo file strings.xml
per la lingua desiderata.
Il file strings.xml
nella directory facebook/res/values/
contiene tutte le stringhe usate dall'SDK. Il nome delle risorse della stringa deve essere autoesplicativo.
Per maggiori informazioni, consulta la Guida degli sviluppatori per Android: Localizing with Resources (Localizzazione tramite risorse).
Puoi scaricare le versioni precedenti dell'SDK nella pagina Download dell'SDK.
Ogni versione dell'SDK di Facebook per Android con la finestra di condivisione nativa dell'emulatore include anche un APK per l'app di Facebook.
Questo APK era incluso nel download dell'SDK fino alla versione 3.14.1. Successivamente è diventato un download separato. Puoi trovare gli APK sulla nostra pagina Download.
Installa l'APK di Facebook sul tuo emulatore o dispositivo Android e testa la finestra di condivisione nativa dalla tua app.
Normalmente le librerie Android possono usare BuildConfig.DEBUG
per stabilire se l'app è in modalità debug. Tuttavia, a causa di un bug in Gradle, le librerie Android vengono sempre create con DEBUG
impostato su false. Come soluzione alternativa, è disponibile un metodo FacebookSdk.setIsDebugEnabled(boolean)
che consente di impostare la modalità debug direttamente dalla tua app. Questa funzione abilita la registrazione del debug dall'SDK.
Inoltre, puoi impostare i comportamenti di registrazione con FacebookSdk.addLoggingBehavior(LogginBehavior)
per abilitare la registrazione per diverse categorie di messaggi. Consulta Riferimento dell'SDK per Android, LoggingBehavior.
La finestra di condivisione trasforma le callback in onSuccess
e onCancel
all'azione di un utente.
onSuccess
quando l'utente effettua correttamente una condivisione. Inoltre ci sarà un postId
nella classe Sharer.Result
se l'utente ha fornito le autorizzazioni publish_actions
all'app. Se l'utente non ha effettuato l'accesso con Facebook Login, questo metodo verrà chiamato anche in caso di clic su Annulla. onCancel
quando qualcuno clicca sul pulsante della finestra di condivisione X
o se ha effettuato l'accesso con Facebook Login e ha cliccato su Annulla.Quando richiedi l'autorizzazione per la pubblicazione, potresti visualizzare l'errore:
Questo messaggio di errore significa che l'app sta tentando di richiedere nuove autorizzazioni prima che la richiesta precedente sia stata completata. Tutte le richieste di autorizzazioni sono asincrone e non è possibile richiedere nuove autorizzazioni fino a quando la richiesta precedente non è completata.
Vedi i nostri esempi di app forniti con l'SDK come Scrumptious o Hello Facebook per scoprire come chiedere nuove autorizzazioni in diversi passaggi.
Se non ci sono errori nelle registrazioni il motivo probabile è che la richiesta non è mai stata eseguita. Per eseguire GraphRequest
, chiama il metodo executeAsync
.
Per effettuare l'accesso o usare la finestra di condivisione nativa, devi comunicare a Facebook la chiave che usi per firmare le tue app.
È un hash chiave di tipo SHA-1 della chiave usata per firmare la tua app. Di solito, vengono usate almeno due chiavi diverse, una per sviluppo e debug e una per la pubblicazione. Verifica che siano stati aggiunti entrambi i valori nella pagina delle impostazioni della tua app.
Per maggiori informazioni, consulta Primi passi con l'SDK per Android, Creazione di un hash chiave di sviluppo.
Il motivo più comune è non aver impostato un ContentProvider
nel tuo AndroidManifest.xml
. Assicurati di averlo aggiunto al tuo file AndroidManifest.xml
con il tuo ID app. Consulta Condivisione su Android, Prerequisiti.