当前位置:首页百度APP调起SDK详细设计标准文档 举报文章

百度APP调起SDK详细设计标准文档

作者:admin    来源:用户投稿    时间:2016.1.14   

  一、背景

  在Android和IOS的设备上的某些浏览器,可以通过deeplink的链接调起相应的App,调起App之后,需要对调起的时间长度进行统计,以及从搜索结果页到App内的用户在调起后在App中的停留时间,并通过这些统计数据来分析,从搜索结果分发的流量是否能够给用户带来更好的体验。

  二、调起的流程

  调起的整个过程简单的来说,就是从网页中点击调起的按钮,然后打开对应的App。

  1、前端页面中,将点击的Url设置成调起的Uri;

  2、打开对应的应用,应用解析相应的调起Uri参数;

  3、SDK获取调起的统计参数,SDK发送统计字段。

  

  三、SDK设计

  

  四、SDK的功能

  产品的需求是统计App从网页中点击到App打开的调起时间,以及调起之后用户在App中停留的时间。SDK的功能是统计调起时间和用户在调起的App中的停留时间。

  调起时间的实现方式和计算规则。用户点击Web页面中的按钮,生成一个时间戳,App打开后,将相应的Web的时间戳通过Uri参数的形式带入到App中,并解析,同时生成一个当前的系统时间戳,两者的差值即为调起时长。

  调起时长 = App打开时间戳— 网页上链接点击时间戳

  App中的停留时间的实现方式和计算规则。停留的截止点存在两种情况,一种是App退出了,一种情况是App被用户切换到后台了,无论哪种情况,会在这两个时间点中选择一个截止时间点。

  停留时长 = App到后台或者退出的时间— App打开的时间戳。

  五、SDK的兼容性

  SDK在设计的过程中已经考虑了对现有的调起生态的兼容,部分应用已经有自定义的Scheme,SDK不会改变现有的调起的Scheme,与Scheme无关。SDK是通过在现有的应用的Scheme后添加参数的方式新增字段来处理,理论上应用开发者通过提取data中的值就可以实现对有没有新增参数进行兼容,但部分开发者存在代码中的hardcode,或者考虑不全等问题,因此新增参数也需要考虑新旧版本的兼容性。

  应用中已经在manifest中注册的Scheme,不会新增或者改变已有的调起Scheme,如下samplecode:

  //产品线保持不变

  android:host="hybrid"/>

  为了更好的突出代码重点,例图如下:

  

  App调起后,请求中会新增调起参数,需要考虑到对新增Uri的兼容性处理,以百度翻译App为例如下:

  旧Uri为

  baidutranslate://home?query=such%20as&from=en&to=zh

  

  新Uri为

  baidutranslate://home?query=such%20as&from=en&to=zh&origin_appsearch=XXXXX1 &baiduid=XXXXXXX2&ts_appsearch=XXXXX3

  

  SDK会忽略Scheme的改变或者不一致带来的变化,会将该部分的兼容性处理放在前端进行,从而保证SDK在尽可能大的范围内对现有的App的Scheme进行兼容。

  cookie + timespam,timespam本身也要用于调起时长的处理;

  pv-id,沿用百度搜索现有的处理方式。

  单用户单次点击的区分

  Web的进程空间和App的进程空间是独立的,如何将Web中的单个用户的单次点击和App中的单个用户的该次调起行为进行统一是SDK需要考虑的一个设计点。目前的单个用户的通过cookie进行区分,多浏览器的多cookie,默认当做多个用户进行区分,单个用户的单次点击通过点击的timespam进行区分。但搜索本身有单个用户的单次点击的统计字段pv-id,因此,前端在扩展字段中传入pv-id也是支持的。那么整体来说,有两种区分办法:

  1. cookie + timespam,timespam本身也要用于调起时长的处理;

  2. pv-id,沿用百度搜索现有的处理方式。

  六、防作弊策略

  目前SDK设计上,充分考虑可能出现的作弊场景,依托成熟的商业化反作弊策略,完成了对于作弊行为的监控。

  监控到异常情况,会根据相关数据进行追查,确认如果存在作弊行为,将会进行严肃处理。

  七、Android SDK接入方法

  1.在工程目录下导入appsearch-android-SDK.jar。

  2. 在网页链接调用App的Activity文件下添加:...

  import com.baidu.appsearchlib.NASLib;

  ...

  在onCreate()函数中添加函数NASLib.onclient(Contextcontext);

  Demo:

  @Override

  protected void onCreate(Bundle savedInstanceState)

  {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.activity_main);

  ...

  NASLib.onclient(this);

  ...

  }

  为了更好的突出代码重点,例图如下:

  

  八、IOS SDK接入方法

  1.获取SDK:SDK包含libappsearch.a静态库与BaiDuAppSearch.h头文件

  2.将libappsearch.a和BaiDuAppSearch.h拷贝到工程目录下

  

  3.将libappsearch.a和BaiDuAppSearch.h加入工程

  

  

  4.查看项目->build phase->link binary with libraries->是否存在libappsearch.a的依赖

  

  如果不存在,请点击左下角+号并且添加静态链接库依赖

  5.在UiApplication的委派对象(AppDelegate)中复写openURL和applicationDidEnterBackground方法并在其内添加相关的SDK代码

  - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplicationannotation:(id)annotation

  {

  [[BaiDuAppSearch sharedInstance] onClient:[url absoluteString]];

  return YES;

  }

  - (void)ppplicationDidEnterBackground:(UIApplication *)application {

  [[BaiDuAppSearch sharedInstance] onExit];

  }

  为了更好的突出代码重点,例图如下:

  

  九、百度APP调起SDK介绍及code下载地址

  Android SDK和iOS SDK code下载,均可移步至站长社区专帖。

好文打赏,给Ta鼓励
扫一扫用手机阅读本文
Tags:百度  详细  设计  标准  文档  
  • 相关搜索
图片推荐
    你还在为网站外链而发愁吗?手把手教去规划网站外链

    你还在为网站外链而发愁吗?手把手教去规划网站外链

    虽然说在这个以户体验为王的时代,网站的外链在关键词排名当中已经起不到很大的作用了,但是不得不说网站的外链对于一个刚刚上线的新网站来说,不管是在增加网站权重以及引流的的方面上还是具有一定的价值的,所以说
    周鸿祎:地在人失,人地皆失。地失人在,人地皆得

    周鸿祎:地在人失,人地皆失。地失人在,人地皆得

    毛泽东曾经有句著名的话从群众中来,到群众中去。《毛泽东选集》第一卷开首就提出:谁是我们的朋友,谁是我们的敌人,这个问题是革命的首要问题。2010年的夏天,我写了一篇博文,题目是《从用户中来,到用户中去
    打工仔:如何来做微创业

    打工仔:如何来做微创业

    1.  微创业指的是:用微小的成本进行创业,或者在细微的领域进行创业。  这事如何放在十五年前,那是肯定行不通的。  但是现在不一样,网络时代嘛,人力,资源,信息都无缝衔接在这张网中,  而创业,做生
    84 寸的微软平板来了,一台卖 2 万美元

    84 寸的微软平板来了,一台卖 2 万美元

    在中国还买不到  把办公室的电视换成平板?这是微软想要的。但是你想要的吗?  微软做了个超大屏的平板,但进展有点慢。换了一拨儿 CEO,从鲍尔默到纳德拉,84 寸的 Surface Hub 终于定价了
    独家:窝窝上市会引发O2O连锁效应

    独家:窝窝上市会引发O2O连锁效应

    速途网4月9日特评(速途研究院院长 丁道师)北京时间2015年4月8日晚上10点,大部分人开始准备入睡的时候,窝窝没有经过任何宣布忽然就成功的赴美上市,开盘后股价涨涨跌跌,揪住了所有人脆弱的心脏。  
    论乏味的资本主导的互联网创业 不但乏味 而且丑陋

    论乏味的资本主导的互联网创业 不但乏味 而且丑陋

    摘要:但这才是互联网创业,不是吗?研究用户,钻研技术,打磨产品,把握这个行业带给你的机会,不断创造奇迹,而不是融资,融资,融资,然后跟另一个资本恐龙合并,终结竞争。  2012年,程维创办滴滴出行的前
    俏十岁“打脸”央视:否认面膜检测超标

    俏十岁“打脸”央视:否认面膜检测超标

    【亿邦动力网讯】4月11日消息,昨日,央视新闻频道《新闻直播间》栏目对微商面膜的揭露报道引起广泛关注,其中更是直接对思埠、俏十岁两大微商品牌点名。昨晚,俏十岁正式发布了对该报道的回应,称俏十岁是无故躺
    百度网页搜索结果网址分享--SEO人岂能不知

    百度网页搜索结果网址分享--SEO人岂能不知

    废话靠边,先说什么是百度网页搜索结果网址分享?有图有真相    说明:百度自身的产品不能分享、竞价推广的不能分享  大家了解这个的基础上,百度还有一个分享是2012.1.11上线的分享(也叫大拇指),
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面