1. 程式人生 > >整合華為手機Push SDK的小結

整合華為手機Push SDK的小結

華為Push訊息分為:通知欄訊息和透傳訊息。透傳訊息,到達後,使用者需要自己解析和展示,雖然靈活,但不能保證一定能收到,特別是應用退出後。因此選擇了通知欄訊息,點選通知欄訊息的後續行為,可以有如下幾類選擇:

  1. 直接開啟應用
  2. 通過自定義動作開啟應用
  3. 開啟URL
  4. 富文字訊息
  5. 簡訊收件箱廣告
  6. 彩信收件箱廣告
本文主要涉及1和2類,如下為伺服器端推送訊息的結構體:
    private String notification_title; //M Notification bar上顯示的標題
    private String notification_content; //M Notification bar上顯示的內容
    private String notification_status_icon; //O 系統小圖示名稱,該圖示預置在客戶端,在通知欄頂部展示
    private String content_file_url ; // O 僅富媒體訊息需要填寫該欄位

    /**
     * M 1:直接開啟應用
     * 2:通過自定義動作開啟應用
     * 3:開啟URL
     * 4:富媒體訊息
     * 5:簡訊收件箱廣告
     * 6:彩信收件箱廣告
     * 注意:當手機收到簡訊、彩信收件箱廣告後,在收件人一欄顯示的是應用在聯盟上註冊的名字
     */

    private Integer doings;
    private String smsContent; //O 簡訊收件箱廣告內容; 當doings的取值為5時,該欄位必須填寫
    private String mmsUrl; // O 彩信收件箱廣告附件連結
    private String url; //O 連結; 當doings的取值為3時,必須攜帶該欄位

    private String intent; //O 自定義開啟應用動作; 當doings的取值為2時,必須攜帶該欄位
    private JSONArray extras; // JSON array O 使用者自定義鍵值對; "extras":[{"season":"Spring"},{"weather":"raining"}]

一、直接開啟應用

直接走啟動應用的流程,當加入key-value的extras引數後,點選通知欄訊息時,會觸發PushReceiver的onEvent函式(當extras為空時,不會觸發),獲取key-value,但因為和啟動流程並行,不太好做特殊處理。採用此方式關鍵引數的傳遞:

doings:1

二、自定義動作

採用傳遞需要開啟Activity的intentUri值,從而開啟指定的頁面。採用如下方式生成對應的字串:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("customscheme://com.mobile.mail189.activity/notify_detail"));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("name", "zhangsan");
String intentUri = intent.toUri(Intent.URI_INTENT_SCHEME);
如上是隱式的方式,當然也能採用顯示的指定具體的Activity。因為採用隱式,需要設定對應的intent-filter:
<activity
        android:name=".PushDetailActivity"
        android:configChanges="keyboardHidden|orientation"
        android:label="@string/app_name"
        android:screenOrientation="portrait">

        <intent-filter>
               <action android:name="android.intent.action.VIEW"/>
               <category android:name="android.intent.category.DEFAULT"/>
               <data android:scheme="customscheme"
                   android:host="com.mobile.mail189.activity"
                   android:path="/notify_detail"/>

        </intent-filter>
</activity>
如果是採用如上的設定,伺服器需要Push的引數為:
doings:2
inttent:intent://com.mobile.mail189.activity/notify_detail#Intent;scheme=customscheme;action=android.intent.action.VIEW;launchFlags=0x10000000;S.to=zhangsan;end


PS:專案中是需要一個新郵件到達的提醒,但當APP完全退出時,根本不在已登入狀態,就不能獲取到相關資料;因此點選通知欄訊息時,沒有任何反應。後來我只好跳轉到了一個不需要登入的一個頁面。

參考文件:

1、http://developer.huawei.com/consumer/cn/wiki/index.php?title=HMS%E5%BC%80%E5%8F%91%E6%8C%87%E5%AF%BC%E4%B9%A6-PUSH%E6%9C%8D%E5%8A%A1%E6%8E%A5%E5%8F%A3

2、http://club.huawei.com/thread-10204980-1-1-2851.html

3、http://developer.huawei.com/consumer/cn/wiki/index.php?title=%E6%8E%A5%E5%8F%A3%E6%96%87%E6%A1%A3


相關推薦

整合手機Push SDK小結

華為Push訊息分為:通知欄訊息和透傳訊息。透傳訊息,到達後,使用者需要自己解析和展示,雖然靈活,但不能保證一定能收到,特別是應用退出後。因此選擇了通知欄訊息,點選通知欄訊息的後續行為,可以有如下幾類

Android 整合推送 push

由於專案需要我們不得不對華為push進行研究。 按照國際慣例先百度一波,發現各個大牛都是對於華為push的填坑,很明顯,這個推送的問題還是有很多的。 這裡引用:Android整合華為推送踩坑問題總結 使用老版push還是新版push PushReceiver中的onEve

android整合push 6003錯誤,以及低版本crash問題

前段時間專案需要接入推送功能,最終對比選擇了使用極光推送,但是極光結束後臺程序是收不到push訊息的,需要我們自己去整合第三方平臺,比如:小米,華為,魅族 極光接入華為:極光根據 EMUI 系統版本間差異,現採取的方案是 EMUI 4.1 及以上版本,使用 HMS 服務,

整合推送,手機App在活動點開推送重啟App並且未進入到推送落地頁

問題描述:1、為了提高推送的到達率,在有極光推送的基礎上,App又集成了小米、魅族、華為三家自己的推送服務。2、華為手機在App在前臺時候,點選推送App重啟,並且推送沒有進入到對應的落地頁。(又是你,華為!)解決問題:後臺傳送推送時頁面,會有如圖內容:解決步驟:1、首先在A

超簡單整合HMS ML Kit文字識別SDK,一鍵實現賬單號自動錄入

# 前言   在之前的文章《[超簡單整合華為HMS Core MLKit通用卡證識別SDK,一鍵實現各種卡繫結](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201226181206630022&fid=18)》中我們給大

手機成本構成

nbsp jpg htm image src http blog com .cn http://laoyaoba.com/ss6/html/32/n-643632.html 華為手機成本構成

怎樣快速找回手機QQ表情包

怎樣快速找回華為手機QQ表情包 現在我們與朋友之間的交流,都是利用智能手機上的微信,QQ等,而且交流的話,也越來越少了,逐漸的用表情包,照片來代替,那些表情包中,有著我們不可述說的話語,那種詼諧的氣氛,使得我們把不好意思說的話,也放在那些照片中表達了出來。有的可愛,有的搞笑,我們都想給他保存

手機通訊錄沒了怎麽恢復

華為 手機 通訊錄  怎麽恢復華為手機通訊錄?手機通訊錄丟失了應該如何恢復,手機丟失了通訊錄聯系人應該如何恢復呢?許多時候因為各種各樣的原因我們會丟失手機重要的通訊錄聯系人,對於現在這個時刻追求高節奏,高效率的生活狀態,我們怎麽可以丟失通訊錄呢。 有一款軟件叫互盾手機數據恢復軟件的是專業針對收據的數據

HwPointEventFilter: do not support AFT because of no config手機進入工程菜單

event filter conf 點擊 color body gpo pan nbsp 在調試時應用報出HwPointEventFilter: do not support AFT because of no config 是因為華為系統裏設置了不打印log 解決方法是在

手機大變?余承東被傳離職轉崗,進軍美國受阻惹的禍?

雲服務 頻率 人員 消費 是你 研究 批評 華為手機 相對 下午,余承東離職、轉崗的消息開始在微信群、朋友圈流傳。 消息稱:余承東下月不再擔任華為終端董事長的信息開始在網絡傳播。據說來源於華為消息人士。 消息稱“華為終端董事長余承東即將與今年3月份也就是下個月正式卸任這一職

銷量下滑,余承東被“離職”,壞消息不斷的手機或跌出前3

提前 既然 最好 4.0 競爭對手 市場份額 網絡測試 戰略 前段時間 前不久,知名市場研究公司IDC發布的手機季度跟蹤報告顯示,2017 年第四季度,全球智能手機市場出貨量為4.035 億部,相比去年同期下降 6.3%。報告數據還顯示,華為手機Q4 的出貨量為4100萬部

看,手機余承東又開始大嘴了,這次會被任正非繼續打臉嗎?

華為手機余承東巴塞羅那全球移動大會(MWC 2018)今天正式開展,好不熱鬧。這不,華為手機負責人余承東在全球移動大會上放言:華為可能會在今明兩年成為第二大智能手機制造商,遲早會成為行業老大。 如此勁爆的言論一出,立馬引來媒體紛紛報道。不過在公開場合把目標當廣告的做法真的合適嗎?一、華為手機今明兩年超蘋果?我

手機:借助圍甲東風 用中國智慧影響世界

圍棋自從AlphaGo和柯潔一戰之後,圍棋這項古老的智力博弈又開始煥發起了新的活力。它不再只是停留在小眾圈子裏的黑白搏殺,而是作為凝結了人類智慧的頂端遊戲,被更多人所關註。今年,圍棋界頂級賽事迎來全新的獨家冠名合作夥伴——華為手機,3月27日,“2018華為手機杯·中國圍棋甲級聯賽”在浙江省湖州市長興開元芳草

手機權限開啟方法4

方法 華為手機 圖片 image clas 分享 nbsp col -c 圖片中的軟件名稱只是舉例 請對應設置你使用中的軟件 ~~~~~ 結束 ~~~~~ 華為手機權限開啟方法4

手機權限開啟方法5

開啟 mage 使用 bubuko 技術 body info 分享 div 圖片中的軟件名稱只是舉例 請對應設置你使用中的軟件 ~~~~~ 結束 ~~~~~ 華為手機權限開啟方法5

mui 頁面無法下滑拖拽 主要體現在手機瀏覽器

調試 htm 沒有 無法 blog nbsp 手機瀏覽器 一個 原因 項目做到中期遇到一個問題,華為手機有些頁面顯示不全且無法下滑。 因為之前一直用的Google瀏覽器的模擬模式進行開發和調試的,一直未發現這個問題。 剛開始 選用mui的下拉刷新上拉加載的方式來進行

手機模糊拍照解決辦法

拍照模糊 華為拍照模糊 華為手機拍照模糊 華為Mate9、P10等手機拍照模糊、無法對焦的情況,除硬件問題(硬件問題建議去網點檢測,1年保修期內免費維修)、鏡頭汙染、對焦失敗等原因外,還可能是開啟了大光圈模式! 1.華為手機大光圈模式為什麽會導致拍照模糊?大光圈,可以令對焦的主體從雜亂的背景中凸顯

解決手機無法輸出Debug級別log的問題

進入 bsp name net 我們 人員 android開發 輸入 識別 近期購入了新款的華為手機榮耀8,手感、性能、顏值都非常好。作為android開發工程師,自然會用到真機進行日常的調試。然而,這部手機並沒有這麽“聽話“!反復嘗試開啟開發者選項中的設置項,依舊無法輸出

解決手機圖片選擇無效及產生的open failed: EACCES (Permission denied)錯誤

裏的 provide 圖片選擇 providers 加載 hot storage nts 手機 在華為手機上調起圖片選擇時原來的效果如下 原來的代碼是 Intent intent = new Intent(); intent.setAction(Intent.ACT

【科普】手機克隆:手機一鍵搬家工具怎麽使用?

克隆 下載 屏幕 記得 第一步 沒有 數據 現在 推出 記得以前念書時,手機都是闊以裝外置SD卡的,如果換手機,需要事先把手機上的聯系人、短信等重要信息復制到SD卡中,再把SD卡安裝到新手機裏面,過程非常麻煩,如果SD卡內存不夠用,還要反復折騰。現在隨著技術的發展,不同手機