動態

詳情 返回 返回

【招商銀行-掌上生活-運行H5頁面】JS-SDK及其特有schema - 動態 詳情

掌上生活是一個比較先進的銀行App,不能單純當做瀏覽器來處理,其有專門提供的JS-SDK供調用
JS-SDK: https://open.cmbchina.com/Pla...

如果不想引入這個庫的話,有一些細微但重要的功能可以直接仿寫,比如判斷是否在掌上生活中,就是通過正則匹配UA判斷的

判斷是否在掌上生活中:/cmblife/.test(ua);

在該App內想要喚起美團,也不能直接使用常規的方法,而是必須通過其特有的schema

在掌上生活中喚起美團並打開指定H5頁面:cmblife://web/startApp/imeituan?uri=imeituan%3A%2F%2Fwww.meituan.com%2Fweb%3Furl%3Dhttps%253A%252F%252Fdpurl.cn%252Fn%252FVKV1ld8

其中後面的部分為imeituan://www.meituan.com/web?url=encodeURI(url)格式的再編碼,也就是咱們內部自己的標準,關鍵就是前面cmblife://web/startApp/imeituan?uri=的部分必須要寫對

關於喚起美團並打開指定頁面,值得注意的是,掌上生活安卓現在是有BUG的,打開的頁面url本身不能有&號,不然會出現問題,也就意味着url不能攜帶一個以上的參數。我們的解決方案是通過轉成重定向的短鏈來解決,平台短鏈服務地址:http://infoplatform.dper.com/...

如果實在需要傳多參數,可以考慮把所有參數都弄成一個轉碼後的JSON對象,然後設置唯一的參數進行傳遞

JS-SDK中也提供了在掌上生活中喚起App的方法,不過如果不想引入的話,也可以考慮自己寫。和常規喚起方法不太一樣的是,不用區分IOS和安卓,均使用iframe的方式即可,事實上因為其UA是定製化過的,想判斷平台可能也會存在一些問題

想用掌上生活的線上包打開指定url的頁面,需要用到cmblife://go?url=web&next=&version=v2 注意next參數需要放的是encodeURI編碼後的頁面url。因為涉及到安全問題,所以打開的頁面鏈接必須行方配置白名單才可以使用,需要和行方溝通協商

如果頁面想要關閉自身,可以使用cmblife://web/close鏈接,當前安卓版有BUG可能導致無法正確關閉,但這是他們應該解決的問題

Add a new 評論

Some HTML is okay.