zoukankan      html  css  js  c++  java
  • iOS社会化分享(干货)

    一、苹果原生集成的社会化分享

     1、哪些平台

    (1)Twitter

    (2)FaceBook

    (3)Flickr

    (4)Vimeo

    (5)新浪微博  :iOS6 

    (6)腾讯微博 : iOS7

    2、框架 :social.framework,很简单的框架,内容不多。

    3、应用场景(不只是原生的分享)

    (1)通过用户的分享,实现口碑营销

    (2)就是广告 

    (3)形式很多,比如红包,推广

    4、使用方式

    (1)提供一个控制器SLComposeViewController,这个控制器包含一些属性和方法

       <1>添加初始化文字

      - (BOOL)setInitialText:(NSString *)text;

       <2>添加分享的图片

      - (BOOL)addImage:(UIImage *)image;

       <3>添加分享链接

      - (BOOL)addURL:(NSURL *)url;

      <4>服务类型(分享平台,框架中有一个头文件专门描述)

      serviceType

        

    (2)关于初始化文字,这里不需要用户再去输入信息,没有义务让用户来输入推广的内容

      

    (3)在使用分享平台的时候,要判断服务是否可用(类方法)

       [SLComposeViewController isAvailableForServiceType: SLServiceTypeSinaWeibo]

            

    (4)实例化控制器

    SLComposeViewController *composeVC = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo]

    (5)将控制器modal出来即可

    二、友盟集成(集成微博示例)

    1、常用第三方分享框架

       <1>友盟分享:http://dev.umeng.com/social/ios/share/quick-integration

       <2>ShareSDK:http://wiki.mob.com/iOS快速集成指南

       <3>百度社会化分享组件:http://developer.baidu.com/soc/share

      (百度还有个“社会化登录组件”:http://developer.baidu.com/soc/login)

    2、SDK和文档 http://www.umeng.com/codecenter.html?spm=0.0.0.0.tZBl43

    (1)根据需求,选择SDK中的集成平台(有友盟默认集成的)

    (2)关于第三方分享的注意:

       如果用户没有安装某分享平台,不可以链接下载地址,只可以提示用户无法分享或隐藏。这是苹果的规定,避免做广告之嫌。

     3、友盟社会化分享组件的集成流程简述

      

    4、流程详述

    (1)注册友盟账号,获得友盟的Appkey。我们使用友盟提供的分享服务,要在友盟拥有应用以及对应的key。

    (2)申请第三方账号:所要分享到的平台的应用账号。这里就是在分享平台的开发者账号已经对应的app的key等信息。这里信息的设定,要根据友盟的要求,比如请求回调页,安全域名等等。

    每个平台的账号申请和审核流程是不一样的,微博申请较为方便,但是QQ就是比较麻烦,还要上传照片等审核资料。

    (3)将友盟账号和第三方分享平台账号进行绑定。绑定了账号,友盟才可以使用我们的AppKey去帮我们到第三方平台进行分享。

    (4)关于iOS9.0的一系列适配,主要还是ATS。

    (5)应用间跳转问题(SSO)

       我们希望点击分享,直接跳转到响应的应用,自从iOS9.0之后,应用间跳转需要添加白名单,指定对应跳转App的URL Scheme。

    (6)参考文档进行SDK的集成(存在问题:友盟的更新比较滞后,所以,尽量参考详细集成步骤)

    (7)关于集成SDK的几项注意:

      <1>隐藏没有安装的分享应用(没有认证页面)

      [UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToQzone, UMShareToWechatSession, UMShareToWechatTimeline]]; 

      <2>头文件#import "UMSocial.h"

      <3> 友盟提供了触发分享后显示的默认界面,一个可以从底部弹起的视图,集成了分享平台的图标,并响应点击。

      

    	//注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法
    [UMSocialSnsService presentSnsIconSheetView:self
                                         appKey:@"507fcab25270157b37000010"
                                      shareText:@"你要分享的文字"
                                     shareImage:[UIImage imageNamed:@"icon.png"]
                                shareToSnsNames:[NSArray arrayWithObjects:UMShareToSina,UMShareToWechatSession,UMShareToQQ,nil]
                                       delegate:self]; 
    

      <4>设置友盟的AppKey

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

      { [UMSocialData setAppKey:@"507fcab25270157b37000010"];}

      <5>分享中可以附件很多自定义设置,比如图片,URL,gif,可以根据文档自行添加。

      <6>代理方法设置回调(可选)

     

    三、关于应用间跳转的补充

    1、应用间跳转的实现

    (1)canOpenURL  判断是否可以进行跳转,使用这条命令,就必须添加白名单

    (2)跳转的核心OpenURL  ,要求有正确的协议头即可,系统Url协议头有很多:http://   ftp://  file://  email://  tel:// 等 

    (3)自定义协议头 设置 URL schemes (targets  -> info ->URL Types -> URL schemes)

    2、应用间跳转携带信息(参数)的情况

    (1)在url协议头后面添加内容  ,例:weibo:// name = zhangsan ,只要协议头正确就可以跳转,后面的内容可以作为参数使用。

    (2)应用被别的程序打开时调用代理方法,这里返回的url可以携带跳转发起者的指定信息

       -(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options

    (3)信息传递原理:iOS系统应该可以在应用间跳转时记录Url信息,将A请求跳转的Url记录后转交给B的应用程序对象,然后B的应用程序代理对象可以接收到回传的Url(个人理解)。

  • 相关阅读:
    c#索引器介绍|C#索引器写法|c#索引器例子
    原来查询语句还有这功能,累计变量值
    递归导入access数据winform程序源码
    从sqlserver导入access的最简单的方法
    vs2008中文破解|vs2008中文下载|vs2008正版序列号
    游标遍历标的所有字段代码
    asp.net未知的服务器标记错误
    卓越、当当、京东三大广告联盟比较
    Repeater 的嵌套使用与表克隆
    自动上传编辑器中的远程图片与自动替换alt标签
  • 原文地址:https://www.cnblogs.com/cleven/p/5443678.html
Copyright © 2011-2022 走看看