Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

UWP : Ajoutez Facebook dans vos Apps

Je ne suis pas un fan de Facebook mais il faut bien admettre que c’est “ze” réseau social. Intégrer Facebook dans vos Apps peut donc être un plus énorme…

SDK Microsoft

Il s’agit d’un SDK de la Windows Apps Team, donc un truc bien fait qui fonctionne en Windows 8.1 et UWP pour PC et Smartphone. Authentification Facebook, Like, etc, plein de choses sont possibles.

Les features disponibles sont :

  • Authorisation
    • Login
    • Logout
    • Bouton de Login
    • Contrôle pour afficher l’image du profile
  • Dialogues
    • Feed
    • Request
  • Autres
    • Custom stories
    • Poster dans le feed d’un utilisateur
    • Upload de photo
    • Like d’une page ou d’un objet

Télécharger

Le SDK est Open Source sur Git : https://github.com/Microsoft/winsdkfb

Mieux que Facebook .NET SDK ?

Je ne pense pas, mais certains on parfois commencé des développements avec ce SDK (http://facebooksdk.net/). Et avant de tout changer il est préférable d’évaluer le bénéfice. Mais si vous commencez une nouvelle App, préférez le nouveau SDK.

Des exemples

Sur le Git vous trouverez aussi des exemples ce qui aide pas mal à prendre le SDK en main.

Par exemple un login suivi de la récupération des Like se fait comme cela :

// Get active session
FBSession sess = FBSession.ActiveSession;

// Add permissions required by the app
sess.AddPermission("public_profile");
sess.AddPermission("user_friends");
sess.AddPermission("user_likes");
sess.AddPermission("user_groups");
sess.AddPermission("user_location");
sess.AddPermission("user_photos");
sess.AddPermission("publish_actions");

// Login to Facebook 
FBResult result = await sess.LoginAsync();

if (result.Succeeded)
{
 // Login successful, fetch user likes
 GetUserLikes();
}
else
{
 // Login failed
 // Do work
}

public async void GetUserLikes()
{
 if (FBSession.ActiveSession.LoggedIn)
 {
  string graphPath = FBSession.ActiveSession.User.Id + "/likes";

  FBJsonClassFactory fact = new FBJsonClassFactory(
   (JsonText) = > MyFBPage.FromJson(JsonText));

  FBPaginatedArray _likes_likes = new FBPaginatedArray(graphPath, null, fact);
  FBResult result = await _likes.First();
  if (result.Succeeded)
  {
   IReadOnlyList<object> pages =
    (IReadOnlyList<object>)result.Object;

   AddLikes(pages);
  }
 }
}

 

Conclusion

Un login FB ça peut être utile pour récupérer des infos sur le user sans avoir à lui demander de tout ressaisir. Une App qui nécessite un login peut donc se servir de ce moyen pour avoir une authentification dans le cloud bien plus bétonnée qu’un truc fait à la main.

Ensuite intégrer des infos provenant de FB peut être attractif, comme poster une photo aussi.

Bref, Facebook est Facebook et avoir un SDK portable et Open Source de chez MS c’est tout de même bien pratique !

Stay tuned !

blog comments powered by Disqus