Android 接入baceBook
最近在項(xiàng)目中需要接入facebook的應(yīng)用事件也就是國(guó)內(nèi)友盟,順便記錄一下
官網(wǎng)地址:https://www.facebook.com/login/
文檔地址:https://developers.facebook.com/docs/app-events/getting-started-app-events-android/?translation#log-manually
應(yīng)用事件是?Android 版 Facebook SDK?的一項(xiàng)功能,您可以使用該功能追蹤應(yīng)用或網(wǎng)站內(nèi)的操作。通過(guò)追蹤這些操作或事件,您可以對(duì)廣告投放進(jìn)行定位、衡量和優(yōu)化,將您的廣告投放給最有可能采取操作的人群。本指南介紹如何集成 Facebook SDK,然后記錄這些事件,從而為新舊應(yīng)用添加應(yīng)用事件。
1.創(chuàng)建在facebook創(chuàng)建應(yīng)用,創(chuàng)建應(yīng)用之后會(huì)得到應(yīng)用編號(hào)
2.把 Facebook SDK 加入你的項(xiàng)目
在項(xiàng)目中使用 Facebook SDK,請(qǐng)把它添加為版本依賴關(guān)系并導(dǎo)入。如果你在創(chuàng)建新項(xiàng)目,請(qǐng)按以下所有步驟操作。如需把 Facebook SDK 加入現(xiàn)有項(xiàng)目,請(qǐng)從第 3 步開始操作。
1.前往Android Studio | New Project | Minimum SDK
2.選擇“API 15: Android 4.0.3”或更高版本來(lái)創(chuàng)建新項(xiàng)目。
3.在你的項(xiàng)目中,打開
your_app | Gradle Scripts | build.gradle
4.把 Maven Central Repository 添加到dependencies:前的build.gradle
repositories {
? ? ? ? mavenCentral()
? ? }
5. 把compile 'com.facebook.android:facebook-android-sdk:[4,5)'加入你的build.gradle依賴關(guān)系。
6. 創(chuàng)建你的項(xiàng)目。
7. 把 Facebook SDK 導(dǎo)入你的應(yīng)用:
import com.facebook.FacebookSdk;
添加 Facebook 應(yīng)用編號(hào)
請(qǐng)為應(yīng)用添加 Facebook 應(yīng)用編號(hào),并更新你的 Android 清單。
1.打開你的strings.xml文件,例如:/app/src/main/res/values/strings.xml。
2.添加名為facebook_app_id的新字串,字串名稱應(yīng)包含你的 Facebook 應(yīng)用編號(hào):
<string name="facebook_app_id">這是你的應(yīng)用編號(hào)</string>
3.打開AndroidManifest.xml。
4.把uses-permission元素加入清單:
<uses-permission android:name="android.permission.INTERNET"/>
5. 把一項(xiàng)meta-data元素添加到application元素:
<application android:label="@string/app_name" ...>
? ? ...
? ? <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
? ? ...
</application>
3.把應(yīng)用的包名填上去
包名是你 Android 應(yīng)用的獨(dú)特標(biāo)識(shí)符。如果用戶還未安裝應(yīng)用,我們就會(huì)使用這個(gè)包名讓他們從 Google Play 下載你的應(yīng)用。你可以在Android Manifest中找到你的包名。
與此同時(shí)需要Android 密鑰散列,debug密鑰可以根據(jù)代碼得到也可以用keytools?得到
1.代碼得到
PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES); for(Signature signature : info.signatures) {i++;MessageDigest md = MessageDigest.getInstance("SHA1");md.update(signature.toByteArray());String KeyHash = Base64.encodeToString(md.digest(), Base64.DEFAULT);//KeyHash 就是你要的,不用改任何代碼 復(fù)制粘貼 ;Log.e("222", "KeyHash=" + KeyHash); }2.命令生成
Mac 操作系統(tǒng)
要生成開發(fā)密鑰散列,請(qǐng)打開一個(gè)終端窗口,運(yùn)行以下命令:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
此命令將針對(duì)您的開發(fā)環(huán)境生成一個(gè)包含 28 個(gè)字符的唯一密鑰散列。
Windows
-
java 開發(fā)包中的密鑰和證書管理工具 (keytool)
-
Google Code Archive?的 Windows 版?openssl-for-windows?openssl 函數(shù)庫(kù)?https://code.google.com/archive/p/openssl-for-windows/downloads
??keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64
正式的key可以通過(guò)上面的方式得到
3.初始化facebook SDK進(jìn)行埋點(diǎn)
FacebookSdk.setAutoInitEnabled(true); FacebookSdk.fullyInitialize();//調(diào)試用 FacebookSdk.setIsDebugEnabled(true); FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS);AppEventsLogger logger = AppEventsLogger.newLogger(this); logger.logEvent("sentFriendRequest"); //facebook 埋點(diǎn) logUserRegistrationSuccessfulEvent("User Registration Successful"); logInstallationIsCompleteEvent ("installationIsComplete"); logger.logEvent("installation is complete"); public void logUserRegistrationSuccessfulEvent (String userRegistrationSuccessful) {AppEventsLogger logger = AppEventsLogger.newLogger(this);Bundle params = new Bundle(); // params.putString("UserRegistrationSuccessful", userRegistrationSuccessful);logger.logEvent("User Registration Successful");}public void logInstallationIsCompleteEvent (String installationIsComplete) {AppEventsLogger logger = AppEventsLogger.newLogger(context);Bundle params = new Bundle();// params.putString("installationIsComplete", installationIsComplete);logger.logEvent("installation is complete");}?
?
?
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Android 接入baceBook的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 白金卡和金卡的区别
- 下一篇: Google Play应用上架流程(含踩