友盟社交化分享,自定义分享面板

本文详细介绍了如何在iOS应用中集成友盟社交分享SDK,并实现自定义分享面板。包括添加SDK及依赖库、配置AppDelegate处理分享流程、创建分享视图及设置分享内容等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们公司的社交化分享采用友盟分享 自定义分享面板,中间的一些坑记录在案,为了防止别的小伙伴进坑,页留作自己以后作为参考 ,有问题可发我邮箱zth0218@126.com

1. 下载友盟SDK并添加必要的依赖库

这里不再赘述,参考地址 http://dev.umeng.com/social/ios/detail-share, 关于一些友盟的一些东西大家自己去补充吧 

2. 自定义的面板的实现

采用自己写的一个类,懒得写的可以拿来直接用  github地址  https://github.com/ahao1011/shareView

3. 项目里的一些配置

3.1 AppDelegate.m  


引入头文件#import"UMSocial.h"

粘帖下面的代码:

#pragma mark -  友盟

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

{

    MYLog(@"%@", url);

    return  [UMSocialSnsService handleOpenURL:url];

}


/**

 这里处理新浪微博SSO授权之后跳转回来,和微信分享完成之后跳转回来

 */

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

{

    BOOL result = [UMSocialSnsService handleOpenURL:url wxApiDelegate:nil];;

    MYLog(@"%@",url);

    if (result == FALSE) {

        //调用其他SDK,例如支付宝SDK

    }

    return result;

}


/**

 这里处理新浪微博SSO授权进入新浪微博客户端后进入后台,再返回原来应用

 */

- (void)applicationDidBecomeActive:(UIApplication *)application

{

    [UMSocialSnsService  applicationDidBecomeActive];

}



}3.2  在需要分享的控制器内引入以下头文件 


#import "UMSocial.h"

#import "ShareView.h"

viewDidLoad中建立ShareView的实例

_share= [[ShareView alloc]initWithFrame:CGRectMake(0, K_ScreenHeight, K_ScreenWidth, K_ScreenHeight*0.45)];

        _share.delegate = self;

在需要它展现出来的地方代用 [_share appear];


遵循ShareViewDelegateUMSocialUIDelegate. 并粘帖一下方法
 

#pragma mark -  ShareViewDelegate

- (void)ShareViewBtnDidiClickWithTag:(NSString *)snsName{

    

    [_share hidden];

    //设置分享内容,和回调对象

    NSString *shareText = @"特付宝客户端下载地址  http://dwz.cn/2hbCBD";

    UIImage *shareImage = [UIImage imageNamed:@"Icon-60"];

    [[UMSocialControllerService defaultControllerService]

     setShareText:shareText

     shareImage:shareImage

     socialUIDelegate:self];

    UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:snsName];

    snsPlatform.snsClickHandler(self,[UMSocialControllerService defaultControllerService],YES);

    

}

#pragma mark -  UMSocialUIDelegate


-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response

{

    //根据`responseCode`得到发送结果,如果分享成功

    if(response.responseCode == UMSResponseCodeSuccess)

    {

        //得到分享到的微博平台名

        MYLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);

    }

}


4.配置软件间的跳转




5.大坑注意避让 

iOS9.0之后有了白名单一项,如不在info.plist添加白名单的话则无法完成跳转,将以下信息添加到info.plist文件中


<key>LSApplicationQueriesSchemes</key>
<array>
<string>wechat</string>
<string>weixin</string>
<string>sinaweibohd</string>
<string>sinaweibo</string>
<string>sinaweibosso</string>
<string>weibosdk</string>
<string>weibosdk2.5</string>
<string>mqqapi</string>
<string>mqq</string>
<string>mqqOpensdkSSoLogin</string>
<string>mqqconnect</string>
<string>mqqopensdkdataline</string>
<string>mqqopensdkgrouptribeshare</string>
<string>mqqopensdkfriend</string>
<string>mqqopensdkapi</string>
<string>mqqopensdkapiV2</string>
<string>mqqopensdkapiV3</string>
<string>mqzoneopensdk</string>
<string>wtloginmqq</string>
<string>wtloginmqq2</string>
<string>mqqwpa</string>
<string>mqzone</string>
<string>mqzonev2</string>
<string>mqzoneshare</string>
<string>wtloginqzone</string>
<string>mqzonewx</string>
<string>mqzoneopensdkapiV2</string>
<string>mqzoneopensdkapi19</string>
<string>mqzoneopensdkapi</string>
<string>mqqbrowser</string>
<string>mttbrowser</string>
<string>renrenios</string>
<string>renrenapi</string>
<string>renren</string>
<string>renreniphone</string>
<string>yixin</string>
<string>yixinopenapi</string>
<string>instagram</string>
<string>whatsapp</string>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值