Memulai Facebook SDK untuk iOS

Panduan ini menunjukkan cara mengintegrasikan aplikasi iOS Anda dengan Facebook menggunakan Facebook SDK untuk iOS.

Mulai SDK v13.0, Token Klien diwajibkan untuk semua panggilan ke Graph API.

Facebook SDK mengaktifkan:

Sebelum Memulai

Anda memerlukan:

Langkah 1: Siapkan Lingkungan Pengembangan Anda

  1. Di Xcode, klik File > Swift Packages > Add Package Dependency.
  2. Di dialog yang muncul, masukkan URL repositori: https://github.com/facebook/facebook-ios-sdk.
  3. Di Version, pilih Up to Next Major dan opsi default.
  4. Selesaikan perintah untuk memilih galeri yang ingin Anda gunakan di proyek Anda.
  5. Jika Anda InginMenambahkan Paket ini ke proyek Anda

    Mengizinkan aplikasi untuk menggunakan layanan Facebook

    FacebookCore

    Mengizinkan pengguna untuk masuk ke aplikasi, dan bagi aplikasi untuk meminta izin mengakses data

    FacebookLogin

    Mengizinkan aplikasi Anda untuk membagikan konten di Facebook

    FacebookShare

    Mengizinkan pengguna untuk masuk ke aplikasi Anda guna mengaktifkan interaksi dan mempromosikan fitur sosial

    FacebookGamingServices

Langkah 2: Konfigurasikan Proyek Anda

Konfigurasikan file info.plist dengan snippet XML yang berisi data tentang aplikasi Anda.

Setelah Anda mengintegrasikan Facebook Login, Peristiwa Aplikasi tertentu dicatat dan dikumpulkan secara otomatis untuk Pengelola Peristiwa, kecuali Anda menonaktifkan Pencatatan Peristiwa Aplikasi Otomatis. Untuk detail tentang informasi apa saja yang dikumpulkan dan cara menonaktifkan pencatatan peristiwa aplikasi otomatis, lihat Pencatatan Peristiwa Aplikasi Otomatis.

  1. Klik kanan Info.plist, dan pilih Buka Sebagai ▸ Kode Sumber.
  2. Salin dan tempelkan snippet XML berikut ke badan file Anda (<dict>...</dict>).
    <key>CFBundleURLTypes</key>
    <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
        <string>fbAPP-ID</string>
      </array>
      </dict>
    </array>
    <key>FacebookAppID</key>
    <string>APP-ID</string>
    <key>FacebookClientToken</key>
    <string>CLIENT-TOKEN</string>
    <key>FacebookDisplayName</key>
    <string>APP-NAME</string>
  3. Dalam <array><string> di kunci [CFBundleURLSchemes], ganti [APP_ID] dengan ID Aplikasi Anda.
  4. Dalam <string> di kunci FacebookAppID, ganti [APP_ID] dengan ID Aplikasi Anda.
  5. Di <string> dalam kunci FacebookClientToken, ganti CLIENT-TOKEN dengan nilai yang ditemukan di bawah Pengaturan > Lanjutan > Token Klien di Dasbor Aplikasi Anda.
  6. Dalam <string> di kunci FacebookDisplayName, ganti [APP_NAME] dengan nama aplikasi Anda.
  7. Untuk menggunakan dialog Facebook (misal: Login, Bagikan, Undangan Aplikasi, dsb.) yang dapat melakukan pengalihan aplikasi ke aplikasi Facebook, Info.plist aplikasi Anda juga perlu menyertakan hal berikut:
    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>fbapi</string>
      <string>fb-messenger-share-api</string>
    </array>

Anda dapat langsung mengatur pengumpulan otomatis Peristiwa Aplikasi ke “true” atau “false” dengan menambahkan FacebookAutoLogAppEventsEnabled sebagai kode dalam Info.plist.

Proyek Anda harus menyertakan kemampuan Keychain Sharing agar login berfungsi di aplikasi Mac Catalyst.
  1. Pilih tombol + Capability di tab Signing & Capabilities ketika mengonfigurasi target aplikasi.
  2. Temukan dan pilih kemampuan Keychain Sharing.
  3. Pastikan bahwa kemampuan Keychain Sharing tercantum untuk target.

Langkah 3: Hubungkan Delegasi Aplikasi

Ganti kode di metode AppDelegate.swift dengan kode berikut. Kode ini menginisialisasi SDK saat aplikasi Anda diluncurkan, dan memungkinkan SDK menangani login dan membagikan dari aplikasi Facebook native saat Anda melakukan tindakan Login atau Membagikan. Jika tidak, pengguna harus masuk ke Facebook untuk menggunakan browser dalam aplikasi untuk login.
    
// 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]
        )
    }  
}

iOS 13 memindahkan fungsi URL ke SceneDelegate. Jika Anda menggunakan iOS 13, tambahkan metode berikut ke SceneDelegate sehingga operasi seperti login atau membagikan berfungsi sebagaimana dimaksudkan:
// 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]
    )
}

Langkah 4: Buat lalu Jalankan Proyek Anda di Simulator

Di Xcode, pilih simulator iOS dan klik Run. Xcode membuat proyek Anda, lalu meluncurkan versi terbaru aplikasi Anda yang berjalan di Simulator.

Langkah 5: Lihat Hasilnya di Pengelola Peristiwa


Pengelola Peristiwa menampilkan peristiwa yang Anda kirimkan ke Facebook. Jika ini adalah pertama kalinya Anda meluncurkan aplikasi dengan kode ini, Anda mungkin harus menunggu setidaknya 20 menit sebelum peristiwa Anda muncul.
Catatan: Mungkin perlu hingga 20 menit sampai peristiwa muncul di dasbor.

Langkah Berikutnya

Untuk mempelajari cara menerapkan Peristiwa Aplikasi dan produk Facebook lainnya ke aplikasi Anda, klik salah satu tombol di bawah ini.

Membagikan di iOSMenambahkan Facebook LoginMenambahkan Peristiwa AplikasiMenggunakan Graph API
Konfigurasi Lanjutan