Versi Platform

Platform Facebook mendukung pembedaan versi sehingga pembuat aplikasi dapat meluncurkan perubahan dari waktu ke waktu. Dokumen ini menjelaskan bagaimana SDK dan API dipengaruhi oleh versi dan cara menggunakan versi tersebut dalam permintaan Anda.

Versi

Tidak semua API dan SDK berbagi sistem versi yang sama. Contoh: Graph API diberi versi dengan kecepatan dan penomoran yang berbeda dibandingkan dengan Facebook SDK untuk iOS. Semua Facebook SDK mendukung kemampuan untuk berinteraksi dengan berbagai versi API kami. Beberapa versi API atau SDK dapat hadir secara bersamaan dengan fungsi yang berbeda di setiap versi.

Apa Versi Graph API terbaru?

Versi terbaru Graph API adalah v19.0

Mengapa kita memiliki versi?

Tujuan memiliki versi adalah agar developer yang membuat aplikasi dapat memahami terlebih dahulu kapan API atau SDK mungkin berubah. Versi membantu pengembangan web, tetapi sangat penting dengan pengembangan seluler karena seseorang yang menggunakan aplikasi Anda di ponsel mereka mungkin memerlukan waktu lama untuk meningkatkan (atau mungkin tidak pernah meningkatkan).

Setiap versi akan tetap ada selama setidaknya 2 tahun dari rilis memberikan Anda garis waktu yang solid untuk berapa lama aplikasi Anda akan tetap berfungsi, dan berapa lama Anda harus memperbaruinya ke versi yang lebih baru.

Jadwal Versi

Setiap versi dijamin untuk beroperasi setidaknya selama dua tahun. Versi tidak lagi dapat digunakan dua tahun setelah tanggal versi berikutnya dirilis. Contoh: jika API versi v2.3 dirilis tanggal 25 Maret 2015 dan API versi v2.4 dirilis tanggal 7 Agustus 2015, maka v2.3 akan kedaluwarsa tanggal 7 Agustus 2017, dua tahun setelah rilis v2.4.

Untuk API, setelah versi tidak lagi dapat digunakan, panggilan apa pun yang dilakukan ke versi tersebut akan ditetapkan secara default ke versi terlama berikutnya yang masih dapat digunakan. Berikut adalah contoh linimasa:

Untuk SDK, versi akan selalu tersedia karena merupakan paket yang dapat diunduh. Namun, SDK mungkin mengandalkan API atau metode yang tidak lagi berfungsi, jadi Anda harus menganggap SDK akhir masa pakai tidak lagi berfungsi.

Anda dapat menemukan informasi spesifik tentang jadwal versi, perubahan, dan tanggal rilis kami di halaman catatan perubahan kami.

Apakah semuanya akan tetap sama sekali tidak berubah dalam satu versi?

Facebook berhak membuat perubahan pada API apa pun dalam waktu singkat untuk masalah yang terkait dengan keamanan atau privasi. Perubahan ini tidak sering terjadi, tetapi memang terjadi.

Apa yang terjadi jika saya tidak menentukan versi untuk API?

Kami merujuk ke panggilan API yang dibuat tanpa menentukan versi sebagai panggilan tidak versi. Contoh: versi saat ini adalah v4.0. Panggilannya sebagai berikut:

curl -i -X "https://graph.facebook.com/v4.0/{my-user-id}&access_token={access-token}"

Panggilan tidak berversi yang sama adalah sebagai berikut:

curl -i -X "https://graph.facebook.com/{my-user-id}&access_token={access-token}"

Panggilan tidak berversi menggunakan set versi di kartu dasbor aplikasi Tingkatkan Versi API di bawah Pengaturan > Lanjutan. Dalam contoh berikut, versi yang diatur dalam dasbor aplikasi adalah v2.10 dan panggilan tidak berversi setara dengan:

curl -i -X "https://graph.facebook.com/v2.10/{my-user-id}&access_token={access-token}"

Kami merekomendasikan Anda agar selalu menentukan versi jika memungkinkan.

Batasan

  • Anda tidak dapat melakukan panggilan API tidak berversi ke Facebook SDK for JavaScript.

Apakah aplikasi saya dapat melakukan panggilan ke versi lebih lama dari versi saat ini?

Anda dapat menentukan versi lama dalam panggilan API Anda selama tersedia dan aplikasi Anda telah melakukan panggilan ke versi tersebut. Contoh: jika aplikasi Anda dibuat setelah v2.0 dirilis dan melakukan panggilan menggunakan v2.0, aplikasi akan dapat melakukan panggilan ke v2.0 hingga versi kedaluwarsa bahkan setelah versi yang lebih baru dirilis. Jika Anda membuat aplikasi setelah v2.0 tetapi tidak melakukan panggilan apa pun hingga v2.2, aplikasi Anda tidak akan dapat melakukan panggilan menggunakan v2.0 atau ke v2.1. Aplikasi Anda hanya akan dapat membuat panggilan menggunakan v2.2 dan lebih baru.

Versi Marketing API

Marketing API memiliki skema versinya sendiri. Nomor versi dan jadwalnya berbeda dari status Graph API.

Pelajari selengkapnya tentang Versi Marketing API

Melakukan Permintaan Berversi

Graph API

Baik inti atau diperluas, hampir semua endpoint Graph API tersedia melalui jalur berversi. Kami memiliki panduan lengkap untuk menggunakan versi Graph API dalam panduan tutorial cepat Graph API.

Dialog

Jalur berversi tidak hanya berlaku untuk endpoint API, tetapi juga berlaku untuk dialog dan plugin sosial. Contoh: jika Anda ingin membuat dialog Facebook Login untuk aplikasi web, Anda dapat menambahkan nomor versi ke endpoint yang membuat dialog:

https://www.facebook.com/v19.0/dialog/oauth?
  client_id={app-id}
  &redirect_uri={redirect-uri}

Plugin Sosial

Jika Anda menggunakan versi HTML5 atau xfbml dari plugin sosial kami, versi yang di-render akan ditentukan oleh versi yang ditentukan saat Anda menginisialisasi Facebook SDK untuk JavaScript.

Jika Anda memasukkan versi iframe atau tautan biasa dari salah satu plugin kami, Anda harus menambahkan nomor versi ke jalur sumber plugin:

<iframe
  src="//www.facebook.com/v19.0/plugins/like.php?href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&amp;width&amp;layout=standard&amp;action=like&amp;show_faces=true&amp;share=true&amp;height=80&amp;appId=634262946633418" 
  scrolling="no" 
  frameborder="0" 
  style="border:none; overflow:hidden; height:80px;" 
  allowTransparency="true">
</iframe>

Membuat Permintaan Berversi dari SDK

Jika Anda menggunakan Facebook SDK untuk iOS, Android, atau JavaScript, membuat panggilan versi sebagian besar otomatis. Perhatikan bahwa ini berbeda dari sistem versi masing-masing SDK.

JavaScript

JavaScript SDK hanya dapat menggunakan versi API yang berbeda jika Anda menggunakan jalur sdk.js.

Jika Anda menggunakan FB.init() dari JavaScript SDK, Anda perlu menggunakan parameter versi, seperti ini:

FB.init({
  appId      : '{app-id}',
  version    : 'v19.0'
});

Jika Anda mengatur tandai versi di dalamnya, maka panggilan apa pun ke FB.api() akan secara otomatis menambahkan versi ke jalur yang dipanggil. Hal yang sama berlaku untuk setiap dialog untuk Facebook Login yang kebetulan dipanggil. Anda akan mendapatkan dialog Facebook Login untuk versi API tersebut.

Jika perlu, Anda dapat mengganti versi hanya dengan menambahkan versi ke jalur endpoint dalam panggilan FB.api().

iOS

Setiap versi Facebook SDK untuk iOS yang dirilis terkait dengan versi yang tersedia pada tanggal rilis. Ini berarti bahwa jika Anda meningkatkan ke SDK baru Anda juga meningkatkan ke versi API terbaru (meskipun Anda dapat menyatakan secara manual lebih awal, versi API yang tersedia dengan [FBSDKGraphRequest initWithGraphPath]). Versi API terdaftar bersama rilis setiap versi dari Facebook SDK untuk iOS.

Sama seperti JavaScript SDK, versi ini ditambahkan ke panggilan apa pun yang Anda buat ke Graph API melalui Facebook SDK untuk iOS. Contoh: jika v2.7 adalah versi terbaru dari API, panggilan /me/friends - yang digunakan dalam contoh kode berikut - akan benar-benar memanggil /v2.7/me/friends:

[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me/friends"
  parameters:@{@"fields": @"cover,name,start_time"}]
    startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
        (...)
    }];

Anda dapat mengganti versi panggilan dengan [FBSDKGraphRequestConnection overrideVersionPartWith].

Android

Setiap versi Facebook SDK untuk Android yang dirilis terkait dengan versi yang tersedia pada tanggal rilis. Ini berarti jika Anda meningkatkan ke SDK baru, Anda juga meningkatkan ke versi API terbaru (meskipun Anda dapat secara manual menentukan versi API yang tersedia dengan GraphRequest.setVersion()). Versi API terdaftar bersama rilis setiap versi dari Facebook SDK untuk Android.

Sama seperti JavaScript SDK, versi ini ditambahkan ke panggilan apa pun yang Anda buat ke Graph API melalui Facebook SDK untuk Android. Contoh: jika v2.7 adalah versi terbaru dari API, panggilan /me - yang digunakan dalam contoh kode berikut - akan benar-benar memanggil /v2.7/me:

GraphRequest request = GraphRequest.newGraphPathRequest (
        accessToken,
        "/me/friends",
        new GraphRequest.GraphJSONObjectCallback() {
            @Override
            public void onCompleted(
                   JSONObject object,
                   GraphResponse response) {
                // Application code
            }
        });
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,link");
request.setParameters(parameters); 
request.executeAsync();

Anda dapat mengganti versi panggilan dengan GraphRequest.setVersion().