刚好看到一个有趣的面试题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cyberdak
V2EX    问与答

刚好看到一个有趣的面试题

  •  
  •   cyberdak 2015-10-26 19:37:42 +08:00 3127 次点击
    这是一个创建于 3639 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们公司拥有一批代理商,代理商有一个服务代号(如 020001 ),每个用户注册后需要填写一名代理商服务代号进行绑定。现代理商要求拥有一个独立的二维码下载链接,通过该链接下载 App 后,对应的用户即可绑定对应的代理商,不需要用户自行操作绑定。请根据该需求,设计一种方式提供这个二维码下载链接,使得产品开发维护最简单。

    对于 android ,我能想到的就是系统每次添加新代理商时,脚本生成一个新的 apk 来提供下载。
    但是 ios 似乎没办法(我主要做服务端, ios 不太懂)

    如果代理商根据地域来划分的话,似乎是可行的方案

    10 条回复    2015-10-27 11:10:47 +08:00
    slowgen
        1
    slowgen  
       2015-10-26 22:20:30 +08:00
    想到一个猥琐的方法...
    二维码跳转到 A 页面,A 页面插 flash,flash 获取设备等信息,生成一个 key,接着带着 key 和自身 url 中的代理商代码跳转到 B 页面,B 记录 key 和代理商,然后发送安装包
    然后 app 的注册页用 webview,插 flash,算出那个 key,注册时一起提交,找到厂商代码

    感觉根据代理商搞 n 个安装包不现实,应该是用 html5 或者什么来得到设备信息,然后像上面那样做
    嗯,我也是服务端
    zakokun
        2
    zakokun  
       2015-10-26 22:38:03 +08:00
    这个只能自己填写吧...
    新用户注册的时候要他自己填去吧
    matsuijurina
        3
    matsuijurina  
       2015-10-26 22:55:14 +08:00   2
    本质上,这个问题就是要求让用户通过一个二维码完成两件事: 1 ,获取 App ; 2 ,绑定代理商。
    解决方法:
    自己架设一个短链接服务器,为每个用户生成一个独立的短链接(如 daili.to/s12he),所有的短链接都指向 appstore 的应用下载地址。将独立短链接转为二维码分发给用户。用户扫码后跳转 appstore 下载安装 app ,启动 app 后引导用户再次在 app 内扫描那个二维码,这次直接把短链接内的独立字符串发给服务器,服务器确认新用户已获取 app 登录成功,在后台自动绑定代理商,将代理商信息传回 app ,在客户端完成绑定。

    这样就省去了为每个用户独立生成 App 的麻烦,也没有审核风险。
    matsuijurina
        4
    matsuijurina  
       2015-10-26 22:58:26 +08:00   1
    哦,按照题目要求应该是为每个代理商生成一个独立的短链接,修正下。
    blacktulip
        5
    blacktulip  
       2015-10-26 23:03:04 +08:00
    @matsuijurina 好巧妙的方法,值得学习。
    wy315700
        6
    wy315700  
       2015-10-26 23:14:44 +08:00
    应用宝有个微下载的功能,但是 iOS 还没好办法,
    chairuosen
        7
    chairuosen  
       2015-10-26 23:30:19 +08:00
    不知道 webview 能不能拿 fingerprint
    https://cseweb.ucsd.edu/~hovav/dist/canvas.pdf
    mornlight
        8
    mornlight  
       2015-10-26 23:46:56 +08:00
    @wy315700
    iOS 应该也可以实现的,具体原理我还没去研究,效果是用户通过平台商生成的链接跳到 AppStore 去下载安装后,启动应用时可以知道来源链接。我用的是国外的 TapStream 。
    watzds
        9
    watzds  
       2015-10-27 01:40:58 +08:00 via Android
    用户访问链接,如果已经登录,直接绑定,未登录就让他登录,最后跳转下载 App
    这样很简单啊,行不?
    cyberdak
        10
    cyberdak  
    OP
       2015-10-27 11:10:47 +08:00
    @watzds 理论上,用户是接触 app 之后,再注册
    下载页面只提供下载功能了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4580 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 10:06 PVG 18:06 LAX 03:06 JFK 06:06
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86