0

How to use Facebook SDK in iOS

1 Giới thiệu

Ngày nay mạng xã hội Facebook đã trở nên phổ biến trên toàn thế giới, số lượng người dùng Facebook đã vượt quá sự mong đợi ban đầu. Đến nay, việc tích hợp Facebook vào các phần mềm giúp cho việc đăng nhập, chia sẻ, like... trở nên thuận tiện và dễ dàng hơn.

Bài viết sau đây sẽ giới thiệu các bạn ví dụ tích hợp Facebook SDK vào ứng dụng trên nền tảng iOS.

2 Tích hợp Facebook SDK

2.1 Download SDK bản mới nhất

Bạn có thể download SDK Facebook tại link sau đây: https://developers.facebook.com/resources/facebook-ios-sdk-current.pkg

Hoặc bạn có thể lấy source SDK Facebook từ GitHub, nếu bạn đã có tài khoản Git, bạn có thể local repository bằng cách clone source về máy cảu bạn:

git clone git://github.com/facebook/facebook-ios-sdk.git

Sau đó, nhớ build SDK từ source trước khi bạn compile hoặc chạy một app bất kỳ:

./scripts/build_framework.sh

Bạn có thể cài SDK thông qua Cocoa Pod

pod "FBSDKCoreKit"
pod "FBSDKLoginKit"
pod "FBSDKShareKit"

2.2 Tạo Facebook App

Nếu bạn chưa đăng ký một APP ID cho Facebook thì bạn phải đăng ký Screen Shot 2015-05-26 at 10.16.06 AM.png Screen Shot 2015-05-26 at 10.20.22 AM.png

Download SDK về máy: Screen Shot 2015-05-26 at 10.22.40 AM.png

Mở thư mục Facebook SDK vừa download về, kéo thả FBSDKCoreKit.Framework, FBSDKLoginKit.Framework, FBSDKShareKit.Framework vào XCode Projects Framework.

Nhớ không tích phần "Copy into destination group folder".

Mở file info.plist và cấu hình như sau:

  1. Trong file .plist tạo một key có tên là FacebookAppID kiểu String, sau đó copy APP ID vào giá trị của key.
  2. Tiếp tục tạo một key có tên FacebookDisplayName kiểu String, copy tên app (đã tạo trước đó trên Facebook app)
  3. Tiếp tục tạo key có tên URL types kiểu Dictionary, chỉ gồm 1 item duy nhất. Tạo trong item key có tên URL Schemes kiểu Array, chọn kiểu cho item đầu tiên String.

Screen Shot 2015-05-26 at 10.38.09 AM.png

Nhập bundle ID của app vào:

Screen Shot 2015-05-26 at 10.39.34 AM.png

2.2 Sử dụng Facebook SDK

Kiểm tra cài đặt và mở app

Trong file AppDelegate.m:

import <FBSDKCoreKit/FBSDKCoreKit.h>

- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBSDKAppEvents activateApp];
}

- (BOOL)application:(UIApplication *)application         didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  return [[FBSDKApplicationDelegate sharedInstance] application:application
                                    didFinishLaunchingWithOptions:launchOptions];
}

- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [[FBSDKApplicationDelegate sharedInstance]         application:application
                                                     openURL:url
                                               sourceApplication:sourceApplication
                                                      annotation:annotation];
}

Login Facebook

Trong file viewControler của bạn

import <FBSDKCoreKit/FBSDKCoreKit.h>

import <FBSDKLoginKit/FBSDKLoginKit.h>

Trong hàm viewDidLoad:

FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc] init];
loginButton.center = self.view.center;
[self.view addSubview:loginButton];

Trong file AppDelegate.m :

- (BOOL)application:(UIApplication *)application
         openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
          annotation:(id)annotation {
return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                     openURL:url
                                           sourceApplication:sourceApplication
                                                  annotation:annotation];
}

Sử dụng Share Dialog

Share link

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:@"YOUR LINK HERE"];
  • contentURL - link chia sẻ
  • contentTitle - tiêu đề của nội dung được chia sẻ
  • imageURL - url của ảnh thumbnail được hiển thị sau khi post
  • contentDescription - miêu tả nội dung, thường từ 2-4 câu

Share photo

FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
photo.image = image;
photo.userGenerated = YES;
FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc]     init];
content.photos = @[photo];
  • Ảnh phải có dung lượng nhỏ hơn 12MB
  • Bạn phải cài app của Facebook phiên bản lớn hơn 7.0

Screen Shot 2015-05-26 at 11.15.47 AM.png

Share Video

FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init];
video.videoURL = videoURL;
FBSDKShareVideoContent *content = [[FBSDKShareVideoContent alloc] init];
content.video = video;
  • Video phải có dung lượng nhở hơn 12MB.
  • Bạn phải cài app Facebook phiên bản lớn hơn 26.0.

Kết luận

Ngoài việc chia sẻ, đăng nhập, Facbook SDK còn cung cấp các api khả dụng cho việc nhắn tin (messenger), like một nội dung đã được chia sẻ, custom dialog chia sẻ v.v. Tuỳ vào mục đích sử dụng hãy lựa chọn cho mình phương thức. Chúc bạn thành công.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí