百度APP調(diào)起SDK詳細設(shè)計標準文檔

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

一、背景

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

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

調(diào)起的整個過程簡單的來說,就是從網(wǎng)頁中點擊調(diào)起的按鈕,然后打開對應(yīng)的App。

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

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

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


三、SDK設(shè)計


四、SDK的功能

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

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

調(diào)起時長 = App打開時間戳— 網(wǎng)頁上鏈接點擊時間戳

App中的停留時間的實現(xiàn)方式和計算規(guī)則。停留的截止點存在兩種情況,一種是App退出了,一種情況是App被用戶切換到后臺了,無論哪種情況,會在這兩個時間點中選擇一個截止時間點。

停留時長 = App到后臺或者退出的時間— App打開的時間戳。

五、SDK的兼容性

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

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

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

android:host="hybrid"/>

為了更好的突出代碼重點,例圖如下:


App調(diào)起后,請求中會新增調(diào)起參數(shù),需要考慮到對新增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在盡可能大的范圍內(nèi)對現(xiàn)有的App的Scheme進行兼容。

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

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

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

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

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

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

六、防作弊策略

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

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

七、Android SDK接入方法

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

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

八、IOS SDK接入方法

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

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

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

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

如果不存在,請點擊左下角+號并且添加靜態(tài)鏈接庫依賴

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

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

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

分享題目:百度APP調(diào)起SDK詳細設(shè)計標準文檔
文章位置:http://www.bm7419.com/news/85505.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、自適應(yīng)網(wǎng)站、Google網(wǎng)站營銷、微信小程序、定制開發(fā)

廣告

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

網(wǎng)站優(yōu)化排名