百度APP調(diào)起SDK詳細(xì)設(shè)計(jì)標(biāo)準(zhǔn)文檔

2020-08-23    分類: 網(wǎng)站建設(shè)

一、背景

在Android和IOS的設(shè)備上的某些瀏覽器,可以通過(guò)deeplink的鏈接調(diào)起相應(yīng)的App,調(diào)起App之后,需要對(duì)調(diào)起的時(shí)間長(zhǎng)度進(jìn)行統(tǒng)計(jì),以及從搜索結(jié)果頁(yè)到App內(nèi)的用戶在調(diào)起后在App中的停留時(shí)間,并通過(guò)這些統(tǒng)計(jì)數(shù)據(jù)來(lái)分析,從搜索結(jié)果分發(fā)的流量是否能夠給用戶帶來(lái)更好的體驗(yàn)。

二、調(diào)起的流程

調(diào)起的整個(gè)過(guò)程簡(jiǎn)單的來(lái)說(shuō),就是從網(wǎng)頁(yè)中點(diǎn)擊調(diào)起的按鈕,然后打開(kāi)對(duì)應(yīng)的App。

1、前端頁(yè)面中,將點(diǎn)擊的Url設(shè)置成調(diào)起的Uri;

2、打開(kāi)對(duì)應(yīng)的應(yīng)用,應(yīng)用解析相應(yīng)的調(diào)起Uri參數(shù);

3、SDK獲取調(diào)起的統(tǒng)計(jì)參數(shù),SDK發(fā)送統(tǒng)計(jì)字段。


三、SDK設(shè)計(jì)


四、SDK的功能

產(chǎn)品的需求是統(tǒng)計(jì)App從網(wǎng)頁(yè)中點(diǎn)擊到App打開(kāi)的調(diào)起時(shí)間,以及調(diào)起之后用戶在App中停留的時(shí)間。SDK的功能是統(tǒng)計(jì)調(diào)起時(shí)間和用戶在調(diào)起的App中的停留時(shí)間。

調(diào)起時(shí)間的實(shí)現(xiàn)方式和計(jì)算規(guī)則。用戶點(diǎn)擊Web頁(yè)面中的按鈕,生成一個(gè)時(shí)間戳,App打開(kāi)后,將相應(yīng)的Web的時(shí)間戳通過(guò)Uri參數(shù)的形式帶入到App中,并解析,同時(shí)生成一個(gè)當(dāng)前的系統(tǒng)時(shí)間戳,兩者的差值即為調(diào)起時(shí)長(zhǎng)。

調(diào)起時(shí)長(zhǎng) = App打開(kāi)時(shí)間戳— 網(wǎng)頁(yè)上鏈接點(diǎn)擊時(shí)間戳

App中的停留時(shí)間的實(shí)現(xiàn)方式和計(jì)算規(guī)則。停留的截止點(diǎn)存在兩種情況,一種是App退出了,一種情況是App被用戶切換到后臺(tái)了,無(wú)論哪種情況,會(huì)在這兩個(gè)時(shí)間點(diǎn)中選擇一個(gè)截止時(shí)間點(diǎn)。

停留時(shí)長(zhǎng) = App到后臺(tái)或者退出的時(shí)間— App打開(kāi)的時(shí)間戳。

五、SDK的兼容性

SDK在設(shè)計(jì)的過(guò)程中已經(jīng)考慮了對(duì)現(xiàn)有的調(diào)起生態(tài)的兼容,部分應(yīng)用已經(jīng)有自定義的Scheme,SDK不會(huì)改變現(xiàn)有的調(diào)起的Scheme,與Scheme無(wú)關(guān)。SDK是通過(guò)在現(xiàn)有的應(yīng)用的Scheme后添加參數(shù)的方式新增字段來(lái)處理,理論上應(yīng)用開(kāi)發(fā)者通過(guò)提取data中的值就可以實(shí)現(xiàn)對(duì)有沒(méi)有新增參數(shù)進(jìn)行兼容,但部分開(kāi)發(fā)者存在代碼中的hardcode,或者考慮不全等問(wèn)題,因此新增參數(shù)也需要考慮新舊版本的兼容性。

應(yīng)用中已經(jīng)在manifest中注冊(cè)的Scheme,不會(huì)新增或者改變已有的調(diào)起Scheme,如下samplecode:

//產(chǎn)品線保持不變

android:host="hybrid"/>

為了更好的突出代碼重點(diǎn),例圖如下:


App調(diào)起后,請(qǐng)求中會(huì)新增調(diào)起參數(shù),需要考慮到對(duì)新增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會(huì)忽略Scheme的改變或者不一致帶來(lái)的變化,會(huì)將該部分的兼容性處理放在前端進(jìn)行,從而保證SDK在盡可能大的范圍內(nèi)對(duì)現(xiàn)有的App的Scheme進(jìn)行兼容。

cookie + timespam,timespam本身也要用于調(diào)起時(shí)長(zhǎng)的處理;

pv-id,沿用百度搜索現(xiàn)有的處理方式。

單用戶單次點(diǎn)擊的區(qū)分

Web的進(jìn)程空間和App的進(jìn)程空間是獨(dú)立的,如何將Web中的單個(gè)用戶的單次點(diǎn)擊和App中的單個(gè)用戶的該次調(diào)起行為進(jìn)行統(tǒng)一是SDK需要考慮的一個(gè)設(shè)計(jì)點(diǎn)。目前的單個(gè)用戶的通過(guò)cookie進(jìn)行區(qū)分,多瀏覽器的多cookie,默認(rèn)當(dāng)做多個(gè)用戶進(jìn)行區(qū)分,單個(gè)用戶的單次點(diǎn)擊通過(guò)點(diǎn)擊的timespam進(jìn)行區(qū)分。但搜索本身有單個(gè)用戶的單次點(diǎn)擊的統(tǒng)計(jì)字段pv-id,因此,前端在擴(kuò)展字段中傳入pv-id也是支持的。那么整體來(lái)說(shuō),有兩種區(qū)分辦法:

1. cookie + timespam,timespam本身也要用于調(diào)起時(shí)長(zhǎng)的處理;

2. pv-id,沿用百度搜索現(xiàn)有的處理方式。

六、防作弊策略

目前SDK設(shè)計(jì)上,充分考慮可能出現(xiàn)的作弊場(chǎng)景,依托成熟的商業(yè)化反作弊策略,完成了對(duì)于作弊行為的監(jiān)控。

監(jiān)控到異常情況,會(huì)根據(jù)相關(guān)數(shù)據(jù)進(jìn)行追查,確認(rèn)如果存在作弊行為,將會(huì)進(jìn)行嚴(yán)肅處理。

七、Android SDK接入方法

1.在工程目錄下導(dǎo)入appsearch-android-SDK.jar。

2. 在網(wǎng)頁(yè)鏈接調(diào)用App的Activity文件下添加

八、IOS SDK接入方法

1.獲取SDK:SDK包含libappsearch.a靜態(tài)庫(kù)與BaiDuAppSearch.h頭文件

2.將libappsearch.a和BaiDuAppSearch.h拷貝到工程目錄下

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

4.查看項(xiàng)目->build phase->link binary with libraries->是否存在libappsearch.a的依賴

如果不存在,請(qǐng)點(diǎn)擊左下角+號(hào)并且添加靜態(tài)鏈接庫(kù)依賴

5.在UiApplication的委派對(duì)象(AppDelegate)中復(fù)寫openURL和applicationDidEnterBackground方法并在其內(nèi)添加相關(guān)的SDK代碼

九、百度APP調(diào)起SDK介紹及code下載地址

Android SDK和iOS SDK code下載,均可移步至站長(zhǎng)社區(qū)專帖。

本文題目:百度APP調(diào)起SDK詳細(xì)設(shè)計(jì)標(biāo)準(zhǔn)文檔
標(biāo)題鏈接:http://www.muchs.cn/news5/85505.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、定制開(kāi)發(fā)、小程序開(kāi)發(fā)網(wǎng)站營(yíng)銷、網(wǎng)站排名、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站