友盟分享,极光推送Demo
友盟分享SDK下载及官方文档
http://dev.umeng.com/social/ios/detail-share
1.注册应用获取App友盟Appkey(556d14ad67e58eb084003fed)
2.下载SDK并导入工程内
3.添加库文件
/友盟分享 注意添加类库 libz.1.1.3.dylib libstdc++.dylib
/** 需添加类库
Security.framework
libiconv.dylib
SystemConfiguration.framework
CoreGraphics.Framework
libsqlite3.dylib
CoreTelephony.framework
libstdc++.dylib
libz.dylib
*/
4.配置URL schemes
配置URL是为了能够分享到其他应用后能返回当前应用,不配置将无法返回
步骤:搜索plist,选择Inf.plist,添加一项URL types
添加相关Url(详细如何设置 URL schemes)
(相关扩展阅读 iOS 客户端URL Scheme配置以及使用)
添加相关代码
AppDelegate.h 文件
//
// AppDelegate.h
// UMShareTestDemo #import <UIKit/UIKit.h> #define UmengAppkey @"5513d956fd98c579b80003de" //友盟分享Key @interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
AppDelegate.m 文件
// AppDelegate.m
// UMShareTestDemo
//
// Created by luo.h on 15-6-2.
// Copyright (c) 2015年 sibu.cn. All rights reserved.
// #import "AppDelegate.h" #import "UMSocialWechatHandler.h"//微信分享
#import "UMSocialQQHandler.h" //QQ分享 #import "UMSocial.h"//友盟分享 注意添加类库 libz.1.1.3.dylib libstdc++.dylib
/** 注意添加类库,否则报错
Security.framework
libiconv.dylib
SystemConfiguration.framework
CoreGraphics.Framework
libsqlite3.dylib
CoreTelephony.framework
libstdc++.dylib
libz.dylib
*/
@interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch. [self UMSociaShareSetting];//UMShare return YES;
} #pragma mark ---友盟分享相关设置 Beggin----
-(void)UMSociaShareSetting
{
[UMSocialData setAppKey:UmengAppkey];//友盟分享 //设置微信AppId、appSecret,分享url 微信,QQ
[UMSocialWechatHandler setWXAppId:@"wx2cbecfee5bbcdca8" appSecret:@"e0b32875602ccbb7147c9e944807c39b" url:@"https://weishang.org/download/"];
[UMSocialQQHandler setQQWithAppId:@"1104521802" appKey:@"a1zNFkJ4IY76mu0A" url:@"https://weishang.org/download/"];
} - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [UMSocialSnsService handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
{
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK,例如新浪微博SDK等
}
return result;
}
#pragma mark ---友盟分享相关设置 End----
分享页面设置 ViewController
//
// ViewController.m
// UMShareTestDemo
#import "ViewController.h" #import "AppDelegate.h"//UmengAppkey在AppDelegate里
#import "UMSocial.h" //UM分享 @interface ViewController ()<UMSocialUIDelegate> @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIButton *shareButton=[UIButton buttonWithType:UIButtonTypeCustom];
shareButton.frame=CGRectMake(100,100, 100, 80);
shareButton.backgroundColor=[UIColor orangeColor];
[shareButton setBackgroundImage:[UIImage imageNamed:@""] forState:UIControlStateNormal];
[shareButton setTitle:@"UM分享" forState:UIControlStateNormal];
[shareButton addTarget:self action:@selector(UMShareUI) forControlEvents:UIControlEventTouchDown];
[self.view addSubview:shareButton];
} #pragma mark-------------- 友盟分享 -----------------
//友盟分享
-(void)UMShareUI
{
NSString *shareText = @"手机在手即可随时随地完成微商权威认证https://weishang.org/center/download"; //分享内嵌文字
UIImage *shareImage = [UIImage imageNamed:@"shareIcon"]; //分享内嵌图片
NSArray *arrayNames=[NSArray arrayWithObjects:UMShareToWechatSession,UMShareToWechatTimeline,UMShareToQQ,UMShareToQzone,UMShareToSina,UMShareToTencent,UMShareToSms,UMShareToDouban,nil]; //注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法
[UMSocialSnsService presentSnsIconSheetView:self
appKey:UmengAppkey
shareText:shareText
shareImage:shareImage
shareToSnsNames:arrayNames
delegate:self];
} //弹出列表方法presentSnsIconSheetView需要设置delegate为self
-(BOOL)isDirectShareInIconActionSheet
{
return NO;//NO 不直接分享
} -(void)didCloseUIViewController:(UMSViewControllerType)fromViewControllerType
{
NSLog(@"didClose is %d",fromViewControllerType);
} //下面得到分享完成的回调
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
{
NSLog(@"didFinishGetUMSocialDataInViewController with response is %@",response);
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
{
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
}
else
{
NSLog(@"分享失败");
}
} @end
PS:QQ空间必须为图文分享,否则分享失败
Demo下载 https://files.cnblogs.com/files/sixindev/UMShareTestDemo.zip
首先需要在开发者平台注册应用,获取APPID
极光推送
iOS SDK 集成指南 http://docs.jpush.io/guideline/ios_guide/
iOS SDK 教程 http://docs.jpush.io/client/ios_tutorials/
友盟分享,极光推送Demo的更多相关文章
- tp的极光推送demo
原文地址:http://blog.csdn.net/zhihua_w/article/details/52197611 极光推送(JPush)是独立的第三方云推送平台,致力于为全球移动应用开发者提供专 ...
- ThinkPHP框架整合极光推送DEMO
极光推送(JPush)是独立的第三方云推送平台,致力于为全球移动应用开发者提供专业.高效的移动消息推送服务. 本篇博文讲述如何在将极光推送DEMO整合到ThinkPHP框架中,我使用的是极光推送PHP ...
- 极光推送Demo
<?php //极光推送的类 //文档见:http://docs.jpush.cn/display/dev/Push-API-v3 /***使用示例***/ ...
- 友盟umeng消息推送直接复制就能用(纯干货)
一. 单播推送(unicast) 1.1 图 1.2 代码 1 /** 2 * 根据设备的deviceToken, 去给指定的设备推送消息 3 * 4 * @param deviceToken 单个d ...
- 基于最新友盟开发文档,集成友盟分享功能,赋demo
集成准备 获取Appkey 快速集成 获取SDK,页面截图: 下载后打开 导入jar和res 添加回调Activity 微信 在包名目录下创建wxapi文件夹,新建一个名为WXEntryActivit ...
- iOS开发——iOS10升级极光推送SDK、友盟分享SDK
前不久升级了Xcode8 ,同时iOS10系统也推送久. 由于公司需要适配iOS 10系统,同时第三方sdk建议升级. 包含替换升级新的SDK和相应的代码修改. 主要分享如何升级极光推送SDK,友盟分 ...
- 极光推送---安卓Demo
对于一个一直干.net的程序媛来说,冷不丁的让小编干安卓,那种感觉就好似小狗狗咬小刺猬一样,不知道从哪儿开始下手,对于小编来说,既是挑战更是机遇,因为知识都是相通的,再者来说,在小编的程序人生中,留下 ...
- 关于极光推送Jpush的demo
关于极光推送Jpush 推送是手机app必不可少的一样功能,这次由于公司项目需要研究了一下.由于推送一般写于服务端,所以对于不会Android的javaweb程序员要写出一个完整的demo是一件很头痛 ...
- AppDelegate减负之常用三方封装 - 友盟分享 / 三方登录篇
之前完成了 AppDelegate减负之常用三方封装 - 友盟推送篇: http://www.cnblogs.com/zhouxihi/p/7113511.html 今天接着来完成 - 友盟分享和三方 ...
随机推荐
- Log4j2进阶使用(按大小时间备份日志)
1.进阶说明 本文介绍Log4j2进阶使用, 基本使用请参考Log4j2基本使用入门. 本文基于上面的基本使用入门, 主要介绍按照日志大小和时间备份日志, 并且限制备份日志的个数, 以及删除过期的备份 ...
- ARM微处理器的七种运行模式
ARM微处理器的七种运行模式: 用户模式(usr):正常的程序执行状态 快速中断模式(fiq):用于处理快速中断,对高速数据传输或通道处理. 中断模式(irq):对一般情况下的中断进行处理. 管理模式 ...
- 自动化集成:Kubernetes容器引擎详解
前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译.打包.镜像构建.部署等操作:本篇文章主要描述Kubernetes引擎用法. 一.基础简介 Kube ...
- Git_使用SSH密钥操作远端仓库
git支持多种传输协议,ssh协议是其中一种. 初次使用git的用户要使用ssh协议大概需要三个步骤: 生成密钥 设置远程仓库(本文以github为例)上的公钥 把git的 remote url 修改 ...
- 关于vue部署到nginx服务下,非根目录,刷新页面404的问题
如果在根目录则添加 try_files $uri $uri/ /index.html; 如果不在根目录则添加,格式如下 location /xxxx { try_files $uri $uri/ ...
- Go语言系列之知识框架
一.Go基础入门知识 二.变量和基本数据类型 三.流程控制语句 四.数组和切片 五.map的声明和使用 六.函数func方法 七.指针和地址 八.结构体 九.接口interface 十.并发神器gor ...
- Git 基础指令
Git 基础指令 Git 基础指令 获取 Git 仓库 在已存在目录中初始化仓库 克隆现有的仓库 记录仓库与仓库的更新 仓库的记录 检查当前文件状态 三部曲 跟踪新文件 提交更新 移除文件 推送到远程 ...
- [论文翻译] 分布式训练 Parameter sharding 之 ZeRO
[论文翻译] 分布式训练 Parameter sharding 之 ZeRO 目录 [论文翻译] 分布式训练 Parameter sharding 之 ZeRO 0x00 摘要 0x01 综述 1.1 ...
- Redis介绍一
一.五中数据类型 String: 字符串 Hash: 散列 List: 列表 Set: 集合 Sorted Set: 有序集合 Redis 发布订阅 Redis 发布订阅 (pub/sub) 是一种消 ...
- docker创建mysql容器时挂载文件路径后无法启动(已解决)
系统centos7 docker版本: 解决方法: 在docker run中加入 --privileged=true 给容器加上特定权限,如下 docker run --privileged=tru ...