Taro 消息通知(一)(Android Notification)

? ? ? ? 之前集成了個推到項目中植锉,現(xiàn)在需要完成接收到消息后展示通知(Notification)飒泻,消息發(fā)送通過個推(消息發(fā)送使用的是個推的透傳葫督,和整個個推渠道有區(qū)別健田,不會自動生成notification)士修,只需要在接收到消息后章贞,生成展示notification备埃。這里使用插件react-native-push-notification

? ? ? ? 1尼桶、在 終端進入到殼子根目錄下分別執(zhí)行

npm install react-native-push-notification

react-native link?react-native-push-notification

執(zhí)行react-native run-android节槐,終端報錯

androidx適配異常

修改引入的react-native-push-notification版本到3.1.3搀庶,再進入到react-native-push-notification依賴包的build.gradle文件,修改依賴的第三方包版本如下

可正常運行Android 端(react-native run-android)

2铜异、終端進入到自己的項目根目錄下分別執(zhí)行

npm install react-native-push-notification@3.1.3

react-native link?react-native-push-notification

在官網(wǎng)中哥倔,有這么一段話

翻譯一下

然后按照對應版本的官方文檔react-native-push-notification - npm,進行Android端設(shè)置揍庄,在殼子android下的AndroidManifest.xml文件中咆蒿,添加如下代碼(只做notification展示,所以只需要PushNotification.localNotification()即可):

<service

????????????android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationListenerService"

????????????android:exported="false"?>

????????????<intent-filter>

????????????????<action?android:name="com.google.firebase.MESSAGING_EVENT"?/>

????????????</intent-filter>

?</service>

<meta-data android:name="com.dieam.reactnativepushnotification.notification_channel_name" android:value="YOUR NOTIFICATION CHANNEL NAME" />

<meta-data android:name="com.dieam.reactnativepushnotification.notification_channel_description" android:value="YOUR NOTIFICATION CHANNEL DESCRIPTION" />

<!-- Change the resource name to your App's accent color - or any other color you want -->

<meta-data android:name="com.dieam.reactnativepushnotification.notification_color" android:resource="@android:color/white" />

在需要引用notification的地方添加代碼:

PushNotification.localNotification({

? ? ? /* Android Only Properties */

? ? ? id: '0', // (optional) Valid unique 32 bit integer specified as string. default: Autogenerated Unique ID

? ? ? ticker: "My Notification Ticker", // (optional)

? ? ? autoCancel: true, // (optional) default: true

? ? ? largeIcon: "ic_launcher", // (optional) default: "ic_launcher"

? ? ? smallIcon: "ic_notification", // (optional) default: "ic_notification" with fallback for "ic_launcher"

? ? ? bigText: "My big text that will be shown when notification is expanded", // (optional) default: "message" prop

? ? ? subText: "This is a subText", // (optional) default: none

? ? ? color: "red", // (optional) default: system default

? ? ? vibrate: true, // (optional) default: true

? ? ? vibration: 300, // vibration length in milliseconds, ignored if vibrate=false, default: 1000

? ? ? tag: 'some_tag', // (optional) add tag to message

? ? ? group: "group", // (optional) add group to message

? ? ? ongoing: false, // (optional) set whether this is an "ongoing" notification

? ? ? priority: "high", // (optional) set notification priority, default: high

? ? ? visibility: "private", // (optional) set notification visibility, default: private

? ? ? importance: "high", // (optional) set notification importance, default: high

? ? ? /* iOS only properties */

? ? ? alertAction: 'view',// (optional) default: view

? ? ? category: null,// (optional) default: null

? ? ? userInfo: null,// (optional) default: null (object containing additional notification data)

? ? ? /* iOS and Android properties */

? ? ? title: "My Notification Title", // (optional)

? ? ? message: "My Notification Message", // (required)

? ? ? playSound: false, // (optional) default: true

? ? ? soundName: 'default', // (optional) Sound to play when the notification is shown. Value of 'default' plays the default sound. It can be set to a custom sound such as 'android.resource://com.xyz/raw/my_sound'. It will look for the 'my_sound' audio file in 'res/raw' directory and play it. default: 'default' (default sound is played)

? ? ? number: '10', // (optional) Valid 32 bit integer specified as string. default: none (Cannot be zero)

? ? ? repeatType: 'day', // (optional) Repeating interval. Check 'Repeating Notifications' section for more info.

? ? ? actions: '["Yes", "No"]',? // (Android only) See the doc for notification actions to know more

? ? });

運行Android 端之后蚂子,可以看到發(fā)送的notification成功

通過調(diào)整PushNotification.localNotification參數(shù)來達到需要的樣式和信息沃测。

3、點擊notification

notification的點擊觸發(fā)通過PushNotification.configure()來實現(xiàn)食茎。其中的方法

onNotification: function (notification) {

? ? ? ? console.log('NOTIFICATION:', notification);

? ? ? ? // process the notification

? ? ? ? // required on iOS only (see fetchCompletionHandler docs: https://facebook.github.io/react-native/docs/pushnotificationios.html)

? ? ? ? // notification.finish(PushNotificationIOS.FetchResult.NoData);

? ? ? },

其中的notification參數(shù)會把第二步中的PushNotification.localNotification()全部參數(shù)返回蒂破,通過解析來達到跳轉(zhuǎn)或者網(wǎng)絡請求。

到這一步為止别渔,Android端的notification就完成了寞蚌。

4、再來看一看iOS钠糊。先不修改代碼挟秤,直接運行看看會有什么效果。emmm~~雖說不會報錯抄伍,但也沒有任何效果

做了各種配置艘刚,也進行了各種測試,浪費了很久的時間才發(fā)現(xiàn)截珍,ios模擬器不支持消息推送攀甚,一口老血噴出來箩朴。既然這樣的話,ios的推送就放到等到公司提供了測試機之后的篇章里講吧秋度。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末炸庞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子荚斯,更是在濱河造成了極大的恐慌埠居,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件事期,死亡現(xiàn)場離奇詭異滥壕,居然都是意外死亡,警方通過查閱死者的電腦和手機兽泣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門绎橘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人唠倦,你說我怎么就攤上這事称鳞。” “怎么了稠鼻?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵冈止,是天一觀的道長。 經(jīng)常有香客問我枷餐,道長靶瘸,這世上最難降的妖魔是什么苫亦? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任毛肋,我火速辦了婚禮,結(jié)果婚禮上屋剑,老公的妹妹穿的比我還像新娘润匙。我一直安慰自己,他們只是感情好唉匾,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布孕讳。 她就那樣靜靜地躺著,像睡著了一般巍膘。 火紅的嫁衣襯著肌膚如雪厂财。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天峡懈,我揣著相機與錄音璃饱,去河邊找鬼。 笑死肪康,一個胖子當著我的面吹牛荚恶,可吹牛的內(nèi)容都是我干的撩穿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼谒撼,長吁一口氣:“原來是場噩夢啊……” “哼食寡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起廓潜,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤抵皱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后茉帅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體叨叙,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年堪澎,在試婚紗的時候發(fā)現(xiàn)自己被綠了擂错。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡樱蛤,死狀恐怖钮呀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昨凡,我是刑警寧澤爽醋,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站便脊,受9級特大地震影響蚂四,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜哪痰,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一遂赠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧晌杰,春花似錦跷睦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至爹殊,卻和暖如春蜕乡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背梗夸。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工层玲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓称簿,卻偏偏與公主長得像扣癣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子憨降,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容