iOS开发-友盟分享(1)
1.集成友盟分享,需要先注册一个友盟账号,注册地址
友盟sdk下载地址友盟sdk下载地址
2,成功下载sdk集成后,微信分享需要配置一下
新浪微博 之类到同样配置就行
3.整合完之后就开始上代码了
ShareManage.h
- //
- // ShareManage.h
- // KONKA_MARKET
- //
- // Created by wxxu on 14/12/18.
- // Copyright (c) 2014年 archon. All rights reserved.
- // 分享管理
- // 友盟APIKey
- #define UMeng_APIKey @""//友盟appKey
- #define WX_APP_KEY @""//微信appId
- #define WX_APP_SECRET @""//微信appSecret
- #define share_title @""//分享标题
- #define share_content @""//分享内容
- #define share_url @""//分享url
- #import <Foundation/Foundation.h>
- #import <MessageUI/MessageUI.h>
- @interface ShareManage : NSObject <MFMessageComposeViewControllerDelegate>
- + (ShareManage *)shareManage;- (void)shareConfig;/**微信分享**/
- - (void)wxShareWithViewControll:(UIViewController *)viewC;/**新浪微博分享**/- (void)wbShareWithViewControll:(UIViewController *)viewC;/**微信朋友圈分享**/- (void)wxpyqShareWithViewControll:(UIViewController *)viewC;/**短信分享**/- (void)smsShareWithViewControll:(UIViewController *)viewC;@end
ShareManage.m
- //
- // ShareManage.m
- // KONKA_MARKET
- //
- // Created by wxxu on 14/12/18.
- // Copyright (c) 2014年 archon. All rights reserved.
- // 分享管理
- #import "ShareManage.h"
- #import "UMSocial.h"
- #import "UMSocialWechatHandler.h"
- #import "WXApi.h"
- @implementation ShareManage {
- UIViewController *_viewC;
- }
- static ShareManage *shareManage;
- + (ShareManage *)shareManage
- {
- @synchronized(self)
- {
- if (shareManage == nil) {
- shareManage = [[self alloc] init];
- }
- return shareManage;
- }
- }
- #pragma mark 注册友盟分享微信
- - (void)shareConfig
- {
- //设置友盟社会化组件appkey
- [UMSocialData setAppKey:UMeng_APIKey];
- [UMSocialData openLog:YES];
- //注册微信
- [WXApi registerApp:WX_APP_KEY];
- //设置图文分享
- [UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeWeb;
- }
- #pragma mark 微信分享
- - (void)wxShareWithViewControll:(UIViewController *)viewC
- {
- _viewC = viewC;
- [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];
- [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url];
- [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);
- }
- #pragma mark 新浪微博分享
- - (void)wbShareWithViewControll:(UIViewController *)viewC
- {
- _viewC = viewC;
- [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];
- [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);
- }
- #pragma mark 微信朋友圈分享
- - (void)wxpyqShareWithViewControll:(UIViewController *)viewC
- {
- _viewC = viewC;
- [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];
- [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url];
- [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatTimeline].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);
- }
- #pragma mark 短信分享
- - (void)smsShareWithViewControll:(UIViewController *)viewC
- {
- _viewC = viewC;
- Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));
- if (messageClass != nil) {
- if ([messageClass canSendText]) {
- [self displaySMSComposerSheet];
- }
- else {
- //@"设备没有短信功能"
- }
- }
- else {
- //@"iOS版本过低,iOS4.0以上才支持程序内发送短信"
- }
- }
- #pragma mark 短信的代理方法
- - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
- [_viewC dismissViewControllerAnimated:YES completion:nil];
- switch (result)
- {
- case MessageComposeResultCancelled:
- break;
- case MessageComposeResultSent:
- //@"感谢您的分享!"
- break;
- case MessageComposeResultFailed:
- break;
- default:
- break;
- }
- }
- - (void)displaySMSComposerSheet
- {
- MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
- picker.messageComposeDelegate = self;
- picker.navigationBar.tintColor = [UIColor blackColor];
- // picker.recipients = [NSArray arrayWithObject:@"10086"];
- picker.body = share_content;
- [_viewC presentViewController:picker animated:YES completion:nil];
- }
- @end
博文二
之前使用过,shareSDK。到了新公司,新公司使用友盟。
友盟的挺简单的。特分享几个注意点
0、后来想到的,微博和友盟的绑定
友盟的使用是很简单,但是,友盟的网站好难用,有木有!!!啥思路
接着,吐槽。添加了一个新的应用,居然,在我的应用里找不到!但是,在这
可以找到,不过,第二天,就在我的应用找到了。
神逻辑呀!
1、QQ空间的分享。之前老是报错
- 2014-09-18 09:52:00.030 友盟快速[239:60b] 分享到QQ空间必须设置图片+文字消息
- 2014-09-18:09:52:00:034 -QQAPI- QQApi.m:300 param error:qzone not support type
在真机上的错误是,无法打开手机QQ。因为,分享到qq好友,可以,所以肯定不是无法打开手机QQ。
在网上找了许多,都没有直接说明这个问题的。给客服反映,客服木有反应(这点不如,shareSDK)。
一个半小时,有木有。问题。我早就解决了!
后来,看到,有个开发者说到,图片和文字为什么不能一起分享,题目和文字怎么分开。我想,是不是我分享的文字的原因,我只是写了“这是要分享的文字”。于是随手添加了N多无聊的文字。可以分享了。
2、QQ好友分享。只有链接
这个就是因为,你分享了图片。如果去掉图片,可以看到文字了。
3、设置QQ各种title
支持title设置的平台:QQ、QQ空间、微信、微信朋友圈
- QQtitle设置方法:
- [UMSocialData defaultData].extConfig.qqData.title = @"QQtitle";
- QQ空间title设置方法:
- [UMSocialData defaultData].extConfig.qzoneData.title = @"Qzonetitle";
- 微信title设置方法:
- [UMSocialData defaultData].extConfig.wechatSessionData.title = @"微信title";
- 朋友圈title设置方法:
- [UMSocialData defaultData].extConfig.wechatTimelineData.title = @"朋友圈title";
4、关于QQ类,无法返回(不包括微信)
如果,你查看网页,给出的答案是,设置scheme。但是这样还是不行。其实,只要你去友盟的后台绑定一下,QQ空间APPkey绑定就可以类。十六进制那个。
最后,给大家个绝招。
如果,你某个功能实现不了。
使用友盟的账号试试。其实,直接用它的就好。
我有个功能实现不了,调试了一下午都不行。最后,用都绝招成功。只能说,这个账号不对。
做这个功能,主要是账号申请费劲,还不一定对,所以,绝招一定要用的!
iOS开发-友盟分享(1)的更多相关文章
- iOS开发——友盟分享
==========2016-01-29 更新=====刘成利 email:liu_cheng_li@qq.com========== 自己成功集成到公司的项目前,也已做了测试好的友盟分享demo 目 ...
- iOS开发-友盟分享(3)
iOS 友盟分享 这个主要是提到如何通过友盟去自定义分享的步骤: 一.肯定要去友盟官网下载最新的SDK包,然后将SDK导入到你的工程文件夹里面去: 二.注册友盟账号,将你的APP添加到你的账号里面然后 ...
- iOS开发-友盟分享使用(2)
1.友盟SDK提供功能:分享喜欢的东西到新浪微博.qq空间.为微信朋友圈等等等等社交圈. 2.友盟分享前期准备 (1)注册账号 去官网 (2)创建应用获取appkey 类似5556a53667e*** ...
- iOS关于友盟分享弹不出面板问题
在程序代理类中声明 [NSThread sleepForTimeInterval:10];//设置启动页面时间 [self.window makeKeyAndVisible]; [[UMSocialM ...
- IOS 集成友盟分享
#import <Foundation/Foundation.h> @interface UMSocialSinaHandler : NSObject +(void)openSSOWith ...
- iOS 集成友盟分享图片链接为http时无法加载问题解决
一.问题描述 UMShareWebpageObject *obj = [UMShareWebpageObject shareObjectWithTitle:title descr:shareText ...
- iOS开发——iOS10升级极光推送SDK、友盟分享SDK
前不久升级了Xcode8 ,同时iOS10系统也推送久. 由于公司需要适配iOS 10系统,同时第三方sdk建议升级. 包含替换升级新的SDK和相应的代码修改. 主要分享如何升级极光推送SDK,友盟分 ...
- iOS友盟分享的使用总结
现在几乎所有的APP都会集成分享,为了可以更好的推广自己的APP. 目前市面上常用的分享无非就三个: 1.友盟分享; 2.shareSDK(mob); 3.苹果原生. 由于苹果原生的分享使用起来不方便 ...
- 友盟分享小结 - iOS
因之前都写在了 AppDelegate 类中,看起来过于臃肿,此次基于友盟分享重新进行了一次优化,此次分享内容基于已经成功集成 SDK 后 code 层级部分.注:此次分享基于 SDK 6.9.3,若 ...
随机推荐
- json传值以及ajax接收
一开始进入公司,做起项目来比较不知所措,现在一个月过去了,越来越得心应手,下面是json向前端传值以及前端ajax接收,给自己记下也分享给大家. 这是两个类型不同的json与ajax的数据交互(集合. ...
- 树莓派开发系列教程3——树莓派rasp-config配置(转)
经过前面两步我们的树莓派已经正常的工作起来了,但是在真正用它开发之前还需要进行一些列的配置以及软件的安装,这样开发起来才会得心应手,下面我们介绍一下常用的软件和服务 1.配置选项: 树莓派第一次使用的 ...
- Python全栈之路4--内置函数--文件操作
上节重点回顾: 判断对象是否属于某个类,例如: 列表中有个数字,但是循环列表判断长度,用len会报错;因为int不支持len,所以要先判断属于某个类,然后再进行if判断. # isinstance(对 ...
- html特殊字符转义问题(转!)
html.javascript.url特殊字符转义在实际编程中都是有用到的,有的人对特殊字符转义的使用不是很清楚,下面就对html,javascript,url特殊字符的转义做一下说明和归纳. htm ...
- php字符串赋值到js的坑
很早以前的一个比较坑的问题,今天又遇到了,记录一下,免得以后再次入坑. 把php赋值到view层时,如果不是直接渲染到页面,而是赋值给变量.字符如果有回车或者换行就会出现问题. 示例: <?ph ...
- quick-cocos2d-x之testlua之VisibleRect.lua
require "extern" --这个类找到了可视区域的9个点的坐标:左上.上的中点.右上.左的中点.左下.下的中点.右下.右的中点.一般用于使用相对坐标的场合,解决自适应屏幕 ...
- RRDTool 三个命令的使用
要了解rrdtool如何使用就要先从rrd的数据存储方式开始,rrdtool就是为了操作这个数据库的工具,抄来下面一段文字解释. 0x01 什么是rrd数据库 所谓的“Round Robin” 其实是 ...
- Hibernate的多表查询,分装到一个新的实体类中的一个方法
不知道是否还有其他方法实现,请高人指点. 如果涉及到多张表多字段查询,并且想利用查询出来的字段在界面层构建一个新的实体类,可以使用这种方法: 如果查询出来的多字段中,有多个字段的名字都相同(如想查询出 ...
- IE下Debug BHO
主要就是修改注册表键值使IE不创建多个进程:HKLM\Software\Microsoft\Internet Explorer\Main - TabProcGrowth 但需要注意的是这种情况下,vs ...
- 生成树的个数——基尔霍夫定理(Matrix-Tree Theorem)
树有很多种形态,给定结点个数,求生成不同形态二叉树的个数,显然要用到Catalan数列. 那如果给定一个图(Graph)\(G=(V,E)\),要求其最小生成树G',最好的方法莫过于Prim或Krus ...