Stark Wong 的個人開發網站
 


 此頁面:更新於 2018 年 1 月 15 日 00 時 30 分 00 秒,頁面處理需時 0.0023 秒
 網站內容版權所有(C)Stark Wong。頁面(不包括檔案)可自由連結。網站系統版本 1.90-AngularJSBase (2015/9/27)
 
網站地圖

書籍掃瞄程式線上功能恢復

待流動巴士版圖的離站時間查詢功能恢復正常後,現在亦把書籍掃瞄程式的線上查詢功能暫時修好。由於該程式所使用的網路程式庫不同,該程式庫可支援網址轉向,也就是說不需要進行程式更新已經可以自動回復正常。

WCHost 在用了那麼多年後終於給我充足的不續期理由,該開始留意還有哪家好用的網站託管商了...


撰寫於:2019/3/7 22:02:21 / 回應:0
正在讀取回響內容...
流動巴士版圖緊急更新

目前的流動巴士版圖由昨天開始發現無法進行離站時間查詢,經調查後發現所用的伺服器被封鎖了外出連線導致無法向第三方來源查詢時間。雖然問題已於晚上進行緊急分流修正,但由於程式本身不支援重新指向回應導致修改無效,故趕緊將自動離站查詢功能完成後上載更新版本。

Android 流動巴士版圖新版本有以下修改:

  1. 新增自動離站時間查詢功能,可讓使用者設定每天特定時間於特定位置查詢巴士離站時間,不需要每天重覆做路線搜尋動作
  2. 修正離站時間查詢功能,原因為上面所示,但注意現在的分流方法不能保證穩定性,長遠需要尋找其他方法

至於 iOS 版本由於目前的程式碼並不符合 App Store 審核要求,故暫時不作修改,看看伺服器會不會恢復正常再作決定。

除了流動巴士版圖外,書籍掃瞄程式目前也無法錄入新書資料,但由於後台比較複雜並有緩存層,目前未有決定該如何解決。


撰寫於:2019/3/2 16:05:02 / 回應:0
正在讀取回響內容...
流動巴士版圖資料更新恢復

站長的電腦目前已經修復完成,流動巴士版圖的資料庫亦已經恢復更新。

不過似乎發現新巴/城巴的轉乘資料無法顯示,這個會再作修正。


撰寫於:2019/1/21 23:42:23 / 回應:0
正在讀取回響內容...
流動巴士版圖資料庫暫緩更新
由於站長電腦故障,流動巴士版圖(所有版本)資料庫暫時無法更新,預計星期二晚恢復。
撰寫於:2019/1/20 19:13:52 / 回應已關閉
正在讀取回響內容...
流動巴士版圖 NG iOS 版本重新上架 / 最近動態

由於收到一些網友查詢有關流動巴士版圖 NG iOS 版本無法在 App Store 中找到,而且新巴/城巴 App 最近也跟隨九巴 App 一樣加上煩擾式的廣告,故決定將流動巴士版圖 iOS 版重新上架,不過暫時不會進行任何程式更新 (資料庫仍可更新)。

最近一直在開發及測試 Android 版本流動巴士版圖透過鬧鐘及 Geofence 進行定時自動離站時間通知功能,不過似乎由於 Android 系統目前增添了不少省電功能,要在不使用 Wake Lock 之下穩定操作似乎有不少難度...

目前所遇到的問題包括 (可能是 Android 問題,也有可能是 Samsung 的問題):

  1. 鬧鐘觸發時間不準確,即使用 setExact() / setRepeating() 也有可能延遲達數分鐘
  2. Geofence.Builder 裡的 setTransitionTypes() 包含 GEOFENCE_TRANSITION_DWELL 旗標時,DWELL 通知觸發一次後就不再觸發,無論 LoiteringDelay 和 NotificationResponsiveness 的值為何
  3. FusedLocationProvider 有時候座標會嚴重偏移到即使設定距離 100 米也無法觸發 GEOFENCE_TRANSITION_ENTER
  4. 即使 GEOFENCE_TRANSITION_ENTER 正常,有時候 GEOFENCE_TRANSITION_EXIT 觸發距離超過 500 米
  5. 綜合 Stackoverflow 裡建議手動強制更新定位資訊讓 Geofence 較準確的方法似乎對 Android 8 無效
  6. BroadcastReceiver 裡使用 JobService (非 JobIntentService) 好像沒有加 Wake Lock,令手機關屏時所排定的 JobService 要到屏幕打開時才開始

由於那麼多問題,這個功能是否能推出也是一個問題...OTL


撰寫於:2018/12/3 00:31:22 / 回應:0
正在讀取回響內容...
流動巴士版圖 - 離站時間更新

流動巴士版圖的離站時間功能對於聯營線一直只支援九巴時間的離站時間預報,今天改進了這項支援,現在無論是純九巴/純新巴城巴或混合班次都可以正常顯示。如同之前的更新一樣,這次更新並不需要更新軟件版本,只需要更新到最新的資料庫即可 (無論是否 NG 版本均適用)。若發現有路線因這項修改導致資料不正常請電郵告知並附上有問題的路線號,謝謝。


撰寫於:2018/9/23 23:37:11 / 回應:0
正在讀取回響內容...
有關流動巴士版圖新巴/城巴部份路線離站時間不準確問題

最近發現流動巴士版圖中新巴和城巴部份路線的離站時間間歇不準確,經查證後發現有問題的路線方向(即上下行)與其他路線不同,現已在伺服器端進行修正,用戶只需要將程式的資料庫更新到最新版本即可解決此問題。

另外發現新巴 api6 的請求加了 syscode2 參數,不過老實說,門鎖是不能阻擋有心人的,再多的驗證參數也只是貓捉老鼠的遊戲,與其要防偷用 API 的人何不大方公開 API,或用改 API 的資源來改善服務吧...

(以下內容只是 PoC,已省略某些部份以免有人直接抄來用)
syscode2=AES_128_CBC(內容,密匙=siwmytnwinfo****, IV=a20330efd3f6060e)
內容=時間碼+SHA256(時間碼+siwmytnw+亂數)+亂數
時間碼=時間戳的索引#2,9,4,6,3,0,*,*,*,*


撰寫於:2018/8/28 23:40:10 / 回應:0
正在讀取回響內容...
流動巴士版圖NG更新

看著電郵裡的二十多個 Firebase Crashlytics 嚴重錯誤報告終於忍不住了,今天把大部份錯誤都修正了。Firebase Crashlytics 配合 Firebase Analytics 使用起來非常方便,透過在不同操作時以 FA 記錄用戶的操作內容 (匿名),可以在錯誤報告中呈現用戶導致出錯的操作方式,對除錯非常有用,這個是單獨使用 Crashlytics 時所無法做到的。可惜我發現有些地方我所作的記錄不清楚,否則就更好用了...


撰寫於:2018/8/5 01:13:56 / 回應:0
正在讀取回響內容...
流動巴士版圖 NG 更新

流動巴士版圖已經有一段時間沒有更新,但其實開發工作還是有緩慢地進行的,這次的更新帶來了一系列的修改,雖然外表上看來沒什麼分別,但內部的更新則不少:

  • Target SDK 26 + Play Service 版本更新
    Google 今年底就會強制所有新提交或更新的軟件都必須對應近期的 API 版本,所以流動巴士版圖 NG 這次已提升 Taget SDK 至 26, 而此提升亦導致所有 Google 類的程式庫 (Play Services 及 Support Library) 均需要作出相應提升,並需要修改因 SDK 版本提升至導致的相容問題
  • 引入 Firebase 平台
    流動巴士版圖本來只有使用 AdMob 及 Google Analytics,這次更新已分別修改成使用支援 Firebase 的 AdMob 及以 Firebase Analytics 取代 Google Analytics,另外亦新加入了以下的 Firebase 元件:

    Firebase Crashlytics
    加入 Firebase Crashlytics 可以讓開發者收到用戶使用軟件時出現問題的資料,長遠可有效改善穩定。

    Firebase Remote Config
    加入 Firebase Remote Config 可以讓軟件配備簡單的 AMS 支援,目前流動巴士版圖所支援的遠端設定包括特定平台及版本的強制更新及更新訊息,以及將本來儲存在小熊工作室伺服器的資料庫更新資料透過 Firebase Remote Config 提供。

    Firebase Storage
    資料庫更新後台目前會在建立更新資料庫後上傳至 Firebase Storage 並建立連結下載連結以便透過 Firebase Remote Config 提供給流動巴士版圖使用。不過這個修改目前只作測試之用,主要是要看免費的流量是否足夠支持,如果不足夠可能只會透過 Firebase Remote Config 作為分流使用 (Firebase Remote Config 可以設定某個數值只套用於某個百分比的請求)。
  • 以 Google Drive 進行授權轉移
    目前曾經捐款的用戶可以聯絡開發者將去廣告的授權轉移至其他裝置,雖然這不是花時間的操作,但始終還是需要開發者手動進行轉移。新版本的流動巴士版圖 NG 可支援在已授權的裝置上將授權儲存在用戶自己的 Google Drive 中,當以後需要授權轉移時只需要在新的裝置中綁定到有授權的 Google 帳號,就可以自動進行授權轉移,毋需再發送電郵給開發者。不過需注意下面幾點:

    - 儲存授權只能在已授權 (即不顯示廣告) 的裝置上進行,如果授權已無效時需先通知開發者轉移授權後方可進行儲存授權
    - 儲存後的授權仍然只對一個裝置有效,若在未授權的裝置上綁定有授權的 Google 帳號會要求授權轉移
    - 當進行授權轉移後,原裝置的授權會被撤銷,並會在下一次啟動程式時提示及恢復廣告顯示
    - 當儲存授權後,用戶不可以再聯絡開發者轉移授權,否則儲存在 Google 帳號的授權會變成無效
  • 改進自動更新機制
    以前的自動更新只有自動檢查而不會自動下載,這次更新則改成可自動更新。而提示有可用更新的對話框則改為放在螢幕下方的提示條,這樣可讓用戶在知道有更新的情況下不打斷目前的操作,甚至可以讓用戶先行下載資料庫 (或自動更新後不自動重新啟動),直至用戶覺得適合的時間才重新啟動程式以套用更新。
  • 兩項小修正
    此版本亦修正了兩個地圖功能的問題

    - 在地圖中按下另一個停站的時候,頂端的目前停站提示/選站按鈕並沒有一併更新
    - 在主介面停站清單中直接選擇街景功能,返回時應直接回到主介面而不是回到地圖介面
    - 在地圖使用街景功能返回後地圖移動嚴重卡頓

由於這次變動較大,目前只釋出於流動巴士版圖 NG 版本,至於傳統版本的更新時間則視乎之後的功能更新數量及進度而定。

==================================

另外,這裡也列出幾個最近有網友查詢的問題及其他資料:

  • 下一個預定更新的程式
    目前正在修復 MagicTV 串流播放器,雖然那個程式已經沒什麼實際用途,但其所用的程式庫實在過舊,需要修復一下 (目前免費版已因穩定性問題被下架)
  • 無法在 App Store 中找到 iOS 版本的流動巴士版圖
    由於多次提交新軟件失敗,而流動巴士版圖也被迫縮減功能,所以目前已經沒有再為蘋果開發者資格續期。已安裝程式的用戶仍可繼續使用 (資料庫如常更新),但若刪除後則無法再重新下載
  • 流動巴士版圖的離站時間不準確
    這個不是流動巴士版圖本身的問題,當你發現班次不準確的時候即使你開啟巴士公司的官方應用程式也同樣不準確。既然官方資料也不準確,我又如何比他們更準確?
  • 關於新的電話攔截程式
    在經過評估及一直使用小鴨幹線的經驗,我目前不會考慮開始開發

    - 現在一些廠商 (例如三星) 自已也有問題電話提示功能
    - 自從我的手機升級到 Android 8.0 後,小鴨幹線似乎很多時候攔截失敗 (但服務有一直執行),增加一點不確定性
    - Google 宣佈 Android 9 開始會封鎖非公開 API,而電話攔截主要依賴非公開 API,所以再增加不確定性
    - 政府開始研究管制真人電話推銷,攔截程式的需要性可能降低

撰寫於:2018/7/22 13:35:44 / 回應:0
正在讀取回響內容...
流動巴士版圖資料來源更新

今天更新的流動巴士版圖資料庫對於九巴的資料作出了調整,由於九巴會在無公開發佈下調整班次資料,而且巴士大典上的資料有格式不一致的問題,所以班次資料決定回去用官方資料,因為官方資料在每次更新來源資料時都是所有路線一併更新的,所以不會出現班次與官方資料不同步的問題。至於轉乘資料則繼續使用巴士大典的資料。

另外,今天的資料庫更新亦啟用了新嶼巴的官方離站時間資料,顯示的班次時間應與官方手機應用程式一致,同時亦將九巴及新巴的後備資料來源正式關閉,即若無法從官方來源取得離站時間時會直接顯示沒有資訊而不會從後備資料來源取得離站時間,因為後備來源的預估時間與實際時間相差很大,沒有參考價值。


撰寫於:2018/2/26 00:31:20 / 回應:0
正在讀取回響內容...
其他較舊內容請移步至舊部落格版面