Questions/réponses et dépannage pour le SDK Facebook pour Android

Questions/réponses

Pour Android 11, vous pouvez ajouter le bloc queries suivant dans le fichier AndroidMainfest.xml du projet :

<manifest package="com.example.app"> <queries> <provider android:authorities="com.facebook.katana.provider.PlatformProvider" /> </queries> ... </manifest>

Vous pouvez utiliser un ID d’app Facebook sur plusieurs apps Android. Utilisez simplement le même ID d’app dans une autre app pour la connexion, le partage, etc.

Pour créer un lien profond et ouvrir votre app avec les notifications et d’autres moyens, nous ne prenons en charge qu’une combinaison unique de nom de package et de nom de classe.

Si vous voulez profiter de la prise en charge des liens profonds sur plusieurs apps, consultez App Links.

Vous pouvez remplacer des chaînes dans le SDK Facebook pour Android en fournissant une traduction dans votre propre fichier strings.xml pour la langue souhaitée.

Le fichier strings.xml dans le répertoire facebook/res/values/ contient toutes les chaînes que le SDK utilise. Le nom des ressources de la chaîne doit être explicite.

Pour en savoir plus, consultez le Guide pour les développeurs Android : Traduire avec les ressources.

Vous pouvez télécharger d’anciennes versions du SDK à la page des téléchargements du SDK.

Chaque version du SDK Facebook pour Android avec la boîte de dialogue Partager native comprend également un APK pour l’app Facebook.

Cet APK était inclus dans le téléchargement du SDK jusqu’à la version 3.14.1. Par la suite, il devait être téléchargé séparément. Vous pouvez trouver les APK sur notre [page des téléchargements] (/docs/android/downloads).

Installez simplement l’APK Facebook sur votre émulateur ou votre appareil Android, et testez la boîte de dialogue Partager native depuis votre app.

Normalement, les bibliothèques Android peuvent utiliser BuildConfig.DEBUG pour déterminer si l’app est en mode débogage. Cependant, en raison d’un bug dans Gradle, DEBUG est toujours défini sur « false » à la création des bibliothèques Android. Il existe toutefois une solution alternative : la méthode FacebookSdk.setIsDebugEnabled(boolean) vous permet de définir le mode débogage directement depuis votre app. La consignation des débogages depuis le SDK est ainsi activée.

Vous pouvez également définir les comportements de consignation avec FacebookSdk.addLoggingBehavior(LogginBehavior) pour activer la consignation de différentes catégories de messages. Consultez Référence concernant le SDK Android, Comportement de consignation.

La boîte de dialogue Partager fait des rappels dans onSuccess et onCancel lorsque l’utilisateur effectue une action.

  • onSuccess lorsque l’utilisateur réussit un partage. Par ailleurs, il y aura également postId dans la classe Sharer.Result si l’utilisateur a donné des autorisations publish_actions à l’app. Si cet utilisateur ne s’est pas connecté avec Facebook Login et s’il clique sur Cancel, cette méthode sera également appelée.
  • onCancel lorsqu’une personne clique sur le bouton X de la boîte de dialogue Partager ou si elle s’est connectée avec Facebook Login et clique sur Cancel.

Dépannage

Lorsque vous demandez des autorisations de publication, vous pouvez obtenir l’erreur :

  • « Session : une tentative de demande de nouvelles autorisations a été faite pour une session ayant une demande en attente » ou
  • « Une tentative d’autorisation a eu lieu alors qu’une requête est en attente »

Ce message d’erreur signifie que votre app essaie de demander de nouvelles autorisations avant que la demande précédente ne soit terminée. Toutes les demandes d’autorisations sont asynchrones, et vous ne pouvez pas en demander de nouvelle jusqu’à ce que la demande précédente soit terminée.

Consultez nos échantillons d’apps fournis avec le SDK, tels que Scrumptious ou Hello Facebook, pour connaître la marche à suivre pour demander de nouvelles autorisations.

S’il n’y a pas d’erreur dans les journaux, cela est probablement dû au fait que la demande n’a jamais été exécutée. Pour exécuter GraphRequest, appelez la méthode executeAsync.

Pour vous connecter ou utiliser les boîtes de dialogue natives Partager, vous devez signaler à Facebook la clé que vous utilisez pour signer vos apps.

Il s’agit d’une clé correspondant à un hachage SHA-1 de la clé utilisée pour signer votre app. En général, au moins deux clés différentes seront utilisées, une pour le développement et le débogage, et une pour la sortie. Vérifiez que les deux valeurs ont été ajoutées à la page des paramètres de votre app.

Pour en savoir plus, consultez Démarrer avec le SDK Android, Créer une clé de hachage de développement.

Ce problème survient probablement parce que vous n’avez pas configuré ContentProvider dans votre AndroidManifest.xml. Assurez-vous de l’ajouter à votre fichier AndroidManifest.xml avec l’ID de votre app. Consultez Partage sur Android, Conditions requises.