移动客户端谈百度分享经验

百度分享:

以下为使用百度分享必读,代码百度文档上全有,关键是几个关键点,否则事倍功半:

1、只要申请了百度开发账号,创建了工程,就不需要在新浪微博、腾讯微博、人人网等开放平台中申请应用,好处显而易见,不用再去各个平台申请加审核了,坏处是授权的时候显示的不是授权给应用的名字,而是授权给百度社会化分享;


2、如果在新浪微博或者其他平台授权时想显示授权给自己的应用名字,那么需要去相应平台申请应用并通过审核,然后将appid和secretkey填入到百度分享的后台中,具体看百度的文档,需要注意的是需要在高级信息中填入百度的授权回调https://openapi.baidu.com/social/oauth/2.0/receiver,要不然分享后返回不了应用了(我只用了新浪微博,所以只写新浪的注意问题)

3、微信分享的朋友需要去微信开放平台申请应用并审核通过;需要注意的是 在xcode中的info中新加入一条url type,在url scheme中写上申请的appid,否则返回不了自己的应用


4、如果xcode 编译显示不支持arm64,你可以点击Project下面的你的app名称,点击Build Setting ->Architectures->Vaild Architectures删掉 arm64


5、当全部搞定的时候会发现打不开分享页,这时候需要点击Build Settings->Linking ->Other Linker Flags 添加-ObjC或者-all_load;


具体代码如下:


A 在

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中初始化百度的frontia;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    

    //初始化Frontia

    [Frontia initWithApiKey:APP_KEY];

    return YES;

}



B 在appdelegate中写入回调时得代码

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

{

    //SSO或者分享的回调

    return [[Frontia getShare] handleOpenURL:url];

}



C 在需要分享的地方写上分享的内容,具体含义参照百度的文档

- (IBAction)shareButtonClick:(id)sender {

    FrontiaShare *share = [Frontia getShare];

    

    //微信的appid,新浪等其他的不用填

    [share registerWeixinAppId:@"weixinAPPID"];

    

    

    //授权取消回调函数

    FrontiaShareCancelCallback onCancel = ^(){

        NSLog(@"OnCancel: share is cancelled");

    };

    

    //授权失败回调函数

    FrontiaShareFailureCallback onFailure = ^(int errorCode, NSString *errorMessage){

        NSLog(@"OnFailure: %d  %@", errorCode, errorMessage);

    };

    

    //授权成功回调函数

    FrontiaMultiShareResultCallback onResult = ^(NSDictionary *respones){

        NSLog(@"OnResult: %@", [respones description]);

    };

    

    FrontiaShareContent *content=[[FrontiaShareContent alloc] init];

    content.url = @"http://developer.baidu.com/soc/share";

    content.title = @"社会化分享";

    content.description = @"百度社会化分享组件封装了新浪微博、人人网、开心网、腾讯微博、QQ空间和贴吧等平台的授权及分享功能,也支持本地QQ好友分享、微信分享、邮件和短信发送等,同时提供了API接口调用及本地操作界面支持。组件集成简便,风格定制灵活,可轻松实现多平台分享功能。";

    content.imageObj = @"http://apps.bdimg.com/developer/static/04171450/developer/images/icon/terminal_adapter.png";

    

    NSArray *platforms = @[FRONTIA_SOCIAL_SHARE_PLATFORM_SINAWEIBO,FRONTIA_SOCIAL_SHARE_PLATFORM_WEIXIN_SESSION,FRONTIA_SOCIAL_SHARE_PLATFORM_WEIXIN_TIMELINE,

                           FRONTIA_SOCIAL_SHARE_PLATFORM_COPY,FRONTIA_SOCIAL_SHARE_PLATFORM_EMAIL,FRONTIA_SOCIAL_SHARE_PLATFORM_SMS];

    

    //不同的分享方式就调用不用的show方法

    [share showShareMenuWithShareContent:content displayPlatforms:platforms supportedInterfaceOrientations:UIInterfaceOrientationMaskPortrait isStatusBarHidden:NO targetViewForPad:sender cancelListener:onCancel failureListener:onFailure resultListener:onResult];

    

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值