1. 程式人生 > >java 後臺 如何實現 谷歌 訊息推送

java 後臺 如何實現 谷歌 訊息推送

第一步:申請GOOGLE 訊息推送 KEY

第二步:

1、配置請求路徑和KEY

2、寫請求方法

import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.alibaba.fastjson.JSON;
import com.ilogie.tms.vo.SendMsgData;

public class SendMessageUtil {
    
private static Logger logger =  LoggerFactory.getLogger(SendMessageUtil.class);
    
    private static String sendGoogleMsgUrl;
    private static String sendGoogleKey;
    
    @SuppressWarnings("all")
    public static void sendGoogleMessage(SendMsgData data){
        CloseableHttpClient client = HttpClients.createDefault();
        
        HttpPost httpPost = new HttpPost(sendGoogleMsgUrl);
        httpPost.setHeader("Content-Type", "application/json");
        httpPost.setHeader("Authorization", sendGoogleKey);
        
        try {
            
            logger.debug("訊息推送路徑:"+httpPost.getURI());
            
            GooglSend send = new SendMessageUtil.GooglSend();
            send.setTo(String.valueOf(data.getToId()));
            send.setData(data);
            
            String req = JSON.toJSONString(send);
            
            logger.debug("訊息請求引數:"+req);
            
            StringEntity se = new StringEntity(req);
            
            httpPost.setEntity(se);
            
            CloseableHttpResponse resp = client.execute(httpPost);
            HttpEntity entity = resp.getEntity();
            
            String str2 = EntityUtils.toString(entity);
            logger.debug(str2);
        } catch (Exception e) {
            logger.debug("GOOGLE訊息推送失敗:"+e);
        }finally{
            try {
                client.close();
            } catch (IOException e) {
                logger.debug("GOOGLE訊息推送關閉連線:"+e);
            }
        }
        
    }
    
    
    static class GooglSend{
        private String to;
        private SendMsgData Data;
        public String getTo() {
            return to;
        }
        public SendMsgData getData() {
            return Data;
        }
        public void setTo(String to) {
            this.to = to;
        }
        public void setData(SendMsgData data) {
            Data = data;
        }
        
    }
    
    
    public void setSendGoogleMsgUrl(String sendGoogleMsgUrl) {
        SendMessageUtil.sendGoogleMsgUrl = sendGoogleMsgUrl;
    }
    public void setSendGoogleKey(String sendGoogleKey) {
        SendMessageUtil.sendGoogleKey = sendGoogleKey;
    }

}

3、寫測試類進行驗證


相關推薦

java 後臺 如何實現 訊息

第一步:申請GOOGLE 訊息推送 KEY 第二步: 1、配置請求路徑和KEY 2、寫請求方法 import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.c

小程式訊息(含原始碼)java實現小程式,springboot實現微信訊息

最近需要開發微信和小程式的推送功能,需要用java後臺實現推送,自己本身java和小程式都做,所以就自己動手實現下小程式的模版推送功能推送。 實現思路 1 小程式獲取使用者openid,收集formid傳給java後臺 2 java推送訊息給指定小程式使用

基於Netty實現的Android 訊息(即時通訊)的解決方案

根據Netty框架實現訊息推送(即時聊天)功能. Netty框架,TCP長連線,心跳,阻塞訊息佇列,執行緒池處理訊息傳送, 基於Google ProtoBuf自定義的訊息協議, TCP粘包/拆包.... 客戶端通過TCP連線到伺服器,並建立TCP長連線;當伺服器端收到新訊息後通過TCP連線推送給

NodeJs 實現IOS APNS 訊息服務

公司的專案要求接入伺服器自己接入原生的ISO 推送服務,不再接第三方的SDK,網上也有很多例子講解什麼是APNS ,如何獲取證書,怎麼接入,剛開始還是聽順利的,就是在獲取pem證書上面有些小問題,不過後來ios開發還是解決了,最後他自己做了一個獲取證書的總結。 我做的就是nodejs 服

dotnet core使用IO合併技巧輕鬆實現千萬級訊息

之前講述過多路複用實現單服百萬級別RPS吞吐,但在文中有一點是沒有說的就是訊息IO合併,如果缺少了訊息IO合併即使怎樣多路複用也很難達到百萬級別的請求響畢竟所有應用層面的網路IO讀寫都是非常損耗效能的(需要硬體配置很高的伺服器)。這一章主要講述的是IO合併的應用,並通過這個特性實現普通單服務千萬級別的訊息推送

django中實現微信訊息

-公眾號(不能主動給使用者發訊息)   -認證的公眾號:需要營業執照,需要交錢,可以發多篇文章   -未認證的公眾號:一天只能發一篇文章 -服務號(微信推送)   -需要申請,需要認證   -可以主動給使用者推送訊息   -能給推送的人,必須關注我的服務號   -沙箱環境 -企業號   -企業裡用的: -你們

GCM()客戶端伺服器端開發全指南(伺服器篇)

由於谷歌雲推送GCM升級成為FCM,所以此部落格能容僅供參考 ————2016.12.2更新 今天我們按照之前所說的步驟介紹GCM雲推送服務端的開發,因為服務端的開發比客戶端的開發較簡單,遵從由易到難,一步一步攻破的原則,所以我先於客戶端講服務端的開發,話不多

Android gcm所需要的埠

          如果有人做過谷歌gcm的推送功能,就會想知道,如果將註冊訪問谷歌網站的服務放到伺服器上,為了安全起見,就會要求只能開通對應的谷歌服務埠,經過一番查詢,記錄如下: I've fin

GCM()客戶端伺服器端開發全指南(客戶端)

由於谷歌雲推送GCM升級成為FCM,所以此部落格能容僅供參考 ————2016.12.2更新 最近因為手頭上的工作所以耽誤了一下指南客戶端篇的編寫,而且客戶端的功能實現是比較複雜的,處理的邏輯也是比較多的,所以也花了點時間去研究了一下。 沒有看我之前兩篇部落

web+java+js的GoEasy的訊息

原文http://blog.csdn.net/xiqincai9/article/details/52535275以前都是使用ajax定時傳送請求到後臺,這種方式非常消耗系統資源。在大併發情況時如果不對執行緒進行控制的話,還會重複取資料,造成資料錯誤。   鑑於這種情況,使

fireBase

Firebase Cloud Messaging伺服器端包含兩個元件: GCM 連線伺服器,由 Google 提供。這些伺服器從一個應用伺服器獲取訊息,並將其傳送至在裝置上執行的客戶端應用。Google 為 HTTP 和 XMPP 提供連線伺服器。一臺應用伺服器,您必須在您的環境中實現它。此

WebSocket實現前後端訊息

環境 jdk8 tomcat7 谷歌瀏覽器和火狐瀏覽器(瀏覽器得支援websocket) 本文用webSocket建立一個簡單的聊天室,直接上程式碼。。。 websocket 用到jar包: <dependency> &l

實現websocket 主動訊息,用laravel+Swoole

近來有個需求:想實現一個可以主動觸發訊息推送的功能,這個可以實現向模板訊息那個,給予所有成員傳送自定義訊息,而不需要通過客戶端傳送訊息,服務端上message中監聽傳送的訊息進行做相對於的業務邏輯。 主動訊息推送實現平常我們採用 swoole 來寫 WebSocket 服務可能最多的用到的是open,me

JAVA前後端實現WebSocket訊息(針對性

1、需要新增依賴包,在pom.xml檔案中新增 javax javaee-api 7.0 provided 2、客戶端程式碼 在這裡我為了做成httpsession登入後是同一個,所以我做成兩個頁面,一個登入跳轉頁面,一個用於連結Web

flex+blazeds+java後臺訊息(簡單示例)

現在有個問題需要大家思考一下,有個已經上線了的專案,有好好幾千甚至上萬的客戶在使用了。現在專案開發商想釋出一個通知。在今天下午6點需要重新啟動伺服器,想讓線上的人在在預定的時間內都收到訊息,讓大家做好相應的準備,大家會怎麼做? 1、逐個打電話 2、在前臺弄一個定時器,每隔一

iOS訊息Java實現

首先來了解一下蘋果的訊息推送APNS(英文全稱:Apple Push Notification service) 先來看兩張蘋果對於推送的兩張解釋圖: 大概的意思就是,提供商把訊息推送至蘋果的推送伺服器,再由蘋果推送伺服器將訊息推送給手機客戶端,或者反過來手機客戶端把

Java後端實現安卓/IOS移動端訊息(百度雲

本文主要介紹Java伺服器端如何藉助第三方推送平臺(百度雲推送)推送給移動端訊息。 使用案例介紹: 根據客戶的需求,需要做一個類似淘寶訊息推送的功能,客戶下訂單、訂單付款、訂單商品已發貨,以及客戶完成評論,都需要以訊息推送提示的方式告知商家和賣家這麼一個功能,由於之前沒有實現過這方面的功

使用spring boot +WebSocket實現後臺主動)訊息

前言:使用此webscoket務必確保生產環境能相容/支援!使用此webscoket務必確保生產環境能相容/支援!使用此webscoket務必確保生產環境能相容/支援!主要是tomcat的相容與支援。有個需求:APP使用者產生某個操作,需要讓後臺管理系統部分人員感知(表現為一

java實現後臺服務器消息

cat session 原理 public ntb socket通訊 func .get ora 1.什麽是WebSocketWebSocket協議是基於TCP的一種新的網絡協議。它實現了瀏覽器與服務器全雙工(full-duplex)通信——允許服務器主動發送信息給客戶端。

MQTT+ActiveMQ實現訊息(伺服器端java實現

上一篇文章已經介紹了mqtt+activemq實現訊息推送移動端的實現,也介紹了利用自帶的web console進行訊息釋出的方法。但是在具體的專案應用中,當我們將需要將該訊息推送模組嵌入到一個後臺管理系統當中,我們就需要在web端來訪問activeMQ來進行訊