Facebook sdk 集成
1、設(shè)置開發(fā)環(huán)境
以下過程為在 Xcode 中使用 Swift 軟件包管理工具設(shè)置開發(fā)環(huán)境。
- 在 Xcode 中,點(diǎn)擊 File(文件)> Add Package...(添加軟件包...)。
- 在出現(xiàn)的搜索欄中,輸入存儲庫網(wǎng)址:https://github.com/facebook/facebook-ios-sdk。
- 在 Dependency Rule(依賴項(xiàng)規(guī)則)中,選擇 Up to Next Major Version(直到下一個(gè)重大版本),然后輸入最近的版本。以下網(wǎng)站列有最新發(fā)布的版本:https://github.com/facebook/facebook-ios-sdk/releases/
- 請選擇要使用的庫以及要將這些庫添加到哪些目標(biāo)中。
- 點(diǎn)擊 Add Package(添加軟件包)以完成設(shè)置。
2、按照提示修改Info.plist
配置你的 info.plist 和項(xiàng)目設(shè)置
在 Xcode 項(xiàng)目的“Supporting Files”文件夾中找到.plist文件。
1.右擊你的.plist文件,選擇“作為源代碼打開”。
2.把 XML 片段復(fù)制粘貼到文件正文中(<dict>...</dict>)。
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fbapp-ID</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>APP-ID</string>
<key>FacebookDisplayName</key>
<string>NAME</string>
3.如果你使用任何 Facebook 對話框(例如:登錄、分享、應(yīng)用邀請等),以便從你的應(yīng)用切換到 Facebook 應(yīng)用,那么應(yīng)用的.plist還必須處理以下代碼。
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
4.在版本設(shè)置中添加編譯器標(biāo)記,以便與 iOS 版 Facebook SDK兼容。
1.前往 Xcode 中的 Project Navigator 并選擇項(xiàng)目,即可查看項(xiàng)目設(shè)置。
2.選擇Other Linker Flags進(jìn)行編輯。
3.為所有構(gòu)建目標(biāo),把標(biāo)記-ObjC添加到Other Linker Flags。
提供你的 Bundle ID
Find your bundle Identifier in your Xcode Project's iOS Application Target.
追蹤應(yīng)用安裝量和應(yīng)用打開次數(shù)
通過應(yīng)用事件,你可以衡量移動應(yīng)用廣告促成的安裝量,創(chuàng)建高價(jià)值目標(biāo)受眾,查看用戶人口統(tǒng)計(jì)等分析數(shù)據(jù)。要記錄應(yīng)用啟用事件,請先導(dǎo)入AppDelegate.m文件中的 Facebook SDK:
#import <FBSDKCoreKit/FBSDKCoreKit.h>
下一步,把以下內(nèi)容添加到你的應(yīng)用委托:
- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBSDKAppEvents activateApp];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[FBSDKApplicationDelegate sharedInstance] application:application
didFinishLaunchingWithOptions:launchOptions];
return YES;
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
測試一下你的集成吧 (僅登錄這樣測試,AppEvents可以在事件測試工具里實(shí)時(shí)測試)
在應(yīng)用的其中一個(gè)ViewController.m文件中添加:
下一步,把以下代碼添加到**viewDidLoad**方法中:
FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc] init];
loginButton.center = self.view.center;
[self.view addSubview:loginButton];
如果你還未執(zhí)行這一步,請把以下內(nèi)容添加到應(yīng)用的**AppDelegate.m**文件中:
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
請編譯并運(yùn)行應(yīng)用。你應(yīng)該可以看到 Facebook 登錄按鈕。如果你可以登錄應(yīng)用,就表示集成設(shè)置成功了。
生成開發(fā)者app專用共享密鑰 (用于自動記錄購買訂閱事件)