Xamarin Android Facebook

Xamarin在Android平台上使用Facebook OAuth驗證

陳冠勳 2016/11/23 16:52:39
639







主題

XamarinAndroid平台上使用Facebook OAuth驗證

文章簡介

介紹如何在XamarinAndroid平台時,透過Facebook OAuth驗證進行程式設計

作者

陳冠勳

版本/產出日期

V1.0/2016.11.23




1. 前言

於社群軟體的發達,進而透過社群軟體的授權來整合的需求也就越發強烈,在Xamarin上也有提供Componnent,此文為初步介紹Xamarin上,Android平台之Facebook的Componnet使用。




2. 目的

初步了解如何運用Facebook SDK進行Facebook授權的整合,藉此取得使用者在Facebook上的相關資訊,完成一個Facebook驗證程式。





3. Facebook開發者設定:

a.進入Facebook開發者頁面:https://developers.facebook.com/?ref=pf ,點選右上角新增應用程式按鈕

b.輸入App名稱,及聯絡電子郵件後,點選「建立應用程式編號」

c.即可取得Facebook App IDApp Name

d.接著需要新增平台給此次的Sample Code使用,點選頁面下方「新增平台」

e.選擇平台

f.設定Facebook開發者平台設定

(1)Google Play 套件名稱(Packge Name)

(2)級別名稱(欲使用Facebook功能的Class名稱)

(3)產生雜湊金鑰(Hash Key)

Mac終端機模式輸入:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

Windows 命令模式輸入:

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64

(4)勾選單一登入

(5)點選儲存完成Facebook設定






4. 開啟Xamarin Android專案,於Components資料夾點選右鍵後,選擇Get More Components


5. 於搜尋欄位輸入「Facebook」後,點選Add To App後,即開始下載Component



6. AndroidManifest.xml,勾選InternetWriteExternalStorage權限

7. 加入ApplicationIdApplicationNameassembly Tag

8. Resources/values/Strings.xml,加入之前在Facebook開發者頁面申請的AppNameAppId

9. Activity建立要使用Facebook授權服務的程式碼

a.建立FacebookCallBack Class

b.建立Facebook使用者改變時觸發的Class

c.初始化,註冊Facebook Call Back及使用者變更事件

d.複寫onActivityResult事件將授權頁面回傳值填入 CallbackManager,方可使Facebook Call Back及使用者變更事 件起作用

e.於欲觸發顯示Facebook授權頁面的地方呼叫LoginManager.Instance.LogInWithReadPermissions,並給予想要取得的權限,即可呼叫Facebook登入頁面進行授權

10. 參考來源

Xamarin ComponentsFacebook AndroidSDK Getting Start- https://components.xamarin.com/gettingstarted/facebookandroid

Facebook-Android新手指南https://developers.facebook.com/docs/android/getting-started

Facebook-權限說明https://developers.facebook.com/docs/facebook-login/permissions#reference-public_profile

陳冠勳