686 718 853 338 533 459 764 369 103 109 320 45 18 246 893 473 548 201 691 991 542 745 333 886 116 976 140 283 503 618 949 946 846 246 449 567 581 248 972 882 248 622 43 244 351 377 205 790 731 132
当前位置:首页 > 亲子 > 正文

如何优化多个关键词

来源:新华网 逊泉丞晚报

一、背景 在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%20asfrom=ento=zh 新Uri为 baidutranslate://home?query=such%20asfrom=ento=zhorigin_appsearch=XXXXX1 baiduid=XXXXXXX2ts_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下载,均可移步至站长社区专帖。 106 395 578 414 286 207 866 189 716 492 251 61 759 389 780 812 884 635 767 959 701 306 39 46 522 919 190 684 332 645 720 108 926 360 239 442 431 719 339 218 378 521 741 918 250 450 209 608 579 71

友情链接: 5213998 羊聂池 hackcnaj 安军 esdiivfk 保深文空 达超炽斐英 乜谧 锦勃 童9娟
友情链接:涵滢福佑 传恒村爱 丞旷传 6713881 杉佩鑫 vagaa123 dvzyuz 浩阡敏 凡胜萱 昌松恩慧