Chúng tôi đã thực hiện thay đổi đối với các điểm cuối cho chế độ Giới hạn đăng nhập; bạn hiện có thể truy cập vào chế độ này theo địa chỉ limited.facebook.com
Khi đăng nhập vào ứng dụng của bạn bằng Facebook, mọi người có thể cấp quyền cho ứng dụng đó để bạn thay mặt họ truy xuất thông tin hoặc thực hiện hành động trên Facebook.
Dưới đây là các bước thêm phương thức Đăng nhập bằng Facebook vào dự án iOS.
Vui lòng đăng nhập Facebook để tạo ứng dụng hoặc đăng ký với tư cách nhà phát triển.
Hãy thiết lập môi trường phát triển của bạn trước khi sử dụng phương thức Đăng nhập bằng Facebook dành cho iOS.
Sử dụng Trình quản lý gói Swift (SPM)Hãy đăng ký và đặt cấu hình ứng dụng của bạn để có thể sử dụng phương thức Đăng nhập bằng Facebook khi thêm Số nhận dạng gói bạn có.
Info.plist
bằng đoạn mã XML chứa dữ liệu về ứng dụng của bạn. Sau khi bạn tích hợp phương thức Đăng nhập bằng Facebook, hệ thống sẽ tự động ghi và thu thập một số Sự kiện trong ứng dụng cho Trình quản lý sự kiện, trừ khi bạn tắt tính năng Tự động ghi sự kiện trong ứng dụng. Để biết chi tiết về loại thông tin được thu thập và cách tắt tính năng tự động ghi sự kiện trong ứng dụng, hãy xem bài viết Tự động ghi sự kiện trong ứng dụng.
Info.plist
rồi chọn Mở dưới dạng ▸ Mã nguồn. <dict>...</dict>
). <array><string>
thuộc khóa [CFBundleURLSchemes]
, hãy thay thế APP-ID bằng ID ứng dụng của bạn.<string>
thuộc khóa FacebookAppID
, hãy thay thế APP-ID bằng ID ứng dụng của bạn.<string>
thuộc khóa FacebookClientToken
, hãy thay thế CLIENT-TOKEN bằng giá trị trong phần Cài đặt > Nâng cao > Mã ứng dụng trên Bảng điều khiển ứng dụng.<string>
thuộc khóa FacebookDisplayName
, hãy thay thế APP-NAME bằng tên ứng dụng của bạn.Info.plist
của ứng dụng cũng cần bao gồm: Bạn có thể trực tiếp đặt tính năng tự động thu thập Sự kiện trong ứng dụng thành "true" hoặc "false" bằng cách thêm FacebookAutoLogAppEventsEnabled
làm khóa trong Info.plist
.
AppDelegate.swift
bằng mã dưới đây. Mã này sẽ khởi tạo SDK khi ứng dụng của bạn chạy, đồng thời cho phép SDK xử lý hoạt động đăng nhập và chia sẻ từ ứng dụng gốc trên Facebook khi bạn thực hiện hành động Đăng nhập hoặc Chia sẻ. Nếu không, người dùng phải đăng nhập vào Facebook để đăng nhập bằng trình duyệt trong ứng dụng. // AppDelegate.swift import UIKit import FacebookCore @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { ApplicationDelegate.shared.application( application, didFinishLaunchingWithOptions: launchOptions ) return true } func application( _ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:] ) -> Bool { ApplicationDelegate.shared.application( app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation] ) } }
SceneDelegate
. Nếu bạn đang dùng phiên bản iOS 13, vui lòng thêm phương thức dưới đây vào SceneDelegate
để các thao tác như đăng nhập hoặc chia sẻ hoạt động như dự định: // SceneDelegate.swift import FacebookCore ... func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) { guard let url = URLContexts.first?.url else { return } ApplicationDelegate.shared.application( UIApplication.shared, open: url, sourceApplication: nil, annotation: [UIApplication.OpenURLOptionsKey.annotation] ) }
Hãy sử dụng nút Đăng nhập bằng Facebook trong ứng dụng iOS của bạn.
// Add this to the header of your file, e.g. in ViewController.swift import FacebookLogin // Add this to the body class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let loginButton = FBLoginButton() loginButton.center = view.center view.addSubview(loginButton) } }
AccessToken.current
. LoginManager
sẽ đặt mã này cho bạn, đồng thời tự động viết AccessToken.current
vào phần lưu trữ chuỗi khóa khi đặt thông số đó. AccessToken
chứa userID
mà bạn có thể dùng để xác định người dùng. permissions
trên đối tượng FBLoginButton
.