溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

極光推送 狀態(tài)欄圖標顯示不全(原創(chuàng))

發(fā)布時間:2020-07-25 21:32:17 來源:網(wǎng)絡 閱讀:3755 作者:海太帥 欄目:開發(fā)技術

    極光論壇很多人遇到這種問題:在收到推送消息的那一瞬間,推送圖標被截取。在極光論壇大多數(shù)人的答案是圖片適配,既在不同的drawble文件夾放推送的icon,然,極光推送默認調用應用的launcher_icon,我的手機分辨率是1920*1080,調用drawable-xhdpi文件夾里面的launcher_icon,大小為144*144,而在drawable-xhdpi中的通知的圖標大小為48*48才會顯示全,所以出現(xiàn)被截取的現(xiàn)象是很正常不過。

    問題來了,既然極光默認調用應用的launcher_icon,難道我們要把應用的launcher_icon改為48*48嗎?這樣我們的應用圖標在桌面上顯示的肯定小,出現(xiàn)白邊。問了極光的技術客服,不知道他們是沒有懂我的意思還是上什么的,他們的答案依然是對圖標做適配。呵呵,要把應用圖標大小改為48*48?

    當然極光也提供了對應的解決方案,只是官方文檔只說了在客戶端如何,卻沒有說要在服務端做對應的設置,導致本屌走路不少彎路。


  1、 客戶端設置:http://docs.jpush.cn/pages/viewpage.action?pageId=2621539

原文如下:

客戶端定義通知欄樣式

自定義的通知欄樣式,是在客戶端進行的。請參考 通知欄樣式定制API 來看所支持的功能。

自定義通知欄樣式設計

  • 有個 PushNotificationBuilder 概念,開發(fā)者使用 setPushNotificationBuilder 方法為某種類型的 PushNotificationBuilder 指定編號。

  • setPushNotificationBuilder 可以在 JPushInterface.init() 之后任何地方調用,可以是開發(fā)者應用的邏輯來觸發(fā)調用,或者初始化時調用。

  • 只需要設置一次,JPush SDK 會記住這個設置。在下次收到推送通知時,就根據(jù)通知里指定的編號來找到 PushNotificationBuilder 來展現(xiàn)、執(zhí)行。

API - setDefaultPushNotificationBuilder 設置默認

此 API 改變默認的編號為 0 的通知欄樣式。

API - setPushNotificationBuilder 指定編號

此 API 為開發(fā)者指定的編號,設置一個自定義的 PushNotificationBuilder(通知樣式構建器)。

Example - 基礎的 PushNotificationBuilder

定制聲音、震動、閃燈等 Notification 樣式。

int builderId =1;

BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder(MainActivity.this);
builder.statusBarDrawable = R.drawable.jpush_notification_icon;
builder.notificationFlags = Notification.FLAG_AUTO_CANCEL;  //設置為自動消失
builder.notificationDefaults = Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE | Notification.DEFAULT_LIGHTS;  // 設置為鈴聲與震動都要

JPushInterface.setPushNotificationBuilder(builderId , builder);


 

 客戶端需設置消息的類型,即builderId ,當服務端發(fā)送對應的類型時,極光會先進行消息類型匹配,若匹配不上,則默認調用應用的圖標,若匹配上,則調用客戶端指定的圖標builder.statusBarDrawable。

2、服務端配置,也是需要設置消息類型builderId,builderId 必須與客戶端的一致 。我們使用java版sdk,其他語言的sdk也可以設置builderId 。

設置關鍵代碼如下:

極光推送 狀態(tài)欄圖標顯示不全(原創(chuàng))


附:


通知的圖標大小

drawable-xhdpi 48*48

drawable-hdpi 36*36

drawable-mdpi 24*24


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI