iOS 友盟分享

iOS 友盟分享

这个主要是提到如何通过友盟去自定义分享的步骤:

一、肯定要去友盟官网下载最新的SDK包,然后将SDK导入到你的工程文件夹里面去;

二、注册友盟账号,将你的APP添加到你的账号里面然后获取到一个Key;

三、  在AppDelegate内设置友盟AppKey

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

{

[UMSocialData setAppKey:@"***这个是你注册后的APP的Key****"];

}

四、然后在你要显示分享界面的控制器设置友盟自带的分享,例如 :点击一个分享按钮在分享按钮里面添加

[UMSocialSnsService presentSnsIconSheetView:self

appKey:@"你APPKey"

shareText:@“你要分享的文字”

shareImage:[UIImage imageNamed:@"icon"]

shareToSnsNames:[NSArray arrayWithObjects:UMShareToSina,UMShareToTencent,UMShareToRenren,UMShareToEmail,UMShareToSms,nil]

delegate:nil];

这个是使用友盟原生的分享,下面给大家介绍一下自定义的

前三步还是以上三步;

四、首先你得搭建好你想要显示什么要UI效果,比如你用UIScrollView或者 UICollectionView 或者你直接是往View里面添加Button按钮;

我介绍下我使用UICollectionView做的自定义:

1、首先实现UICollectionView最基本的协议和代理方法;

2、在UICollectionView的点击事件的方法里去根据你要添加多少个分享平台去设置;

五、首先以分享新浪,腾讯微博,人人网,豆瓣网,QQ空间,邮箱,短信为例:1.在UICollectionView

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{

NSMutableArray * shareArray =[NSMutableArray arrayWithObjects:UMShareToSina,UMShareToTencent,UMShareToRenren,UMShareToDouban,UMShareToQzone,UMShareToEmail,UMShareToSms,nil];

for (int i = 0; i< shareArray.count; i++) {

if ( indexPath.row == i )

{//新浪,腾讯微博,人人网,豆瓣网,QQ空间,邮箱,短信

[UMSocialAccountManager               isOauthAndTokenNotExpired:shareArray[i]];

//进入授权页面

[UMSocialSnsPlatformManager getSocialPlatformWithName:shareArray[i]].loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){

if (response.responseCode == UMSResponseCodeSuccess) {

//获取微博用户名、uid、token等

UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:shareArray[i]];

NSLog(@"username is %@, uid is %@, token is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken);

//进入你的分享内容编辑页面

}

});

}}

}

这样这几个分享的功能就实现了

如果还想注册微信/手机QQ/Facebook等等

那就要看接下来的几个步骤了

1、微信你要把你所下载的SDK中Wechat文件放在工程中;

2、进入微信开放平台注册申请得到一个WXAppId;

3、在你的程序APPdelegate入口方法添加下面的代码

#import "UMSocialWechatHandler.h"

// 设置微信 AppId 、 appSecret ,分享 url

[UMSocialWechatHandler setWXAppId:@“你的微信AppId" appSecret:@"db426a9829e4b49a0dcac7b4162da6b6" url:@“要分享的URL”];

4、在你的工程设置项,targets 一栏下,选中自己的 target,在 Info->URL Types 中添加 URL Schemes,添加xcode的url scheme为微信应用appId,例如“wxd9a39c7122aa6516”;

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

{

return[UMSocialSnsService handleOpenURL:url];   

}

- (BOOL)application:(UIApplication *)application

openURL:(NSURL *)url

sourceApplication:(NSString *)sourceApplication

annotation:( id )annotation

{

return[UMSocialSnsService handleOpenURL:url];

}

5、在你的点击方法中根据indexPath.row进行判断点击的第几个按钮中添加

[[UMSocialDataService defaultDataService]  postSNSWithTypes:@[UMShareToWechatSession] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController: self completion:^(UMSocialResponseEntity *response){

if(response.responseCode == UMSResponseCodeSuccess) {

NSLog(@"分享成功!");

}

}];

到这儿微信的自定义添加就结束了;

下面就介绍下添加手机QQ的,

首先你需要到腾讯开放平台注册获取Key,然后在UMSocial_Sdk_Extra_Frameworks目录下的,添加TencentOpenAPI文件夹到工程 添加下面几个系统framework

1、在Xcode中打开工程配置文件,选择“summary”一栏。在“summary”中选择“Linked Frameworks and Libraries”一栏,点击“+”图标添加下面八个库文件,分别是

•     Security.framework

•     libiconv.dylib

•     SystemConfiguration.framework

•     CoreGraphics.Framework

•     libsqlite3.dylib

•     CoreTelephony.framework

•     libstdc++.dylib

•     libz.dylib

2、在AppDelegate中

import "UMSocialQQHandler.h"

[UMSocialQQHandler setQQWithAppId:@"100424468" appKey:@"c7394704798a158208a74ab60104f0ba" url:@“http://www.umeng.com/social"];

这里注意了:在你的工程设置项,targets 一栏下,选中自己的 target,在 Info->URL Types 中添加 URL Schemes,设置Xcode的url scheme格式为“QQ”+腾讯QQ互联应用appId转换成十六进制(不足8位前面补0),例如“QQ05FC5B14”。并在QQ互联后台的URL schema中填入此字符串保持一致。 额外设置 url schemes 的格式为"tencent"+腾讯QQ互联应用appId,例如“tencent100424468”

如果 URL schemes 配置错误,则分享完成后无法返回应用

在Xcode 6.0创建工程时,默认可能没有单独设置Bundle display name属性值。但是因为SDK需要用到Bundle display name的值,所以务必请检查确保这个属性存在,如果没有请添加上。

3.在APPdelegate里面实现

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

{

return[UMSocialSnsService handleOpenURL:url];   

}

- (BOOL)application:(UIApplication *)application

openURL:(NSURL *)url

sourceApplication:(NSString *)sourceApplication

annotation:( id )annotation

{

return[UMSocialSnsService handleOpenURL:url];

}

4、然后再在点击事件里添加

[[UMSocialDataService defaultDataService]  postSNSWithTypes:@[UMShareToQQ(这里如果要分享到QQ空间只要把UMShareToQQ换成UMShareToQzone的就可以了)] content:@"分享文字" image:nil location:nil urlResource:nil presentedController: selfcompletion:^(UMSocialResponseEntity *response){

if(response.responseCode == UMSResponseCodeSuccess) {

NSLog(@"分享成功!");

}

}];

到这儿QQ的添加已经完成了

下面给大家介绍一个Facebook的添加

1.在Facebook开放平台( 点击链接 ) 注册你的facebook应用,注意在你的应用Native iOS App填写Bundle ID

2.把你的SDK中在UMSocial_Sdk_Extra_Frameworks目录下,把Facebook文件夹添加到工程;

3.在你的工程设置项,targets 一栏下,选中自己的 target,在 Info->URL Types 中添加 URL Schemes,设置Xcode的url scheme格式为“fb”+facebook AppID,例如“fb1440390216179601”

4.在APPdelegate里实现

[UMSocialFacebookHandler setFacebookAppID:@"1440390216179601" shareFacebookWithURL:@"http://www.umeng.com/social"];

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

{

return[UMSocialSnsService handleOpenURL:url]; 

}

- (BOOL)application:(UIApplication *)application

openURL:(NSURL *)url

sourceApplication:(NSString *)sourceApplication

annotation:( id )annotation

{

return[UMSocialSnsService handleOpenURL:url];

}

/**如果上面的几个分享已经添加这个那就不需要再次添加了*/

介绍就到这里了,至于其他的一些分享大家可以好好看看友盟的官方文档很详细的介绍了如何使用自定义的

这个是链接: http://dev.umeng.com/social/ios/detail-share

当然了国内除了友盟之外还有一个shareSDK,只不过个人感觉友盟的更简洁更方便一些;

要在Flutter中使用友盟分享,首先需要在项目中添加友盟分享的插件。可以使用flutter_umeng_share插件,它提供了友盟分享的各种功能。 1. 在pubspec.yaml文件中添加依赖: ``` dependencies: flutter_umeng_share: ^2.0.0 ``` 2. 在项目中集成友盟分享SDK: 在Flutter项目的MainActivity.java文件中,添加以下代码: ``` import com.umeng.socialize.UMShareAPI; public class MainActivity extends FlutterActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); GeneratedPluginRegistrant.registerWith(this); UMShareAPI.get(this);//添加这一行 } } ``` 3. 初始化友盟分享SDK: 在项目中的main.dart文件中,添加以下代码: ``` import 'package:flutter_umeng_share/flutter_umeng_share.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await FlutterUmengShare.init( androidKey: 'your_umeng_android_app_key', iosKey: 'your_umeng_ios_app_key'); runApp(MyApp()); } ``` 其中,'your_umeng_android_app_key'和'your_umeng_ios_app_key'需要替换为你自己的友盟App Key。 4. 使用友盟分享: ``` import 'package:flutter_umeng_share/flutter_umeng_share.dart'; //分享文本 FlutterUmengShare.shareText('This is a test.'); //分享图片 FlutterUmengShare.shareImage(imagePath: 'image_path', text: 'This is a test.'); //分享链接 FlutterUmengShare.shareWeb( url: 'https://www.example.com', title: 'This is a test.', description: 'This is a test.', thumb: 'thumb_image_path'); ``` 以上就是在Flutter中使用友盟分享的基本步骤。你可以根据自己的需求,选择更多的分享方式,例如分享音乐、视频等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值