2015年3月15日 星期日

【Android 程式設計】FaceBook SDK開發Android應用程式步驟


  1. 加入Facebook開發者,申請網址:https://developers.facebook.com。從上面選項My Apps選擇Register as a Developer。
  2. 加入後,上面選項My Apps選擇後會出現Add a New App選項,點選後再選擇Android。
  3. 輸入你要建立的App名稱,並選取類別後點選Create App ID。注意:如果你的App包含某些單字,將無法建立,例如:Facebook、Face、FB、Poke、Book、Wall和Instagram等等。
  4. (如果用模擬器)安裝Facebook App(如果是使用模擬器的話可以在這裡下載apk版本,並透過adb工具來安裝)。adb install %HOMEPATH%\Downloads\Facebook-11.apk
  5. 建立你的Android專案,Blank Activity即可(使用的Android SDK版本至少必須是API Level 9, Android 2.3以上)。
  6. 修改專案的build.gradle (Module:app)檔案。加入repositories和compile兩行,完整檔案參考如下:repositories { mavenCentral() }
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile 'com.facebook.android:facebook-android-sdk:3.21.1'
    }
  7. 匯入Facebook SDK到專案內。
    先將下載的facebook-android-sdk-3.23.1.zip解壓縮後,在Android Studio上面選單選擇File->Import Module來匯入。只勾選:facebook即可
  8. https://developers.facebook.com/ 頁面,設定「套件」名稱和「應用程式預設的Activity包含套件名的完整名稱」(通常為MainActivity)。
  9. 在DOS模式下輸入  keytool -exportcert -alias {你的keystore Alias名稱} -keystore {你的keystore路徑及檔名} | openssl sha1 -binary| openssl base64  會產生key hash                                                                 debug.keystore放在使用者目錄下的.android目錄內, 取得keyhash: keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64, 密碼直接按enter跳過,然後https://developers.facebook.com/ 頁面加入setting中
  10. 在gradle.properties (Project Properties)檔案內最下方加入下面四行版本相關定義(可根據專案版本自行調整):ANDROID_BUILD_SDK_VERSION=21  ANDROID_BUILD_TOOLS_VERSION=21.1.2          ANDROID_BUILD_MIN_SDK_VERSION=14    ANDROID_BUILD_TARGET_SDK_VERSION=21  這些必須跟build.gradle內的相同
  11. 更改build.gradle (Project: HelloSocial)檔案內的Gradle plugin版本;因為Gradle plugin 1.1.0版的問題,會出現編譯錯誤,因此必須改用1.1.1以後的版本,這裏改為使用最新的1.1.3版(有時檔案被鎖住,這時改成project去找)dependencies {
            classpath 'com.android.tools.build:gradle:1.1.3'
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
  12. 執行:Sync Project with Gradle Files。(在工具的選項中)
  13. 讓Facebook可以追蹤你的應用程式安裝或執行的相關動作。 在Activity內覆載onResume()onPause()方法,加入下面程式碼:
  14. 在res/values/strings.xml中加入AppID:ID由facebook網頁->My App ->Dashboard取得             <string name="app_id">{這裏填入你的APP ID字串}</string>
  15. 在AndroidManifest.xml中加入使用網路的權限和資料: <uses-permission android:name="android.permission.INTERNET"/>
  16. 在AndroidManifest.xml的<application中加入下列資料<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
    <activity android:name="com.facebook.LoginActivity"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        android:label="@string/app_name" />
    
    <provider android:authorities="com.facebook.app.NativeAppCallContentProvider你的App ID"
        android:name="com.facebook.NativeAppCallContentProvider"
        android:exported="true"/>
  17. https://developers.facebook.com設定聯絡信箱Contact email:記得按下Save
  18. https://developers.facebook.com設定Status & Review->Yes改成General Public


1 則留言: