點選設定>>基本資料 →步驟1
在自己的應用程式設定頁面內將最下方的『ToggleButton』改為是,記得要按下儲存變更
→步驟2
2.新增<Facebook 登入>按鈕(Layout)
登入按鈕必須要使用特殊的LinkButton,是FB所提供的客製化Button,
在恰當的介面layout的xml中,加上這個按鈕
<com.facebook.login.widget.LoginButton android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:id="@+id/a" />
- LoginButton - 使用要求的讀取或發布權限起始登入程序
- CallbackManager - 用於將呼叫回傳至 Facebook SDK 以及您的已註冊回應呼叫。應該從起始活動 avtivity 或片段 fragment 的 onActivityResult 呼叫此函數。
- AccessToken(存取權限) - 使用此類別的圖形 API 要求 (GraphAPI)。他會顯示用戶編號及被接受和被拒絕的權限。
- Profile - 此類別具有已登入用戶的基本資料。
LoginButton 是套件 LoginManager 中的 UI控制項。使用者點擊這個按鈕時,將會以LoginManager 中設定的權限初始化登入。此按鈕會追蹤登入狀態,並根據用戶的驗證狀態顯示正確文字。
3.增加程式部分
java主程式裡
在介面對應的 Activity中,onCreate 的方法裡,要初始化Facebook SDK
由於目前的APP 使用Fragment 設計居多,所以FB開發者教學裡是以 Fragment 為主要教學方式
設定欄位類別
public class MainActivity extends AppCompatActivity { CallbackManager callbackManeger; AccessToken accessToken;
由於會反覆用到,所以設定在Activity欄位裡
首先先初始化 Facebook SDK
FacebookSdk.sdkInitialize(getApplicationContext());
接下來連結程式與layout的 linkbutton
LoginButton loginButton=(LoginButton)findViewById(R.id.a);
再建立CallbackManager
callbackManeger =CallbackManager.Factory.create();
然後設定當LoginButton 收到回傳(callback)的處理動作:成功、失敗、取消
loginButton.registerCallback(callbackManeger, new FacebookCallback<LoginResult>() {
....
});
如果登入成功,APP會收到一組AccessToken(剛剛程式裡的欄位變數accessToken),
之後要用到graph API的地方都用這組token
接著送出一個request 出去,在onCompleted裡面會拿到一個傳入變數 JSONObject(變數名是object),
包裹著使用者資訊(name使用者姓名、link個人連結、id)