摘要:發(fā)送推送手機(jī)端安裝完成后,在個(gè)推網(wǎng)站中就可以為應(yīng)用發(fā)送推送了。簡(jiǎn)單來(lái)說(shuō),就是在個(gè)推登記應(yīng)用復(fù)制關(guān)鍵字到的打包應(yīng)用個(gè)推發(fā)送。
寫(xiě)在前面
這段時(shí)間,使用HTML5+和MUI開(kāi)發(fā)了一個(gè)手機(jī)應(yīng)用。說(shuō)實(shí)話DCloud組織的技術(shù)和文檔著實(shí)不夠完善,但是自己一直也是邊踩邊填、踉踉蹌蹌地做完了這個(gè)手機(jī)應(yīng)用。工作之余,也總結(jié)一下問(wèn)題和踩過(guò)的坑,希望能夠給后來(lái)者一些啟發(fā)。
最初的困惑我們每天使用手機(jī),總會(huì)收到許多的手機(jī)消息,如圖
對(duì)于一個(gè)剛開(kāi)始接觸移動(dòng)開(kāi)發(fā)的小白來(lái)說(shuō),感覺(jué)無(wú)從入手。在DCloud論壇上也找到了一些資料,有一篇比較詳盡文章推送插件開(kāi)發(fā)指南,同時(shí)也參考了HTML5+上的PUSH文檔。當(dāng)時(shí)看完文章之后依然非常困惑,也就先拋開(kāi)這些直接去個(gè)推網(wǎng)站了解究竟??吹絺€(gè)推網(wǎng)站中有個(gè)3分鐘快速集成演示然后就跟著做了,沒(méi)想到非常容易了就是實(shí)現(xiàn)了推送功能。
快速實(shí)現(xiàn)推送緊接著自己又讀了一下論壇上的文章,并跟著去做,最終實(shí)現(xiàn)了為自己開(kāi)發(fā)的應(yīng)用添加推送功能。具體流程如下:
登記應(yīng)用
登錄個(gè)推網(wǎng)站,然后在點(diǎn)擊“登記應(yīng)用”,這里有個(gè)“應(yīng)用標(biāo)識(shí)”,使用Hbuilder打包的應(yīng)用并沒(méi)有根據(jù)它提示的方法獲取到,后來(lái)才了解到打包的時(shí)候已經(jīng)自動(dòng)生成了應(yīng)用標(biāo)識(shí)(包名)如圖所示:
記錄關(guān)鍵字
登記完成后個(gè)推網(wǎng)站就會(huì)自動(dòng)生成AppID、AppSecret、AppKey和MasterSecret關(guān)鍵字。
然后將這些關(guān)鍵字復(fù)制到manifest.json中的推送SDK配置,然后再去打包APP。
發(fā)送推送
手機(jī)端安裝完成APP后,在個(gè)推網(wǎng)站中就可以為應(yīng)用發(fā)送推送了。如果沒(méi)能收到推送,建議多看論壇中的文章推送插件開(kāi)發(fā)指南多試幾次。簡(jiǎn)單來(lái)說(shuō),就是在個(gè)推登記應(yīng)用-->復(fù)制關(guān)鍵字到PUSH的SDK-->打包應(yīng)用-->個(gè)推發(fā)送。
雖然實(shí)現(xiàn)了為APP發(fā)送推送的功能,但是這里的推送都是個(gè)推網(wǎng)站發(fā)起的,肯定不能廣泛應(yīng)用。因此,我趁熱打鐵跟著個(gè)推提供的文檔Java發(fā)送個(gè)推走下來(lái)。不過(guò),文檔中的java代碼只是一個(gè)簡(jiǎn)單的測(cè)試,如果想真正的將推送發(fā)出來(lái),還需要修改一下服務(wù)端的代碼。這里我將原來(lái)的代碼改成servlet,然后部署到Tomcat,本地請(qǐng)求這個(gè)servlet。這樣在同一網(wǎng)絡(luò)中的手機(jī)端即可以接受到推送的消息了。
servlet代碼:
`
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String appId = "NXX3CdM3wh61ec4fgUIQw"; String appKey = "SdxEqvoCXZ8bqmumEllS18"; String masterSecret = "eZ9VjHczaZ6KnRGIniV3r3"; String url = "http://sdk.open.api.igexin.com/apiex.htm"; IGtPush push = new IGtPush(url, appKey, masterSecret); // 定義"點(diǎn)擊鏈接打開(kāi)通知模板",并設(shè)置標(biāo)題、內(nèi)容、鏈接 LinkTemplate template = new LinkTemplate(); template.setAppId(appId); template.setAppkey(appKey); template.setTitle("歡迎使用個(gè)推!"); template.setText("這是一條推送消息~"); template.setUrl("http://getui.com");
ListappIds = new ArrayList (); appIds.add(appId); // 定義"AppMessage"類(lèi)型消息對(duì)象,設(shè)置消息內(nèi)容模板、發(fā)送的目標(biāo)App列表、是否支持離線發(fā)送、以及離線消息有效期(單位毫秒) AppMessage message = new AppMessage(); message.setData(template); message.setAppIdList(appIds); message.setOffline(true); message.setOfflineExpireTime(1000 * 600); IPushResult ret = push.pushMessageToApp(message); System.out.println(ret.getResponse().toString()); }
`
最后如果想深入了解推送的內(nèi)容,還是要學(xué)習(xí)個(gè)推的文檔和HTML5+文檔。
希望本文能對(duì)你有所幫助!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/80264.html
摘要:發(fā)送推送手機(jī)端安裝完成后,在個(gè)推網(wǎng)站中就可以為應(yīng)用發(fā)送推送了。簡(jiǎn)單來(lái)說(shuō),就是在個(gè)推登記應(yīng)用復(fù)制關(guān)鍵字到的打包應(yīng)用個(gè)推發(fā)送。 寫(xiě)在前面 這段時(shí)間,使用HTML5+和MUI開(kāi)發(fā)了一個(gè)手機(jī)應(yīng)用。說(shuō)實(shí)話DCloud組織的技術(shù)和文檔著實(shí)不夠完善,但是自己一直也是邊踩邊填、踉踉蹌蹌地做完了這個(gè)手機(jī)應(yīng)用。工作之余,也總結(jié)一下問(wèn)題和踩過(guò)的坑,希望能夠給后來(lái)者一些啟發(fā)。 最初的困惑 我們每天使用手機(jī),總...
摘要:封宇到家架構(gòu)師。主要負(fù)責(zé)到家消息系統(tǒng)以及門(mén)戶等公司戰(zhàn)略級(jí)產(chǎn)品研發(fā)。消息服務(wù)器收到拉取離線消息請(qǐng)求,表明端已經(jīng)收到之前的數(shù)據(jù)。統(tǒng)一消息推送通道,整合個(gè)推米推微信短信等消息推送方式,盡最大可能確保消息送達(dá)用戶。 本篇文章內(nèi)容來(lái)自2016年TOP100summit 58到家架構(gòu)師封宇的案例分享。編輯:Cynthia2017年11月9-12日北京國(guó)家會(huì)議中心第六屆TOP100summit,留言...
閱讀 720·2021-11-16 11:44
閱讀 3552·2019-08-26 12:13
閱讀 3246·2019-08-26 10:46
閱讀 2362·2019-08-23 12:37
閱讀 1193·2019-08-22 18:30
閱讀 2537·2019-08-22 17:30
閱讀 1843·2019-08-22 17:26
閱讀 2295·2019-08-22 16:20