cordova極光推送外掛使用
首先是在極光官網註冊登入賬號,然後建立推送應用,建立完應用之後,點選開啟應用,設定應用的包名,儲存;
然後回到應用主介面,看到AppKey,以及MasterSecret,這時候MasterSecret應該可以點選查看了。AppKey是新增外掛的時候,需要用到的,然後在伺服器端給移動端傳送推送的時候,需要用到AppKey以及MasterSecret。
接下來是新增外掛,使用git安裝了之後,應用一直閃退,報錯找不到DataProvider,我最後是通過普通的安裝方式安裝的:
cordova pluginadd jpush-phonegap-plugin --variable APP_KEY=your_jpush_appkey
外掛安裝成功之後,可以直接跑github專案中example資料夾下的程式碼,就是直接把example目錄下的index.html、css以及js拷貝到專案根目錄www資料夾下,然後cordova run android,如果看到這個介面,並且已經獲取到registrationId,就表示已經成功搭建好推送環境了,這個是android示例:
在IOS上測試的時候,安裝完外掛之後,不要忘了開啟IOS工程,然後Capabilities設定中開啟Push Notification開關以及Background Mode開關,在Background Mode中還要勾選remote notification選項;
最後還要設定APP_KEY,這個一般在Resource目錄下,編輯JPushConfig.plist檔案,填寫AppKey和Channel,AppKey就是極光官網應用設定給的AppKey,channel就填IOS即可:
注意的是,測試最好使用真機。
安裝完外掛之後,在極光推送的管理介面,輸入要推送的訊息,點擊發送,之後如果沒有在頁面上顯示錯誤,而且裝置接受到推送訊息,表明已經可以成功接收到推送訊息:
開啟index.html,我從裡面拿到了一些關鍵初始化程式碼:
let onDeviceReady = function () { document.addEventListener("jpush.receiveRegistrationId", function (event) { console.log("receiveRegistrationId" + JSON.stringify(event)); }, false); initJPush(); }; function initJPush() { if ('JPush' in window) { console.log('initialize JPush...'); try { window.JPush.init(); window.JPush.setDebugMode(true); window.setTimeout(() => { window.JPush.getRegistrationID((data) => { console.log(data); console.log('JPush initialize successful...'); }); }, 1000); if (device.platform != "Android") { window.JPush.setApplicationIconBadgeNumber(0); } } catch (exception) { console.log(exception); } } else { console.error('JPush is not exist...'); } } document.addEventListener("deviceready", onDeviceReady, false);
然後是服務端環境搭建,首先是新增依賴:
<!--極光推送相關--> <dependency> <groupId>cn.jpush.api</groupId> <artifactId>jpush-client</artifactId> <version>3.3.3</version> </dependency> <dependency> <groupId>cn.jpush.api</groupId> <artifactId>jiguang-common</artifactId> <version>1.0.8</version> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.6.Final</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.7</version> </dependency> <!-- For log4j --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
然後編寫一條請求,在請求中傳送推送訊息:
package com.martsforever.core.template.jpush; import cn.jiguang.common.ClientConfig; import cn.jiguang.common.resp.APIConnectionException; import cn.jiguang.common.resp.APIRequestException; import cn.jpush.api.JPushClient; import cn.jpush.api.push.PushResult; import cn.jpush.api.push.model.Platform; import cn.jpush.api.push.model.PushPayload; import cn.jpush.api.push.model.audience.Audience; import cn.jpush.api.push.model.notification.Notification; import com.martsforever.core.global.RequestManage; import org.springframework.web.bind.annotation.*; import java.util.Collection; import java.util.Map; import static javax.accessibility.AccessibleRole.ALERT; @RestController @RequestMapping("push") public class JPushController { private static String MASTER_SECRET = "5a1c4d4abb80ac481a44257a"; private static String APP_KEY = "41259c975595d3c56c9e74ef"; @PostMapping("sendAll") public static Map<String, Object> sendAll(@RequestBody PushMessage pushMessage) { JPushClient jpushClient = new JPushClient(MASTER_SECRET, APP_KEY, null, ClientConfig.getInstance()); // For push, all you need do is to build PushPayload object. PushPayload payload = buildPushObject_all_all_alert(pushMessage.getMessage()); try { PushResult result = jpushClient.sendPush(payload); System.out.println("Got result - " + result); } catch (APIConnectionException e) { // Connection error, should retry later System.out.println("Connection error, should retry later" + e.getMessage()); } catch (APIRequestException e) { // Should review the error, and fix the request System.out.println("Should review the error, and fix the request" + e.getErrorMessage()); System.out.println("HTTP Status: " + e.getStatus()); System.out.println("Error Code: " + e.getErrorCode()); System.out.println("Error Message: " + e.getErrorMessage()); } return RequestManage.success(pushMessage); } public static PushPayload buildPushObject_all_all_alert(String msg) { return PushPayload.alertAll(msg); } //發給一個客戶端 public static PushPayload buildPushObject_all_registrationid_alert() { return PushPayload.newBuilder() .setPlatform(Platform.all()) //設定平臺-所有平臺 .setAudience(Audience.registrationId("")) //設定受眾-極光註冊id .setNotification(Notification.alert(ALERT)) //設定通知 - 訊息 .build(); } //多個客戶端 public static PushPayload buildPushObject_all_registrationids_alert(Collection<String> strings) { return PushPayload.newBuilder() .setPlatform(Platform.all()) //設定平臺-所有平臺 .setAudience(Audience.registrationId(strings)) //設定受眾-極光註冊id-多個客戶端 .setNotification(Notification.alert(ALERT)) //設定通知-推送資訊 .build(); } }
當請求這條請求的時候,就會把請求中的引數作為訊息傳送到所有的客戶端,如果客戶端可以接收到推送訊息,證明伺服器端環境搭建也完成了。我這裡不知道是不是本地除錯的原因還是其他原因,通過伺服器端傳送推送訊息有點慢,可能因為我不是付費使用者……,從傳送訊息到接收到推送訊息,中間大概隔了一分鐘的時間,同學們需要耐心等待一下。
相關推薦
cordova極光推送外掛使用
首先是在極光官網註冊登入賬號,然後建立推送應用,建立完應用之後,點選開啟應用,設定應用的包名,儲存;然後回到應用主介面,看到AppKey,以及MasterSecret,這時候MasterSecret應該可以點選查看了。AppKey是新增外掛的時候,需要用到的,然後在伺服器端給
ionic 之cordova 極光推送jpush和百度定位外掛結合使用之定位失效問題解決辦法
之前專案已經裝了cordova的百度定位外掛,曾經出現過定位失敗問題,那是由於專案上傳svn再checkout下來的話會丟失.so檔案。只需把.so檔案補齊就OK了。但是最近由於專案需要推送訊息功能,查了下,使用了cordova集合的極光推送jpush外掛,add了以後,就出現了我百思不得其解的bu
ionic整合極光推送外掛-iOS
DEMO地址https://github.com/JsonJieLi/cordova-jpushDemo/tree/master 1.首先建立一個ionic的專案 前面有介紹不詳細說了也可以參考官方網
ionic3+cordova 極光推送 記錄
本人小白 由於公司專案 需要到推送通知 於是決定選擇極光推送 以下是 有的程式碼是擷取的別人的 記錄如下 : 申請應用 填寫你專案應用的包名 在你專案的config.xml裡獲取到APPKey 記住! 然後安裝官方的cordova外掛 co
ionic應用整合極光推送外掛jpush
推送解決方案目前還是比較多的,有百度推送,個推,友盟,騰訊信鴿等,在實際應用中,我覺得極光推送這種免費的解決方案還是比較好的, 文件,推送到達效果,客服等都還算不錯,所以這裡極光官方外掛整合到專案上的
關於ionic3 + cordova 加入極光推送的步驟
極光推送官方已提供相關的外掛地址:https://github.com/jpush/jpush-phonegap-plugin官方已說明此外掛從3.4.0起,開始支援cordova-android 7.0 ,並且不能向下相容。那麼低於7.0以下,都需要使用舊版本外掛。否則會出
極光推送---安卓Demo
ges 網絡 同名 roi sta 復制 ava tro return 對於一個一直幹.net的程序媛來說。冷不丁的讓小編幹安卓,那種感覺就好似小狗狗咬小刺猬一樣,不知道從哪兒開始下手,對於小編來說。既是挑戰更是機遇,由於知識都是相通的。再者來說,在小編的
關於極光推送Jpush的demo
安卓 lips 介紹 gis 表示 request ice 通知欄 efault 關於極光推送Jpush 推送是手機app必不可少的一樣功能,這次由於公司項目需要研究了一下。由於推送一般寫於服務端,所以對於不會Android的javaweb程序員要寫出一個完整的demo
C#簡單的JPush(極光推送) API實現推送功能(來自mojocube的博客)
size 返回 log c# api live str -s 周期 APP推送功能大家應該都了解了,目前主要的有百度、極光等幾家公司提供推送服務,下面說一下極光推送API的簡單實現推送通知功能。 註冊完極光的賬號後,就可以創建應用,建好後會得到AppKey和Master
極光推送的代碼實現
分享 orm result bsp library not etop tags alias 一:去官網下載SDK或者直接在maven項目中進行相應配置 <dependencies> <dependency> <grou
項目實戰:iOS極光推送集成(30分鐘搞定)
adg append ati 技術分享 tro markdown ocs sym xcode 推送有非常多,如個推、友盟、融雲和極光等等。在這裏就講下怎樣使用極光推送。主要內容是將官方文檔資料詳細匯總並一步一步集成到項目中,您也能夠直接去官方文檔閱
極光推送
流量 管理 做了 無法打開 自己 android 極光推送 輕量級 並發 定義:極光推送(JPush)是獨立的第三方雲推送平臺,致力於為全球移動應用開發者提供專業、高效的移動消息推送服務(是一個面向普通開發者開放的,免費的第三方消息推送服務)。 極光推送服務優勢:
Ionic極光推送的使用:
官網 實時 his 關系 gin icp 顯示 代碼 下載 1.到極光官網註冊賬號; 2.應用設置中: 填寫應用名稱: 應用圖標: 3. 保存上面的設置之後,到了推送設置了: 4.下載插件: 如何遇到下載報錯,可換種方法解決:切換到cordova插件目
android 極光推送 聲音與振動 的關閉和開啟
fff getc 用法 koa pub tar brush asi drawable 前言:最近剛好在寫一些推送方面的東西,又是新手,不斷在網上找資料,很少,不過還是找到了一些,反正百度我是再也不想百度了,谷歌一下子就能找到想要的。 廢話不多說。
極光推送使用
極光 推送使用 註意事項安卓手機如果 關閉“獲取meid imsi權限”則app 中極光sdk 無法生存 唯一 tag解決辦法:安卓判斷如果生成失敗,可以自己生成比如: md5(機型+時間戳)這樣的串作為 tag本文出自 “水滴石穿” 博客,請務必保留此出處http://liangge.blog.51
極光推送工具類
tle 分辨 空字符 客戶端 配置 技術 連接錯誤 event ast 之前項目有用到需要把數據推送到app端 采用的是極光推送 特此把工具類和pom.xml需要的jar整理如下 pom.xml需要jar如下 <!-- 極光推送 --&
極光推送_總結_01_Java實現極光推送
-type blank 經驗 內容 .cn util post org header 一、代碼實現 1.配置類—Env.java package com.ray.jpush.config; /**@desc : 極光推送接入配置 *
點擊極光推送,實現跳轉
定義 ctf 每次 con 消息 center 不同的 tno handler 說實話,極光推送接觸過好幾遍了,但是每次開發都是實現簡單的展示功能,最近接手的一款app要求只在後臺展示,還要實現點擊通知欄跳轉到相應的詳情界面,於是便以為很簡單的開始了,而且還很嗨的那種,
極光推送 標簽和別名設置說明
iap 方法 callbacks CA sset cto 後臺 spa ID 1.獲取別名:在極光這個回調方法裏面 得到 registrationID 並存儲起來 登錄的時候會用, /** 極光推送 回調 */ - (void)application:(UIAppli
極光推送簡單推送配置
平臺 ring else shc 代碼 手機號 jpush class func 0、首先去極光申請app應用,免費的! 1、composer引入極光sdk。PS:盡量使用composer,不然可能會有各種坑爹的不能自動加載問題等... 2、引入模塊類 3、直接擼代碼 p