分享功能 集成友盟分享

1.集成友盟分享,需要先注册一个友盟账号,注册地址

友盟开发者平台官网  友盟集成文档  

友盟sdk下载地址友盟sdk下载地址

2,成功下载sdk集成后,微信分享需要配置一下


新浪微博 之类到同样配置就行

3.整合完之后就开始上代码了

ShareManage.h

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //  
  2. //  ShareManage.h  
  3. //  KONKA_MARKET  
  4. //  
  5. //  Created by wxxu on 14/12/18.  
  6. //  Copyright (c) 2014年 archon. All rights reserved.  
  7. //  分享管理  
  8.   
  9. // 友盟APIKey  
  10. #define UMeng_APIKey        @""//友盟appKey  
  11. #define WX_APP_KEY @""//微信appId  
  12. #define WX_APP_SECRET @""//微信appSecret  
  13. #define share_title @""//分享标题  
  14. #define share_content @""//分享内容  
  15. #define share_url @""//分享url  
  16. #import <Foundation/Foundation.h>  
  17. #import <MessageUI/MessageUI.h>  
  18. @interface ShareManage : NSObject <MFMessageComposeViewControllerDelegate>  
  19. + (ShareManage *)shareManage;- (void)shareConfig;/**微信分享**/  
  20. - (void)wxShareWithViewControll:(UIViewController *)viewC;/**新浪微博分享**/- (void)wbShareWithViewControll:(UIViewController *)viewC;/**微信朋友圈分享**/- (void)wxpyqShareWithViewControll:(UIViewController *)viewC;/**短信分享**/- (void)smsShareWithViewControll:(UIViewController *)viewC;@end  


ShareManage.m

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //  
  2. //  ShareManage.m  
  3. //  KONKA_MARKET  
  4. //  
  5. //  Created by wxxu on 14/12/18.  
  6. //  Copyright (c) 2014年 archon. All rights reserved.  
  7. //  分享管理  
  8.   
  9. #import "ShareManage.h"  
  10. #import "UMSocial.h"  
  11. #import "UMSocialWechatHandler.h"  
  12. #import "WXApi.h"  
  13.   
  14. @implementation ShareManage {  
  15.     UIViewController *_viewC;  
  16. }  
  17.   
  18. static ShareManage *shareManage;  
  19.   
  20. + (ShareManage *)shareManage  
  21. {  
  22.     @synchronized(self)  
  23.     {  
  24.         if (shareManage == nil) {  
  25.             shareManage = [[self alloc] init];  
  26.         }  
  27.         return shareManage;  
  28.     }  
  29. }  
  30.   
  31. #pragma mark 注册友盟分享微信  
  32. - (void)shareConfig  
  33. {  
  34.     //设置友盟社会化组件appkey  
  35.     [UMSocialData setAppKey:UMeng_APIKey];  
  36.     [UMSocialData openLog:YES];  
  37.       
  38.     //注册微信  
  39.     [WXApi registerApp:WX_APP_KEY];  
  40.     //设置图文分享  
  41.     [UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeWeb;  
  42. }  
  43.   
  44. #pragma mark 微信分享  
  45. - (void)wxShareWithViewControll:(UIViewController *)viewC  
  46. {  
  47.     _viewC = viewC;  
  48.     [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];  
  49.       
  50.     [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url];  
  51.     [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);  
  52. }  
  53.   
  54. #pragma mark 新浪微博分享  
  55. - (void)wbShareWithViewControll:(UIViewController *)viewC  
  56. {  
  57.     _viewC = viewC;  
  58.     [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];  
  59.     [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);  
  60. }  
  61.   
  62. #pragma mark 微信朋友圈分享  
  63. - (void)wxpyqShareWithViewControll:(UIViewController *)viewC  
  64. {  
  65.     _viewC = viewC;  
  66.     [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];  
  67.     [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url];  
  68.     [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatTimeline].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);  
  69. }  
  70.   
  71. #pragma mark 短信分享  
  72. - (void)smsShareWithViewControll:(UIViewController *)viewC  
  73. {  
  74.     _viewC = viewC;  
  75.     Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));  
  76.     if (messageClass != nil) {  
  77.         if ([messageClass canSendText]) {  
  78.             [self displaySMSComposerSheet];  
  79.         }  
  80.         else {  
  81.             //@"设备没有短信功能"  
  82.         }  
  83.     }  
  84.     else {  
  85.         //@"iOS版本过低,iOS4.0以上才支持程序内发送短信"  
  86.     }  
  87. }  
  88.   
  89. #pragma mark 短信的代理方法  
  90. - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{  
  91.     [_viewC dismissViewControllerAnimated:YES completion:nil];  
  92.     switch (result)  
  93.     {  
  94.         case MessageComposeResultCancelled:  
  95.               
  96.             break;  
  97.         case MessageComposeResultSent:  
  98.             //@"感谢您的分享!"  
  99.             break;  
  100.         case MessageComposeResultFailed:  
  101.               
  102.             break;  
  103.         default:  
  104.             break;  
  105.     }  
  106. }  
  107.   
  108. - (void)displaySMSComposerSheet  
  109. {  
  110.     MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];  
  111.     picker.messageComposeDelegate = self;  
  112.     picker.navigationBar.tintColor = [UIColor blackColor];  
  113.     //    picker.recipients = [NSArray arrayWithObject:@"10086"];  
  114.     picker.body = share_content;  
  115.     [_viewC presentViewController:picker animated:YES completion:nil];  
  116. }  
  117. @end  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作者LiuYulei001,代码LYLShareManager。 简单封装友盟第三方平台分享功能; 首先下载友盟分享功能的SDK,并注册相关AppKey及第三方平台的AppKey; 然后按照友盟官网配置下工程,之后再使用此类; // 首先:配置第三方平台URL Scheme ->1->2->3->4 /** 1.打开日志 @param isOpen YES代表打开,No代表关闭 */ +(void)openLog:(BOOL)isOpen; /** 2.设置友盟AppKey @param UmSocialAppkey 友盟AppKey */ +(void)setUmSocialAppkey:(NSString *)UmSocialAppkey; /** 3.设置平台的appkey @param platform 平台类型 @see UMSocialPlatformType @param appKey 第三方平台的appKey(QQ平台为appID) @param appSecret 第三方平台的appSecret(QQ平台为appKey) @param redirectURL redirectURL */ +(BOOL)setPlatform:(UMSocialPlatformType)platform appKey:(NSString *)appKey appSecret:(NSString *)appSecret redirectURL:(NSString *)redirectURL; /** 4.获得从sso或者web端回调到本app的回调 << - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation >> @param URL 第三方sdk的打开本app的回调的url @return 是否处理 YES代表处理成功,NO代表不处理 */ +(BOOL)handleOpenURL:(NSURL *)URL; // 分享功能(适用自定义分享UI页面) /** 图文分享 @param platformType 平台类型 @see UMSocialPlatformType @param ContentText 文本(纯图可以为nil) @param thumbnail 缩略图 @param shareImage 分享图片 */ +(void)shareGraphicToPlatformType:(UMSocialPlatformType)platformType ContentText:(NSString *)ContentText thumbnail:(id)thumbnail shareImage:(id)shareImage success:(success)success failure:(failure)failure; /** 多媒体分享 @param platformType 平台类型 @see UMSocialPlatformType @param ShareContentType 分享多媒体类型 @see ShareContentType @param title 标题 @param contentDescription 分享描述 @param thumbnail 缩略图 @param url 内容网页地址 @param StreamUrl 数据流地址 */ +(void)shareMultimediaToPlatformType:(UMSocialPlatformType)platformType ShareContentType:(ShareContentType)ShareContentType title:(NSString *)title contentDescription:(NSString *)contentDescription thumbnail:(id)thumbnail url:(NSString *)url StreamUrl:(NSString *)StreamUrl success:(success)success failure:(failure)failure;
要在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、付费专栏及课程。

余额充值