國內安卓推送使用最多的就是華為和小米的 push 了,安裝上大同小異,因為我有華為帳號,所以安裝 hms 推送以及 fcm 推送國際 app。
HMSPush#
華為推送(hmspush)應該是目前常用 app 都接入的一個推送,當然了除了微信這個毒瘤。
準備工作#
- hms core (酷安下載即可)
- hmspush (lspoxed 模塊)
- 華為應用市場 app
- lsposed+magisk
- scene (可選,把 hms core 轉換成系統應用)、
- libChecker app (可選,檢查 app 是否適用於華為 push)
配置流程#
- 下載安裝
hms core
和華為應用商店
,更新 app 最好也是在華為應用商店,有些 app 不同的渠道採用的不同的推送。 - 安裝
hmspush
並在lsposed
中啟用模塊,並勾選推薦應用中的系統框架和 HMS Core 兩個應用 - 在 LSPosed 中 HMSPush 作用域中勾選需要利用 hmspush 推送的 app,這步主要是把 app 偽裝成是華為設備在使用,如果用其他的工具偽裝,可以不用配置相關作用域。
- 配置好作用域後重啟手機
- 重啟後打開
hmspush.apk
或者在 LSPosed 中的模塊打開,這時應該能看到需要推送的 app 了,但還是未註冊的狀態,我們需要重啟一兩次 app 來讓其註冊。 - 待註冊成功後,殺死 app 後臺,關掉自啟動權限,即可享受推送了。可以用
qq
來推送,記得打開系統的通知,要不不會彈出通知提醒。 - (可選)用 scene 把 hmscore 轉換成系統應用,可以使有些 app 點擊通知不能進入 app 的 bug,如果有經驗可以把 hmscore 中多餘的活動禁用,不過我使用來看耗電量不多,可以忽略不記,我就沒有動。
FCM 推送#
我們知道大部分的國際 app 是不支持華為推送的,不過除了 hmspush 之外,如果你能穩定連接
mtalk.google.com
那麼還可以使用 fcm 來推送
FCM 推送和 HMSpush 不同,FCM 要求 app 本身就在後台才能推送,大部分的 app 因為已經在後台了,她就是自己推送了,所以說 FCM 更多的是來推送偶爾啟動的 app,比如 outlook,gmail 這類的 app,雖然微信也能推送,但是不推薦,因為推送的很頻繁還不如在後台讓微信自己推送了。
準備工作#
- 可以使用 fcm 服務
- fcmfix(lsposed 模塊,可以讓 app 死掉,讓 fcm 仍能推送)
- LSPosed
配置流程#
- 國內不少地方 fcm 服務是可以連接的,但是都不穩,也就造成了鏈接無法長鏈接等,推送的不及時和不推送的情況,主要可以通過 3 種方式:
- fcm 直連,廣東地區能直連
- 修改 hosts 讓 fcm 能連上,主要是以下幾個域名,如果有 5g 的話,可以用 ipv6 鏈接。
- 代理以下域名
- 撥號盤輸入
*#*#426#*#*
可以查看鏈接的情況,大部分都不是很穩定。
mtalk.google.com
alt1-mtal.google.com
alt[2-8]-mtal.google.com #alt2-alt8都可以配置
- 安裝
fcmfix
,在LSPosed
中的fcmfix
模塊中選擇系統框架
和Google Play服務
兩個作用域 - 打開
fcmfix
模塊勾選支持fcm
推送的模塊,上面有提醒哪些 app 支持fcm
- 打開支持
fcm
推送的 app自啟動權限
,fcmfix 模塊的原理類似於模擬了一個 app 的後台進程,當 fcm 推送過來的時候去拉起該 app 來推送,所以沒有自啟動的權限,fcmfix 拉不起來 app。 - 重啟手機
fcm 推送的缺點#
我們能看到 fcm 推送要求 app 必須要在後台的,除非 app 支持 gms 推送,但是大部分的 app 都不支持。我們通過 fcmfix 模塊可以實現 app 不必在後台,但是需要能自啟動,fcmfix 模擬了一個 app 在後台的假象,當 fcm 推送過來的時候由 fcmfix 強拉 app 啟動來推送通知,所以整個流程來看,fcm 推送不適合短時間大量的推送已經長時間很多信息,例如微信這類的 app,更適合於偶爾推送,這樣的 app 不需要長時間在後台,但是又想及時的拿到通知的 app,例如郵箱這類的應用。
Enjoy!#
安裝推送真的是比 ios 差的遠,當然這也不是安卓的問題,主要是安卓不夠強勢啊。