Facebook like button機能の実現
3309 ワード
まず、Facebookにアプリケーションを追加し、対応するAppIdを取得する必要があります.具体的な方法はここでは説明しません.その後、FacebookのSDKをダウンロードし、プロジェクトに追加します.
具体的な実装方法は添付ファイルを参照してください.以下にはコアメソッドの一部のみがリストされます.
具体的な実装方法は添付ファイルを参照してください.以下にはコアメソッドの一部のみがリストされます.
#import "FacebookLikeViewDemoViewController.h"
@interface FacebookLikeViewDemoViewController () <FacebookLikeViewDelegate, FBSessionDelegate>
@end
@implementation FacebookLikeViewDemoViewController
@synthesize facebookLikeView = _facebookLikeView;
- (id)initWithCoder:(NSCoder *)aDecoder {
if (self = [super initWithCoder:aDecoder]) {
_facebook = [[Facebook alloc] initWithAppId:@"158575400878173" andDelegate:self];
}
return self;
}
- (void)dealloc {
[_facebook release];
[_facebookLikeView release];
[super dealloc];
}
#pragma mark FBSessionDelegate methods
- (void)fbDidLogin {
self.facebookLikeView.alpha = 1;
[self.facebookLikeView load];
}
- (void)fbDidLogout {
self.facebookLikeView.alpha = 1;
[self.facebookLikeView load];
}
#pragma mark FacebookLikeViewDelegate methods
- (void)facebookLikeViewRequiresLogin:(FacebookLikeView *)aFacebookLikeView {
[_facebook authorize:[NSArray array]];
}
- (void)facebookLikeViewDidRender:(FacebookLikeView *)aFacebookLikeView {
[UIView beginAnimations:@"" context:nil];
[UIView setAnimationDelay:0.5];
self.facebookLikeView.alpha = 1;
[UIView commitAnimations];
}
- (void)facebookLikeViewDidLike:(FacebookLikeView *)aFacebookLikeView {
UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Liked"
message:@"You liked Yardsellr. Thanks!"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil] autorelease];
[alert show];
}
- (void)facebookLikeViewDidUnlike:(FacebookLikeView *)aFacebookLikeView {
UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Unliked"
message:@"You unliked Yardsellr. Where's the love?"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil] autorelease];
[alert show];
}
#pragma mark UIViewController methods
- (void)viewDidLoad {
[super viewDidLoad];
self.facebookLikeView.href = [NSURL URLWithString:@"http://www.yardsellr.com"];
self.facebookLikeView.layout = @"button_count";
self.facebookLikeView.showFaces = NO;
self.facebookLikeView.alpha = 0;
[self.facebookLikeView load];
}
- (void)viewDidUnload {
[super viewDidUnload];
self.facebookLikeView = nil;
}
@end