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


