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