zoukankan      html  css  js  c++  java
  • iOS证书发布推送相关知识科普

    账号种类

    1.企业账号 299美刀 -- 可以自己发布App,不能发布到App Store
    2.个人/公司账号 99美刀 -- 可以发布到App Store, 不可以自己发布不限安装数量的App
    
    个人账号与公司账号的唯一区别是,公司账号可以关联多个子账号方便多人同时开发。其他功能一样
    

    发布渠道

    1.通过企业账号创建“企业证书” 自己发布
    2.使用 个人/公司账号发布到App Store 
    2.使用 个人/公司账号创建“Adhoc证书”自己发布, 但是只有100台已注册设备才能安装 
    

    证书、appid、账号的关系

    1.一个账号可以对应2个发布证书
    2.一个证书可以对应N个appid,证书对应一个唯一账号
    3.appid就是一个app的唯一标识。一个appid对应一个证书,appid全网唯一,一旦生成,其他所有账号都无法生成和使用。
    

    蒲公英等平台原理解密

    发布只有上述三种情况,一般前两种用于发布,第三种用于小范围测试。蒲公英的发布也是一样的原理。目前市面上有2种方案
    1.企业签名
    2.超级签名
    
    • 企业签名

      1.使用企业证书生成新的id
      2.重签上传的app
      3.发布
      
      这个原理就是上面发布渠道的  第一种方法
      
      弊端:这种平台型的服务,企业账号会被滥用,会签很多app,极容易被封号,一旦封号,所有的app都不能安装和不能运行
      
    • 超级签名

      这种方案实施起来比较复杂,限制比较也比较大,后面会详细说原因,先说下超级签名怎么实现的。
      1.准备N个 “个人证书/公司证书”的账号。
      2.使用N个账号生成N个appid。
      3.将设备注册账号A中,一个账号只能注册100台设备
      4.使用账号A的证书重签 app,下发重签后的app到设备
      
      优势:不容易被封号
      弊端:
      1.所有跟appid相关的功能都不能正常使用,比如 推送,百度地图等,具体原因后面细说
      2.账号太多不容易维护,维护成本很大
      

    推送服务

    • 原理

      1.每一台iPhone iPad设备都有一个后台进程与苹果的服务器APNS有个长连接
      2.“我们的服务器”发送消息和以及appid和推送凭证信息给APNS
      3.APNS把消息传递给所有的iOS设备,触发推送
      4.设备根据appid判断具体哪个app响应。
      
      也就是appid作为唯一应用标识 贯穿始终
      
    • 推送凭证

      使用APNS推送服务必须要有推送凭证用于校验,一个账号可以对应多个推送凭证,所有的appid都可以关联任意一个推送凭证。
      
    • 极光推送

      极光推送做了什么事情呢,就是负责做上面的第2步做的事情。再此基础上,添加设备管理,用户管理等服务。
      1.为每个appid创建一个项目
      2.为每个项目配置推送凭证,一但设置就不允许改动
      3.我们的服务器调用 极光的接口
      4.极光执行上述原理中的第二步,将推送凭证和appid发送给APNS
      

    再说超级签名弊端

    超级签名实际上就是N个账号创建N个appid ,分发到N*100台设备上的方案。
    假设我们的安装用户有2000的场景
    1.需要20个“个人/公司”的账号,生成20个appid。
    2.那么我们使用极光服务需要搭建20个项目
    3.发送一条推送消息,极光需要推送20次才能覆盖到全部设备。
    
    然而,这里的第2步,我们就进行不下去了,因为,我们无法知道蒲公英那边账号,也就无法创建推送凭证。也就是说,推送功能基本GG。
    
    那么有人要说了,那我们自己搞个超级签名平台,自己搞个推送平台不就解决问题了么?嗯,想法是很好的,但是问题是,划不划算
    
    1.一个账号99美刀一年,2万个用户,就需要200个账号,需要20000美刀/年
    2.账号的维护成本,200个账号,一个人维护?那显然是不可能的。我们公司总共就五六个iOS开发,呵呵
    3.服务器成本,搞这些自动化是需要大量服务器的,又是一笔钱
    4.推送等appid相关服务维护,搞成超级签名还要支持推送的话,这个成本,再次呵呵
    5.自己搞推送平台,同样的是成本问题,再再再次呵呵
    
    so
    钱还是用到刀刃上,省着用给我们多发点工资和年终就好了。
    
  • 相关阅读:
    unix/linux中图形界面那些事
    vmware虚拟机工具vmware tools介绍及安装排错
    debian软件源source.list文件格式说明
    Python 基础学习 总结篇
    Git 学习(八)其他
    Git 学习(七)标签管理
    Git 学习(六)分支管理
    Git 学习(五)远程仓库
    Git 学习(四)操作修改和版本穿梭
    页面元素定位 XPath 简介
  • 原文地址:https://www.cnblogs.com/xiongwj0910/p/11655125.html
Copyright © 2011-2022 走看看