手機(jī)中收到的推送新聞,在沈陽APP開發(fā)中如何實(shí)現(xiàn)?
2024/8/1 14:39:28 瀏覽:1141
我們在日常使用手機(jī)的時候,只要安裝了某個APP,就會在任意某個時刻收到這個APP的推送,例如使用今日頭條,不管你是否登錄,都會收到不同形式的新聞,顯示在手機(jī)屏幕頂部,那么在APP開發(fā)的實(shí)際環(huán)境中,是如何實(shí)現(xiàn)這個功能的呢,今天就來跟大家分享一下。首先我們要知道所有APP的推送新聞的信息都是以圖文形式展示在屏幕頂部,都要用到Notification通知這個概念,而當(dāng)我們創(chuàng)建好Notification的管理對象NotificationManager,調(diào)用Builder.build()方法創(chuàng)建好新的Notification,卻發(fā)現(xiàn)通知欄無法顯示在屏幕上,原因是什么呢?這是因?yàn)橛锌赡芪覀兊腁PP并沒有自動打開通知欄開關(guān),我們要先判斷通知開關(guān)是否打開,調(diào)用NotificationManagerareNotificationsEnabled方法,如果根據(jù)返回的值得知沒有打開通知欄權(quán)限,我們要幫助用戶跳轉(zhuǎn)到系統(tǒng)通知管理頁面,然后在APP 的通知頁面,提示用戶手動打開APP通知開關(guān),接下來我們要創(chuàng)建通知的渠道channel,因?yàn)楦叩燃壪到y(tǒng)的手機(jī),是要強(qiáng)制我們?yōu)锳PP的通知做出渠道以區(qū)分不同類型的通知,這里調(diào)用通知管理對象NotificationManager的createNotificationChannel,同時將渠道需要的id,名稱name和等級傳入,注意我們可以創(chuàng)建多個渠道,且創(chuàng)建好的渠道不能修改,得到了渠道的id,將這個id代入到NotificationCompat.Builder的setChannelId方法中,有了id我們還需要指明通知的標(biāo)題、內(nèi)容和圖標(biāo),分別調(diào)用了setContentTitle,setContentText和setSmallIcon方法,如果我們需要用戶點(diǎn)擊通知時自動跳轉(zhuǎn)到對應(yīng)的APP頁面,還需要設(shè)置意圖setContentIntent,設(shè)置了以上的基礎(chǔ)參數(shù)后,最后調(diào)用通知管理NotificationManager的notify方法,這時我們就可以在手機(jī)屏幕頂部看到我們想要的通知欄效果了。有了通知欄后,還需要去對應(yīng)的手機(jī)廠商的(小米、華為)或第三方推送(友盟、極光)開發(fā)者官網(wǎng)新建賬號,申請對應(yīng)APP的推送權(quán)限,按照廠商提供的APP開發(fā)推送文檔,集成好SDK包,調(diào)用廠商提供的推送API,同時可以在開發(fā)者后臺測試推送結(jié)果自此APP開發(fā)手機(jī)推送這個功能我們是初步實(shí)現(xiàn)了。