4月5日,蘋果在開發(fā)者網(wǎng)站發(fā)布消息表示,將從iOS 14.5,iPadOS 14.5和tvOS 14.5發(fā)布后,開始執(zhí)行IDFA(廣告標識符)的新政策。
這也意味著,在發(fā)布這些系統(tǒng)更新之后,開發(fā)者將需要獲得明確的權限才能訪問設備上廣告標識符(IDFA)。只有這樣才能跨應用和網(wǎng)站跟蹤用戶以,以進行廣告定位。
蘋果IDFA新政策落地,提前檢查你的廣告賬戶,繼上期iOS SDK接入指南,GatherOne的AM專家本期為您帶來Facebook Android SDK,您有一份干貨待查收。
Android版Facebook SDK是將Android應用與Facebook集成的最簡便方法。
要使用Facebook SDK,有兩種應用設置方法:
·使用快速入門。
·使用Facebook SDK設置項目。
快速入門
要獲取Facebook應用編號、配置應用設置、導入Facebook SDK,請點擊下方按鈕并遵循在線說明操作。
Android快速入門
Android Studio設置
如要在項目中使用Facebook SDK,請將其添加為構建依賴項,然后導入。
1.前往Android Studio|New Project(新項目)|Minimum SDK(基本版SDK)。
2.選擇API 15:Android 4.0.3(IceCreamSandwich)或更高版本,然后創(chuàng)建新項目。
3.創(chuàng)建新項目后,打開Gradle Scripts|build.gradle(Project:<your_project>并完成下列操作:
a.添加以下內(nèi)容到build.gradle(Project)文件的buildscript{repositories{}}部分:
mavenCentral()
b.保存并關閉build.gradle(Project:<your_project>)。
4.打開Gradle Scripts|build.gradle(Module:app)并完成下列操作:
a.添加以下內(nèi)容到build.gradle(module:app)文件的dependencies{}部分,以便編譯最新版本的Facebook SDK:
您使用Facebook SDK時,如果未禁用事件自動記錄功能,一些應用事件將被自動記錄和收集,用于Facebook分析。關于哪些信息會被收集以及如何禁用事件自動記錄的詳細信息,請參閱應用事件自動記錄。
b.保存并關閉build.gradle(Module:app)。
5.構建項目。然后即可將com.facebook.FacebookSdk導入應用。
添加Facebook應用編號
然后向項目的字符串文件添加您的Facebook應用編號,并更新Android清單:
1.打開您的/app/res/values/strings.xml文件。
2.在文件中添加string元素,元素的名稱屬性為facebook_app_id,值為您的Facebook應用編號。例如
3.打開/app/manifests/AndroidManifest.xml
4.將uses-permission元素添加到清單:
5.將meta-data元素添加到application元素內(nèi):
發(fā)送圖片或視頻
如果要通過Android版Facebook應用分享鏈接、圖片或視頻,還需要在清單文件中聲明FacebookContentProvider。
在authorities值的末尾添加您的應用編號。例如,如果Facebook應用編號是1234,則聲明應如下圖所示:
結合使用SDK和ProGuard
無需執(zhí)行任何其他步驟,即可在Android版Facebook SDK中使用ProGuard。
運行示例應用
以下示例均為SDK代碼:
·HelloFacebookSample—顯示個人主頁訪問權限、狀態(tài)更新和照片上傳
·RPSSample—使用原生分享對話框、開放圖譜發(fā)布工具、選擇工具、邀請和深度鏈接。
·Scrumptious—登錄、請求、選擇工具、照片上傳和開放圖譜發(fā)布工具。
您可以將SDK導入Android Studio項目,用示例進行試驗。
上述示例為項目依賴關系,而不是maven central或jcenter中央存儲庫依賴關系。所以,當本地SDK副本更新時,示例將反映出相關更改。
如需快速運行示例應用,您可以生成適用于您的開發(fā)環(huán)境的密鑰散列。將這些密鑰散列添加到示例應用的Facebook開發(fā)者資料頁。用于生成密鑰散列的Keytool隨附于Java SE開發(fā)包(JDK)中,您在設置開發(fā)環(huán)境時需要安裝這個開發(fā)包。OpenSSL可以從OpenSSL下載。
在OS X中運行:
在Windows系統(tǒng)中,您需要以下各項:
·Java開發(fā)包中的密鑰和證書管理工具(keytool)
·Google Code Archive的Windows版OpenSSL庫
在Java SDK文件夾的命令提示符中運行以下命令:
系統(tǒng)將生成包含28個字符的字符串。
前往Facebook開發(fā)者網(wǎng)站。登錄Facebook,然后通過右上方的下拉菜單,前往開發(fā)者設置:
在開發(fā)者設置菜單中選擇示例應用,然后添加密鑰散列并保存到資料頁:
如果使用多個設備開發(fā),則可以添加多個密鑰散列。
現(xiàn)在,您可以編寫并運行所有示例—包括使用“Facebook登錄”的示例。
創(chuàng)建開發(fā)密鑰散列
Facebook使用密鑰散列驗證您的應用和Facebook應用之間的互動。如果運行使用“Facebook登錄”功能的應用,則您需要向Facebook開發(fā)者資料頁添加Android開發(fā)密鑰散列。
對于您發(fā)布的應用版本,也需要生成和設置發(fā)布密鑰散列。
在OS X或Windows內(nèi),您可以生成密鑰散列,也可以使用Settings.getApplicationSignature(Context)返回的值獲得散列。如需獲取詳細說明,請參閱運行示例應用。
后續(xù)步驟
安裝Android版Facebook SDK并配置Facebook應用編號后,將激活以下功能:
·Android版Facebook登錄
·應用事件
·“分享”和“發(fā)送”對話框
設置發(fā)布密鑰散列
要驗證您的應用與Facebook之間的信息交換,您需要生成一個發(fā)布密鑰散列,并將它添加到Facebook應用編號內(nèi)的Android設置。如果不執(zhí)行這個操作,當應用發(fā)布到商店后,應用內(nèi)的Facebook集成可能不會正常運行。
在之前的步驟中,您應該已使用適用于您的開發(fā)環(huán)境的密鑰散列更新Facebook開發(fā)者設置。
發(fā)布應用后,應用通常會簽上您的開發(fā)環(huán)境的不同簽名。所以,請務必創(chuàng)建發(fā)布密鑰散列,并將它添加到Facebook應用編號的Android設置。
要生成發(fā)布密鑰散列,請在Mac或Windows內(nèi)運行以下命令,并替換您的發(fā)布密鑰別名和keystore路徑。
在Mac操作系統(tǒng)中,運行:
在Windows系統(tǒng)中,您需要以下各項:
·Java開發(fā)包中的密鑰和證書管理工具(keytool)
·Google Code Archive的Windows版OpenSSL庫
在Java SDK文件夾的命令提示符中運行以下命令:
請務必使用您在首次創(chuàng)建發(fā)布密鑰時設置的密碼。
此命令將生成包含28個字符的字符串。復制此發(fā)布密鑰散列,并將其粘貼至Facebook應用編號的Android設置。
此外,還應檢查Facebook應用編號的Android設置是否還包括正確的包名和Android包的主要活動類別。
結合使用Facebook SDK和Maven
您可以聲明Maven與Android版SDK最新可用版本的依賴關系:
示例應用疑難解答
如果無法正常運行示例應用,則可能與密鑰散列有關。您可能會遇到以下情況:
顯示原生“登錄”對話框,但接受權限后仍處于退出狀態(tài)。同時,Logcat還包括一個異常:
顯示非原生“登錄”對話框,同時顯示一條錯誤消息:“..應用的Facebook登錄配置錯誤...”。
檢查密鑰散列,確保使用了正確的密鑰散列。I
您還可以手動將示例代碼修改為正確的密鑰散列。例如,在HelloFacebookSampleActivity類中,暫時更改onCreate():
保存更改,然后重新運行示例代碼。檢查Logcat的消息輸出,應與下圖相似:
在開發(fā)者資料頁保存密鑰散列。重新運行示例,驗證是否可以成功登錄。