帮助与文档

> >

Facebook AppInvite指的向Facebook好友发送应用邀请,在FB手机客户端中,受到邀请的用户可引导Apple Store,如果已经装了应用的话还可以直接打开该应用。这是Facebook中Applink的功能。

该功能需要Facebook SDK 中的两个库:FBSDKShareKit 和 FBSDKCoreKit

注意:FacebookSDK 不支持Xcode5!!

准备工作

1.下载完FB SDK后,将库FBSDKShareKit 和 FBSDKCoreKit导入到项目中。并在AppDelegate.m中添加头文件:

#import <FBSDKShareKit/FBSDKShareKit.h>
#import <FBSDKCoreKit/FBSDKCoreKit.h>

并导入所需要的类:

[ShareSDK importFacebookShareAppWithApplicationDelegateCls:[FBSDKApplicationDelegate class]
                                            appInviteDialogCls:[FBSDKAppInviteDialog class]
                                           appInviteContentCls:[FBSDKAppInviteContent class]];

2.到info.plist文件中,新增一项:FacebookAppID,并在后面传入facebook的appid。这里填的其实就是connect方法所用到的那个。注意是:FacebookAppID,请确认大小写准确。另外一定需要填写URL scheme,格式与以往一样。

3.在AppDelegate.m中

i:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
	//……各种初始化各种代码

id<ISSFacebookApp> facebookApp = (id<ISSFacebookApp>)[ShareSDK getClientWithType:ShareTypeFacebook];
        return [facebookApp application:application didFinishLaunchingWithOptions:launchOptions];//return YES改为此方法
}

ii:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
      id<ISSFacebookApp> facebookApp = (id<ISSFacebookApp>)[ShareSDK getClientWithType:ShareTypeFacebook];
 	return  [facebookApp handleApplication:application openURL:url sourceApplication:sourceApplication annotation:annotation];
}

iii:(如果需要同时使用分享的回调,可以参考以下写法)
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{

    NSString* urlString = [url absoluteString];
    id<ISSFacebookApp> facebookApp = (id<ISSFacebookApp>)[ShareSDK getClientWithType:ShareTypeFacebook];
    if ([urlString hasPrefix:[NSString stringWithFormat:@"fb%@://bridge/appinvites",[facebookApp appKey]]])
    {
        return  [facebookApp handleApplication:application openURL:url sourceApplication:sourceApplication annotation:annotation];

    }
    else{

    return [ShareSDK handleOpenURL:url
                 sourceApplication:sourceApplication
                        annotation:annotation
                        wxDelegate:self];
    }

}

4.使用方法跟分享的方法一样,在定制只需要留意三个参数即可

id<ISSContent> publishContent = [ShareSDK content:nil defaultContent:nil image:[ShareSDK imageWithUrl:@"http://img1.bdstatic.com/img/image/426a8773912b31bb05181ec0901347adab44bede0cb.jpg"] title:nil url:@"https://fb.me/469360413246230" description:nil mediaType:SSPublishContentMediaTypeApp];

image:应用邀请时的背景图片,只能是网络图片。
url:传入的一定要是app link类型的链接,以下会继续说明
mediaType:注意是App类型哦

这样就可以进行App邀请了!!

说明:

关于AppLink:

这是FB定制的一种链接,用户只需要到Facebook开放平台创建即可,附上链接:

https://developers.facebook.com/docs/applinks/hosting-api

关于看不到邀请,这里列举几个能看到邀请的几个条件:

1.受邀方没有安装过该应用

2.建立的AppLink应该要有效(建applink时所使用的资料应该是真实有效的,特别是App Store ID等)

3.是否在Facebook手机客户端查看(参考https://developers.facebook.com/bugs/475119705995203)

4.受邀方从来没受过该邀请