APP開發(fā)關(guān)于持續(xù)登陸狀態(tài)利用賬號和密碼實現(xiàn)的方法與代碼,APP登錄成功后,每次發(fā)送請求時都把賬號和密碼也發(fā)送給服務(wù)器,服務(wù)器每次收到請求都要驗證賬號和密碼。深圳APP開發(fā)公司提示如果用戶沒有登錄或已注銷,發(fā)送請求時就不會把賬號和密碼發(fā)送給服務(wù)器。
例如,賬號是aaaa,密碼是123abc,登錄成功后,APP后續(xù)發(fā)送請求時,可按如下形式:
{
"version":1.0,
"authCode":"070cb3abda10fa1d50e4b0c2b71ac561",//"aaaa+123abc"的MD5數(shù)值"
params":{
"categoryId":1,
"offset":0,
"limit":10
}
}服務(wù)器記錄處于登錄狀態(tài)的賬號和密碼的MD5數(shù)值,與APP端上傳的數(shù)值進行比較,判斷賬號和密碼是否有效。
APP開發(fā)關(guān)于數(shù)據(jù)同步解決方案
1.文件的同步
通常圖片都需要在APP端做緩存處理,所以從服務(wù)器返回圖片鏈接的時候,一定要同時返回圖片最新修改的時間戳。APP將本地存儲圖片的時間戳和從服務(wù)器獲取的時間戳進行對比,判斷是否需要更新本地緩存的圖片。服務(wù)器返回一個“modification_time”字段,用于表示圖片的修改時間,如下所示。
{
"image":{
"modification_time":1525065977
"image_url":"http://www.test.com/image/test.jpg"
}
}
對于其余類型的數(shù)據(jù)文件,可以用時間戳,也可以用版本號作為是否更新的依據(jù),而且最好把版本號或時間戳保存在數(shù)據(jù)文件里。在保存地址數(shù)據(jù)的JSON格式文件里,使用version字段表示版本號,如圖3-4所示。
圖3-4當(dāng)前文件的版本號為1.0。
用戶在使用APP時,如果遇到和這個數(shù)據(jù)文件相關(guān)的問題,打開文件后,根據(jù)版本號就很容易知道與最新的數(shù)據(jù)文件有什么不同,便于解決問題。對于一些二進制文件,不方便在文件數(shù)據(jù)里增加版本號或時間戳,就只能像圖片文件一樣,服務(wù)器返回給APP特定的字段表示版本號或修改時間。APP端除了保存文件外,還需要保存這個字段的數(shù)值。
APP開發(fā)關(guān)于地址數(shù)據(jù)的同步解決方法
由于中國行政區(qū)域地址數(shù)據(jù)比較大,做成JSON格式文件有400多K,壓縮后也有30多K,用戶使用APP編輯地址數(shù)據(jù)時,如每次都從服務(wù)器下載這些數(shù)據(jù),比較耗費數(shù)據(jù)流量、數(shù)據(jù)下載時間和解析時間,會導(dǎo)致客戶體驗不好,有以下4種解決方案。
(1)在服務(wù)器和APP中都內(nèi)置一個包含地址數(shù)據(jù)的文件,在地址編輯界面會先獲取服務(wù)器端的地址數(shù)據(jù)文件版本號或時間戳,并和本地數(shù)據(jù)文件的版本號或時間戳進行比較,如果一致就啟用本地的文件,如果不一致就從服務(wù)器下載新的文件并覆蓋本地的文件。畢竟地址數(shù)據(jù)不會經(jīng)常變更,這樣就大大減少了從服務(wù)器獲取數(shù)據(jù)的次數(shù),從而改善用戶體驗。為了進一步減少傳輸?shù)臄?shù)據(jù)量,還可以采用增量更新機制。服務(wù)器每次只把有變動的地址數(shù)據(jù)發(fā)給APP,并在每個有變動的地址數(shù)據(jù)中增加一個字段,用于區(qū)別數(shù)據(jù)變動屬于增、刪和改中的哪種情況。APP根據(jù)數(shù)據(jù)變動的類型,處理存放在本地的數(shù)據(jù)。
(2)如果APP支持定位功能或在首頁讓用戶選擇當(dāng)前所在的地區(qū),如自動定位到上海,或用戶選擇了上海,則在地址編輯界面從服務(wù)器只獲取上海市的二、三級地址數(shù)據(jù),這樣從服務(wù)器獲取的數(shù)據(jù)量就很小了,而且可以始終獲取到最新數(shù)據(jù)。
(3)可以根據(jù)用戶當(dāng)前設(shè)備的IP地址判斷用戶所在的地區(qū)。在地址編輯界面,從服務(wù)器只獲取用戶所在地區(qū)的二、三級地址數(shù)據(jù),那么從服務(wù)器獲取的數(shù)據(jù)量就很小了,還可以始終獲取到最新數(shù)據(jù)。
(4)因為直轄市、省和自治區(qū)這些一級地址區(qū)域的名稱基本不會
改變,所以可以把這些數(shù)據(jù)內(nèi)置在APP中。在地址編輯界面,首先讓用戶選擇一級地址區(qū)域,然后再從服務(wù)器獲取所選區(qū)域的二、三級地址數(shù)據(jù),那么從服務(wù)器獲取的數(shù)據(jù)量就很小了,還可以始終獲取到最新數(shù)據(jù)。好了,APP開發(fā)公司本文關(guān)于“APP開發(fā)關(guān)于登陸狀態(tài)保持與數(shù)據(jù)同步解決方案”的知識就分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。