iOS扫一扫效率开发

事先很多二维码扫描都是基于zxing做的,不过zxing用起来实在很麻烦,又间接不更新。随着iOS6退出历史舞台,终于得以应用iOS7随后,用系统的AVFoundation做的二维码扫描器了。

第1组 3号

起首化相机,扫描器

- (void)setupCamera
{
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    // 耗时的操作
        // Device
        _device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

        // Input
        _input = [AVCaptureDeviceInput deviceInputWithDevice:self.device error:nil];

        // Output
        _output = [[AVCaptureMetadataOutput alloc]init];
        //    [_output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];
        [_output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];

        // Session
        _session = [[AVCaptureSession alloc]init];
        [_session setSessionPreset:AVCaptureSessionPresetHigh];
        if ([_session canAddInput:self.input])
        {
            [_session addInput:self.input];
        }

        if ([_session canAddOutput:self.output])
        {
            [_session addOutput:self.output];
        }

        // 条码类型 AVMetadataObjectTypeQRCode
        _output.metadataObjectTypes =@[AVMetadataObjectTypeQRCode];
        dispatch_async(dispatch_get_main_queue(), ^{
            // 更新界面
            // Preview
            _preview =[AVCaptureVideoPreviewLayer layerWithSession:self.session];
            _preview.videoGravity = AVLayerVideoGravityResizeAspectFill;
            //    _preview.frame =CGRectMake(20,110,280,280);
            _preview.frame = self.view.bounds;
            [self.view.layer insertSublayer:self.preview atIndex:0];
            // Start
            [_session startRunning];
        });
    });
}

一、产品音信

在viewWillAppear和viewWillDisappear里对session做优化。

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    if (_session && ![_session isRunning]) {
        [_session startRunning];
    }
    timer = [NSTimer scheduledTimerWithTimeInterval:.02 target:self selector:@selector(animation1) userInfo:nil repeats:YES];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [timer invalidate];
}

上述timer是个扫描动画的计时器,可以略过不看。

  1. 产品名称:夸克浏览器

  2. 版本号:2.2.4.984

  3. 感受条件:Samsung6:IOS10.3.3

  4. slogan:极简主义高速浏览器

  5. 原则性:极客、年轻化、极简主义爱好者的定制化群体

拍卖扫描的结果

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection
{

    NSString *stringValue;

    if ([metadataObjects count] >0)
    {
        AVMetadataMachineReadableCodeObject * metadataObject = [metadataObjects objectAtIndex:0];
        stringValue = metadataObject.stringValue;
    }

    [_session stopRunning];
    [timer invalidate];
    NSLog(@"%@",stringValue);

}

二、市场分析

用二维码扫描器扫自己的二维码

NSString *url = [NSURL URLWithString:@"html/judgement.html" relativeToURL:[ZXApiClient sharedClient].baseURL].absoluteString;

    if ([stringValue hasPrefix:url]) {
        //如果扫出来的url是自己的域名开头的,那么做如下的处理。
    } 

1.百度指数

用二维码扫描器扫外人的二维码

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:stringValue]];

直接运用openUrl系统自带的浏览器打开url就行,或者自己写个放置的浏览器打开。

2.市面大概

用外人的围观器扫自己的二维码

率先将协调的二维码定义成http://www.xxx.com/xxxxx这般的投机域名的url。
这就是说第三方的二维码扫出来后,会跳向这么些网址。

说不上在服务器上配备这些页面,插手如下的代码

<script language="javascript">
  if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
    var loadDateTime = new Date();
    window.setTimeout(function() {
      var timeOutDateTime = new Date();
      if (timeOutDateTime - loadDateTime < 5000) {
        window.location = "要跳转的页面URL";
      } else {
        window.close();
      }
    },
    25);
    window.location = " test:// ";
  } else if (navigator.userAgent.match(/android/i)) {
    var state = null;
    try {
      state = window.open("apps custom url schemes ", '_blank');
    } catch(e) {}
    if (state) {
      window.close();
    } else {
      window.location = "要跳转的页面URL";
    }
  }
</script>

这段代码是基于url schemes的规律,倘使您的app里存在这个url
schemes(例子里是test://),那么会顿时打开那个url,假诺不存在,就会领先25皮秒,那么就对准另一个页面,一般是下载页。

接着,在app的url schemes里设置,比如test

Paste_Image.png

本条时候,浏览器发出test://的哀告的时候,就能顿时打开那个app了。

最终,若是不满足于扫描二维码只能打开app,想对二维码里的情节做一些操作的话,可以:

  • 将二维码的内容定义成http://www.xxx.com/xxxxx?uid=xxx这么,当然前面的参数需要加密。
  • 在js代码里得到那一个参数,并原封不动的增大在url
    schemes后边,如test://uid=xxx
  • 在appDelegate里增长如下代码。

 - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    if ([url.absoluteString hasPrefix:@"test://uid="]) {
        NSString *uid = [url.absoluteString substringFromIndex:11];
        NSLog(@"uid=%@",uid);
        //对uid进行操作
    } else {
        //其他的地方抛过来的url,比如微信
        return [WXApi handleOpenURL:url delegate:self];
    }
    return YES;
}

iiMedia
Research(艾媒咨询)数据体现,2017第三季度中国堂弟大浏览器用户规模达6.13亿人,增长率为1.49%,人口红利已经一去不复返。用户增速放缓、市场腾飞相对安静、商业情势较为清晰声明近年来手机浏览器市场处在成熟期,内容为王,利用大平台优势将成为手机浏览发展突破点。

用外人的扫描器扫旁人的二维码

34ebbc5ccf91e9deffe7f8d1fead2675.png

54.4%的受访网民更偏好利用第三方手机浏览器,而选用流畅(48.7%)、稳定性(32.2%)及界面赏心悦目(27.7%)成为网民偏好原因。尽管手机自带浏览器能更便民地为用户提供使用进口,但第三方手机浏览器在性能及相互体验上更佳,能为用户提供上乘体验,加上充足内容服务和进口功效,第三方手机浏览器更受网民偏好。近日手机浏览器重要设有的问题是广告多,流量消耗大,内存占用大,页面加载不流畅和界面设计不创造。

终极来张效果图

2015-04-08 09_52_30.gif

手机浏览器的本行竞争进入了后半程,内容为王的时代里,各浏览器厂商纷纷聚合内容产物,在内容生态和职能优化上发力。

应过多同室要求,上个demo

demo

UC做夸克浏览器的大背景,其实是陪伴着所有行业浏览器产品变身为内容聚合平台的矛头下同时开展的,这一派是浏览器属性暴发了真面目标改观,另一方面用户接纳习惯也在日益迁移。

浏览器是运动互联网发展前期起先诞生的几类平台级产品之一,至今已经是非常成熟的工具类产品,以UC浏览器、QQ浏览器、百度浏览器为表示的出品都怀有较高且较为稳定的市场份额,以Chrome、Opera为代表的外来巨头即使所有不错的口碑和品牌,可是本土化的底细优化却做不佳,水土不服带来的第一手影响就是市场占有率不高,这也是全体市场给夸克浏览器的火候所在。

而是伴随着移动互联网发展到末代,用户对于精品、细分类产品的显然的要求开端呈现。继电商领域之后,工具类产品成为新的发力点,本场布局中,UC同样需要一款回归浏览器本质的出品,夸克浏览器的逻辑便是在那么些细分市场下的五遍尝试。

在成熟的世界中做立异,只有将成品形成极致才能建立友好的竞争壁垒,夸克浏览器走的是一条极其简约的门路,也切合了直接被乔布斯强调的老大“至繁归于至简”的道理。

三、产品简介

  1. 出品结构图

  2. 产品流程图

  3. 对象用户群画像

夸克浏览器是UC优视旗下的一款新产品,主打极简、轻量、好用,主推极客、年轻化、定制化群体,致力于用极简思路对抗信息冗余,满意用户对于浏览器最实质的需求。产品的关键行使群体为20-40岁的群人。

  1. 重在版本音讯

时刻版本号紧要更新内容

2016.11.01 1.0 上线

2016.11.18 1.1 夜间情势、图片保存、前进手势、分享效率

2016.12.20 1.2 书签同步、广告屏蔽、播放器匡助

2017.03.01 1.2.7 uc标签同步、分类调优、智能无图、垂搜优化

2017.04.08 1.3.0 极简情势、退出状态记录、极简工具栏

2017.06.17 2.0.0 全新设计风格2.0、轻站点、首页快捷键

2017.08.09 2.0.3.953 悬浮广告标记、轻站点图片保存

2017.09.27 2.1.0.964 新浪分享、微信公众号分享

2017.11.21 2.2.2.982 实验室、广告过滤管理界面

软件下载量存在多少个可怜点,分析内部比较非凡的5个时间点:

1.二零一七年三月:产品方可同步UC标签、智能无图、垂直搜索优化,引流+主题效用优化

2.二零一七年1月:产品全新改版,用户负面评价较高

3.二零一七年五月:悬浮广告屏蔽、轻应用多开和分享

4.二零一七年十一月:搜索结果根本字保留、广告过滤管理。

四、主旨效率分析

在即时以臃肿复杂为主流的工具类浏览器界,夸克就是如此一股清流。夸克浏览器最大特色是极简设计,不仅仅是视觉UI上的极简,仍然在效益设计上的极简。它小心于浏览器本身,不越俎代庖去做类似于资讯订阅、网址导航、社区等情节,也不做插件市场这么的加法。在现行全方位工具都在“内容化”的前日,专注于“只”做好一款工具的App已经越来越少,正如中国出品大神张小龙所言——其实只做好一款工具是最难的。

挪动互联网上整场,痛点理论是被公认有效的产品方法论——在用户采纳产品或劳务时,最没有被满意的要求就是痛点,每一个痛点都可能形成一款产品。上整场是将尚未被满意的需要满意,下全场是将已经被满意的需求满意得更好,用户的花费也正升级。现在更实用的制品方法论恐怕就是要追求更好的心得,要用工匠精神精雕细琢。当然,高频、刚需这多少个重要依旧很首要。

夸克浏览器之所以能在古老的浏览器市场脱颖而出,一个着重就是它从细微处打磨,分析用户要求举办设计的选料。比如它将标签图标的犄角从直角换成圆角,因为调研后发现用户在视觉上更乐于承受圆润的事物和图标;再譬如将搜索栏移动到底层开了浏览器初始,是因为考虑到手机屏幕5.5成标配的明日,这样做可以满足用户单手操作的习惯。还有,夸克浏览器的界面排版有雅量的留白设计,因为白可以给人纯洁的感觉进而进一步显著快速,制止其他苦恼。通过聚焦到“浏览器”那么些点,夸克浏览器可以更令人瞩目,进而通过细节优化,更好地满意用户的浏览需求。做减法比做加法难,但固然将一个点成就最好,也就形成了分界。

轻量级的规划,细微处的更新,知足用户需求痛点到极致会是移动互联网下全场的一个大的来头。

4.1极简主页

相持于qq浏览器和uc浏览器,夸克浏览器简直是一股清流。

夸克浏览器只保留了搜索栏、轻站点和底部工具栏,专注于搜索效率。去掉了情报等内容效率。这类似于pc端的chrome浏览器,专注于工具的中坚效能。尽管市面上有像样于360浏览器、uc浏览器这种大而全的工具,由于夸克浏览器的用户群体的定点是极客、年轻化的受众,能够通晓操作手机先后,由此功效和视觉的极简,深中内心。

4.2找寻功效

追寻效能是浏览器的着力效能意义。夸克浏览器将搜索栏放在了屏幕中心而不是顶部,这在5.5英寸手机屏幕普及的前些天,是大屏用户的佛法。搜索框编辑栏提供了网址补全的字段,方便用户神速输入网址,防止繁复操作。中间的滑动条,很好的化解了屏幕输入新闻过多麻烦稳定的问题。

4.3轻站点

轻站点类似于信息订阅rss,将app内部的音讯进行整合、订阅、重新排版,让内容更好的彰显在不同尺寸的手机端。轻站点在重要上和用户的书签一个级别,那是因为双方都是用户可能时时打开的进口。

轻站点给用户打开低频次的拔取软件提供了新方案,这不依托于微信小程序仍旧公众号这种性质极强的平台。轻站点提供多少少于的站点,同时规定用户可以添加编辑的站点的内容无法领先10个。这在信息爆炸的社会,援救用户解决信息冗余,同时,绝大多数的用户时时浏览的网站也不会超越这一个书。可选加限制,呈现了极简主义的先锋代表-夸克浏览器的产品价值观。

4.4广告过滤

大多当下热门的第三方浏览器现在都会放到广告过滤的插件,夸克浏览器号称对全球化1000种常见广告开展了遮掩并追加用户自己挑选屏蔽广告的意义,基本得以屏蔽用户在浏览网页过程中的绝大多数广告。值得注意是广告管理界面中的广告过滤=流量节省=现金节省,将流量过滤的实际效果转化为用户可以感知的效率,产品设计相当性格。可是美中相差的是用户自己屏蔽的广告链接在“管理用户标识的广告”之后,视觉上尚无区别感,阻碍了用户的采取流程。

五、 优化提议

1.脚下轻站点的数量还在频频加码,到达一定限度后,会对成品极简的核心境念造成影响,是否要追加站点的特性分类,以便更好的让用户定位可以应用的站点。

2.广告屏蔽功效可能会被用户错误使用,从而导致页面的不规则突显。