1. 程式人生 > >ThinkPHP框架整合極光推送DEMO

ThinkPHP框架整合極光推送DEMO

     極光推送(JPush)是獨立的第三方雲推送平臺,致力於為全球移動應用開發者提供專業、高效的移動訊息推送服務。

    本篇博文講述如何在將極光推送DEMO整合到ThinkPHP框架中,我使用的是極光推送PHP_DEMO_V3.4.3版本:

    1、將極光推送DEMO檔案(資料夾名稱為Jpush)放入到你的公共資料夾(Common)中,按照極光開發文件在極光後臺建立好自己的應用,獲取相應的app_key、master_secret,在檔案中將會用到這兩個值;

        wKioL1eub_7ziHNYAABFZLTAOKE110.png

    2、如上,在公共資料夾(Common)下建立function.php檔案;

    /**    
     * 將資料先轉換成json,然後轉成array
     */
    function json_array($result){
       $result_json = json_encode($result);
       return json_decode($result_json,true);
    }
    
    /**
     * 向所有裝置推送訊息
     * @param string $message 需要推送的訊息
     */
    function sendNotifyAll($message){
       require_once "JPush\JPush.php";
       $app_key = 'your app_key';                //填入你的app_key
       $master_secret = 'your master_secret';    //填入你的master_secret
       $client = new \JPush($app_key,$master_secret);
       $result = $client->push()->setPlatform('all')->addAllAudience()->setNotificationAlert($message)->send();
       return json_array($result);
    }
    
    
    /**
     * 向特定裝置推送訊息
     * @param array $regid 特定裝置的裝置標識
     * @param string $message 需要推送的訊息
     */
    function sendNotifySpecial($regid,$message){
       require_once "JPush\JPush.php";
       $app_key = 'your app_key';                //填入你的app_key
       $master_secret = 'your master_secret';    //填入你的master_secret
       $client = new \JPush($app_key,$master_secret);
       $result = $client->push()->setPlatform('all')->addRegistrationId($regid)->setNotificationAlert($message)->send();
       return json_array($result);
    }
    
    /**
     * 向指定裝置推送自定義訊息
     * @param string $message 傳送訊息內容
     * @param array $regid 特定裝置的id
     * @param int $did 狀態值1
     * @param int $mid 狀態值2
     */
    
    function sendSpecialMsg($regid,$message,$did,$mid){
       require_once "JPush\JPush.php";
       $app_key = 'your app_key';                //填入你的app_key
       $master_secret = 'your master_secret';    //填入你的master_secret
       $client = new \JPush($app_key,$master_secret);
       $result = $client->push()->setPlatform('all')->addRegistrationId($regid)
          ->addAndroidNotification($message,'',1,array('did'=>$did,'mid'=>$mid))
          ->addIosNotification($message,'','+1',true,'',array('did'=>$did,'mid'=>$mid))->send();
    
       return json_array($result);
    }
    
    /**
     * 得到各類統計資料
     * @param array $msgIds 推送訊息返回的msg_id列表
     */
    function reportNotify($msgIds){
       require_once "JPush\JPush.php";
       $app_key = 'your app_key';                //填入你的app_key
       $master_secret = 'your master_secret';    //填入你的master_secret
       $client = new \JPush($app_key,$master_secret);
       $response = $client->report()->getReceived($msgIds);
       return json_array($response);
    }

    在檔案中寫入各種整合函式,以方便在系統應用控制器中進行呼叫。

    3、最後便是在控制器中進行呼叫即可;

    //向特定使用者進行推送—單播
    //$regid可以是一個單個regid組成的字串,也可以是多個regid組成的陣列
    //$data['content']是你所需要推送的內容
    $result_s = sendNotifySpecial($regid, $data['content']);
    
    //想所有使用者進行推送—廣播
    $result_a = sendNotifyAll($data['content']);
    
    //獲取統計使用者是否獲取推送訊息的資訊(或者有多少使用者收到了推送訊息)
    //$msgids是你推送訊息的訊息id
    $result_r = reportNotify($msgIds);

相關推薦

ThinkPHP框架整合極光DEMO

     極光推送(JPush)是獨立的第三方雲推送平臺,致力於為全球移動應用開發者提供專業、高效的移動訊息推送服務。     本篇博文講述如何在將極光推送DEMO整合到ThinkPHP框架中,我使用的是極光推送PHP_DEMO_V3.4.3版本:     1、將極光

整合極光 定時

前端,後端,極光推送之間的邏輯關係 (誤區:php與前端app要對接,其實不要直接對接,php直接呼叫極光伺服器就可以了)   一、安裝jpush 極光推送  在composer的配置檔案中加入 "require": {   "jpush/jp

ionic 1,2 整合極光

專案用到極光推送,在此做個總結,以免忘記! 首先,這肯定要用到cordova的jpush外掛,這個外掛跟cordova整合的百度定位外掛有點衝突,需注意! 去極光官網申請appkey,這是必須的; 然後add此外掛,帶上appkey; 好了,在app.js檔案初始化,定義方法,程式碼

Android快速整合極光,內含自定義通知,通知物件到某一個人,或者某一群人

整合極光推送 使用jcenter 自動整合步驟 說明 : 使用 jcenter 自動整合,不需要在專案中新增 jar 和 so,jcenter 會自動完成依賴;在 AndroidManifest.xml 中不需要新增任何 JPush SDK 相關的配置,jcen

Swift 3.0 整合極光

1.前言 推送證書配置什麼的都不多講了,極光推送的開發文件裡都有詳細的介紹極光推送文件,因為官方的文件是OC版本的,我這裡主要是講解一下怎麼用Swift進行整合。 本篇文章也可移步簡書閱覽,效果更好哦! 2.配置 現在一切都已經根據他們的文件配置好了

AndroidStudio整合極光

本人學習筆記,新手可以學習,高手請避讓擼程式碼去 廢話不說,開始擼程式碼。 1、去鐳射推送官網去註冊賬號,認證身份。 https://www.jpush.cn/ 2、點選建立應用建立自己的應用。 根

關於整合極光的坑

1、根據文件使用自動整合, 需要在AndroidManifest.xml中加入下列程式碼(加粗部分) <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.androi

java+maven整合極光服務

       最近有不少想寫想記的東西,可惜最近公司太忙,還有就是我比較懶,一到家裡就不行動了。行了,今天主要是整合極光服務的及時通訊功能,直接記下來好了 我的JAVA專案主要是需要整合極光的推送訊息給android的方,所以可能我只會介紹怎麼給極光推送。

三分鐘幫你整合極光——和那些可能你不知道的事

本文簡介:本文前篇,可以幫助朋友們快速整合極光推送。本文後篇,是我自己專案實踐的一些總結和心得,應該對讀者們還是很有參考價值的,相信讀完這篇文章,你會對極光推送有更加深入的理解,而不僅僅只是會整合而已。總之呢,整合第三方SDK,都不是很難的事情,仔細閱讀文件,一步步來,遇到B

React Native 整合極光 JPush出現的一些么蛾子

Xcode報錯 error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can’t locate fi

iOS整合極光 通知 和 自定義訊息

支援的版本 r1.2.5 以後。 功能說明 只有在前端執行的時候才能收到自定義訊息的推送。 從jpush伺服器獲取使用者推送的自定義訊息的內容、標題、附件欄位等。 實現方法 獲取iOS的推送內容需要在delegate類中註冊通知並實現回撥方法。 1、在方法-

使用android studio整合極光

1.下載sdk http://docs.jiguang.cn/resources/ 2.解壓下載的壓縮包 點選開啟libs,如下圖: 我把資料夾中的內容分成了兩部分,以便下面用。接下來建一個名為

Android整合極光和踩過的坑(一)

轉載請標明出處 整合步驟以及整合過程遇到的坑: 這部分主要闡述了整合極光推送的sdk的步驟,以及我在整合過程中遇到的一些問題。整合步驟只是摘出了極光SDK中必須的骨子的部分,可以滿足一般專案Push需求,這裡只做了通知訊息,自定義的穿透訊息請詳見極光的SDK整合文件

Android整合極光踩坑(二)升級篇

轉載請標明出處 前言 前段時間針對整合極光推送寫了篇文章( Android整合極光推送和踩過的坑),後來提測以後發現了各種問題。一直沒時間總結一下,趁著週末有點時間,趕緊把這段時間裡針對Push這塊兒遇到的問題梳理一下。並且對上篇文章 《Android整合極光推

Eclipse Android開發整合極光

今天上午閒來無事,想起還沒做過推送。去官網準備整合環境。看了下是android studio的,我就沒往下看。百度了幾篇文章,硬是沒弄出來,主要是百度的文章比較舊,和現在的sdk有區別。所幸我已經完美繼承,特此寫一篇繼承文件給剛準備入坑的小夥伴。第一步:進入極光推送官網。註冊

ionic整合極光外掛-iOS

DEMO地址https://github.com/JsonJieLi/cordova-jpushDemo/tree/master 1.首先建立一個ionic的專案 前面有介紹不詳細說了也可以參考官方網

整合極光後,根據不同內容跳轉App相應的頁面

前言:由於某push到達率問題,所以我們決定換成口碑較高的極光推送,在此梳理一下完成過程,小菜鳥剛剛起步,不足之處還請各位多多指教~ 需求:1.整合極光推送 2.根據推送內容的不同跳轉相應的頁面,也就是獲取推送內容並作出處理(非官網中所

swift3.0 整合極光(v2.2)iOS10.0最新寫法

// // AppDelegate.swift // 1120-jiguang // // Created by targetcloud on 2016/11/20. // Copyright © 2016年 targetcloud. All rights rese

iOS整合極光 生產環境收不到訊息

但是! 怎麼會那麼順利嘛,問題接踵而至!由於要給裝置傳送自定義訊息來通知使用者在其他裝置登入,這裡就需要一個唯一的識別符號,可以用tags(NSeet型別標籤)、或者a’lias。 [JPUSHService setTags:nil alias:str c

Android Studio整合極光(Jpush) 報錯 java.lang.UnsatisfiedLinkError: cn.jpush.android.service.PushProtoco

Android studio 整合極光推送(Jpush) (華為手機)報錯, E/JPush: [JPushGlobal] Get sdk version fail![獲取sdk版本失敗!] W/System.err: java.lang.UnsatisfiedLinkError: cn.jpush.a