1. 程式人生 > >極光推送PHP伺服器端推送移動裝置訊息

極光推送PHP伺服器端推送移動裝置訊息

<?php
/**
 * 極光推送php 伺服器端
 * @author yalong sun
 * @Email <[email protected]>  
 */
 
jpush.php  這是推送方法  用到curl傳送請求

class jpush {
private $_masterSecret = '';
private $_appkeys = '';

/**
* 建構函式
* @param string $username
* @param string $password
* @param string $appkeys
*/
function __construct($masterSecret = '',$appkeys = '') {
$this->_masterSecret = $masterSecret;
$this->_appkeys = $appkeys;
}
/**
* 模擬post進行url請求
* @param string $url
* @param string $param
*/
function request_post($url = '', $param = '') {
if (empty($url) || empty($param)) {
return false;
}

$postUrl = $url;
$curlPost = $param;
$ch = curl_init();//初始化curl
curl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定網頁
curl_setopt($ch, CURLOPT_HEADER, 0);//設定header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求結果為字串且輸出到螢幕上
curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);//執行curl
curl_close($ch);

return $data;
}
/**
* 傳送
* @param int $sendno 傳送編號。由開發者自己維護,標識一次傳送請求
* @param int $receiver_type 接收者型別。1、指定的 IMEI。此時必須指定 appKeys。2、指定的 tag。3、指定的 alias。4、 對指定 appkey 的所有使用者推送訊息。
* @param string $receiver_value 傳送範圍值,與 receiver_type相對應。 1、IMEI只支援一個 2、tag 支援多個,使用 "," 間隔。 3、alias 支援多個,使用 "," 間隔。 4、不需要填
* @param int $msg_type 傳送訊息的型別:1、通知 2、自定義訊息
* @param string $msg_content 傳送訊息的內容。 與 msg_type 相對應的值
* @param string $platform 目標使用者終端手機的平臺型別,如: android, ios 多個請使用逗號分隔
*/
function send($sendno = 0,$receiver_type = 1, $receiver_value = '', $msg_type = 1, $msg_content = '', $platform = 'android,ios') {
$url = 'http://api.jpush.cn:8800/sendmsg/v2/sendmsg';
$param = '';
$param .= '&sendno='.$sendno;
$appkeys = $this->_appkeys;
$param .= '&app_key='.$appkeys;
$param .= '&receiver_type='.$receiver_type;
$param .= '&receiver_value='.$receiver_value;
$masterSecret = $this->_masterSecret;
$verification_code = md5($sendno.$receiver_type.$receiver_value.$masterSecret);
$param .= '&verification_code='.$verification_code;
$param .= '&msg_type='.$msg_type;
$param .= '&msg_content='.$msg_content;
$param .= '&platform='.$platform;
$res = $this->request_post($url, $param);
if ($res === false) {
return false;
}
$res_arr = json_decode($res, true);
          return $res_arr;
}

}


?>

send.php  

<?php
      include('jpush.php');
 $n_title   =  '驛泊';
 $n_content =  '驛泊人生';

 $arr = array('fromer'=>'傳送者','fromer_name'=>'傳送者名字','fromer_icon'=>'傳送者頭像','image'=>'傳送圖片連結','sound'=>'傳送音樂連結');//自定義引數
      $appkeys='先上傳app應用專案,自動生成的key';
      $masterSecret='appkey下邊就同樣生成mastersecret的祕鑰';
      $sendno = 4;
      $receiver_value = '';
$platform = 'android,ios' ;
$msg_content = json_encode(array('n_builder_id'=>0, 'n_title'=>$n_title, 'n_content'=>$n_content,'n_extras'=>$arr));        
$obj = new jpush($masterSecret,$appkeys); 
$res = $obj->send($sendno, 4, $receiver_value, 1, $msg_content, $platform);
print_r($res);
exit();
?>

相關推薦

極光PHP伺服器移動裝置訊息

<?php /**  * 極光推送php 伺服器端  * @author yalong sun  * @Email <[email protected]>    */  jpush.php  這是推送方法  用到curl傳送請求 class jp

極光伺服器向android等客戶例項

原文:http://blog.csdn.net/u014733374/article/details/43560983 找了兩天,總算找到一個靠譜的了。開始測試的時候總是報各種錯誤,尤其是不能找到audience的錯誤,偶然想到,用極光開放平臺整合的客戶

MQTT+ActiveMQ實現訊息伺服器java實現)

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

極光 java 服務api demo(不使用官方的sdk)

極光推送  java 服務端推送api  demo(不使用官方的sdk)1 極光推送的核心類如下:import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.asse

Java 消息------GoEasy實現服務和web

subscribe rip world 查詢 start easy 需要 註冊 註意 項目中需要消息推送,又想較低開發成本,具體需求:角色用戶在後臺管理頁面發布一個消息,所有用這個系統的用戶無論在哪個頁面都能及時收到他發布的消息,後來我在網上查詢到了一個第三方的免費推送服務

php伺服器檢查手機訪問還是pc訪問(並跳到不同頁面)

<?php function is_mobile(){      //正則表示式,批配不同手機瀏覽器UA關鍵詞。      $regex_match="/(nokia|iphone|android|motorola|^mot\-|softbank|foma

IOS遊戲 與PHP伺服器的AES通訊加密

來源:http://www.mjplay.com.cn/ios-php-aes/ PHP 的AES加密解密 <?php $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB); $i

php 伺服器解決json_decode()的bug 輸出為null, json_last_error函式為4語法錯誤

php 伺服器端解決json_decode() bug 問題: 問題描述: json_decode() 轉換json字串時輸出結果為 null,函式返回值為false 出現問題的分析: 1

php伺服器加密+delphi客戶加密

DelphiI've been using Delphi for quite a long time now, from version 1 on Windows 3.11! I intend to release any interesting things that I

實現PHP伺服器+Android客戶(Retrofit+RxJava)第六天的實現

廢話不多說,今天來說說近幾天的成果。 如何實現推送 android客戶端nio的使用 為啥要使用長連線 長連線的建立 php伺服器如何實現長連線 後期需要優化的部分 如何實現推送 推送的原理其實也很簡單,伺服器和客戶端實現長連線,實現了長連線之後就

百度雲伺服器(php版)

<?php namespace Admin\Controller; use Think\Controller; use Org\Net; class AppController extends Controller{ private $appService;

如何使用極光,java服務向鐳射伺服器進行

第一種:使用官方的sdk直接使用 /** * <pre>專案名稱:bsa-admin-api * 檔名稱:Test.java * 包名:com.bsa.api.jiguang * 建立日期:2018年12月10日下午2:30:19 * Copyright (c

Android客戶PHP服務通訊(五)---移植使用極光

概述     上一節備研究了示例工程的框架,本節準備自己建立工程,並將極光推送移植到其上。 建立工程     首先建立一個工程,工程名和應用名為lovelife,包名com.lygk.lovelife     一直“Next”,直到Finish,此時建立工程完畢,如下圖

極光訊息伺服器開發實現(上)

以前一直使用的極光的手動輸入推送內容然後推送到客戶端,今天遇到了推送頻率比較高且比較有規律的內容,比如事實天氣。這樣就需要用我們自己的伺服器來自動生成推送內容了。 可以看到,上面兩句話很醒目,我們看看它封裝的REST API是個什麼東西,再點進去看看 上面兩句話讀了一

Android客戶PHP服務通訊(三)---極光註冊使用

概述     推送訊息的方式有很多,在這裡我選擇了極光推送。本節分為上下兩部分,首先通過註冊極光推送並使用其Demo程式來看一下推送的效果,然後再一步一步的修改到自己的應用上。註冊登入極光推送     開發人員基本上都瞭解使用第三方的庫,很多都需要註冊才能使用,極光推送也不

java伺服器呼叫JPush極光api通知訊息

呼叫JPush推送的api,官網上已經有很詳細的說明了,我只是寫了一個小的demo測試下了! 在極光推送的官網註冊帳號,獲得應用標識(AppKey) , API MasterSecret , apk應用,將apk安裝在手機上並執行, 後臺測試程式碼: package com.zensoftware.

# Android 極光伺服器移動

Android 極光推送伺服器端和移動端 這裡是Android 有關伺服器端進行推送和手機客戶端接收的一些簡單的例子 伺服器端採用的是MyEclipse2014,手機端是Android studio 2.0 下面是一個簡單的JSP頁面程式碼 <

關於"極光"APPJPUSH的伺服器使用

package cn.eleph.common.utils; import cn.jpush.api.JPushClient; import cn.jpush.api.common.resp.APIConnectionException; import cn.jpush.api.common.resp.API

極光JPush客戶伺服器的整合

一、應用場景     有些情況下,我們專案的伺服器端需要“自己”擁有推送訊息到手機客戶端的能力,比如,一些商家端的APP應用,當用戶下單後,我們的後臺系統需要即時的通知到商家APP端,這就要求我們的後臺系統擁有推送功能。最經濟便捷的一種方式就是伺服器端整合一套第三方的推

極光訊息伺服器開發實現(下)

前面我們已經實現了通過我們自己的伺服器生成訊息向極光訊息推送伺服器傳送推送訊息的功能,下面我們來看看如何在手機客戶端實現訊息接收。 一、在極光上建立一個測試專案 如上圖所示,下載Android Example 執行效果如圖 下面我們通過原始碼先看看上面的四行顯示Tex