phpios推送
Ⅰ ios推送消息 用php推送怎麼實現
php實現ios推送的方法:首先把要發送的消息以及iPhone標識打包,並發送給APNS;然後查找有相應標識的iPhone,並把消息發送到iPhone;最後把發來的消息傳遞給相應的應用程序,並且按照設定彈出Push通知即可。 可以分為三個階段:第一階段:應用程序把要發送的消息、目的iPhone的標識打包,發給APNS。
第二階段:APNS在自身的已注冊Push服務的iPhone列表中,查找有相應標識的iPhone,並把消息發送到iPhone。
第三階段:iPhone把發來的消息傳遞給相應的應用程序,並且按照設定彈出Push通知。
推送服務極光還不錯,極光多種消息類型,開發者可以輕松地通過極光發送各個移動平台的系統通知,還可以在控制台編輯多種富文本展示模板; 極光還提供自定義消息的透傳,客戶端接到消息內容後根據自己的邏輯自由處理。
Ⅱ php使用JPush極光推送ios android自定義消息
看官方demo啊
Ⅲ 如何透過 PHP 發送 Apple Notification Push
為Apple Push開發的PHP PEAR 包:Services_Apple_PushNotification
Apple Push Notification Service:通過蘋果伺服器向app用戶推送消息,無需啟動app。
蘋果官方文檔:http://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW9
對於這種第三方庫,PHP官方稱之為PEAR,需要按照PEAR標准開發(標准URI)。
PEAR的優勢:一鍵安裝到php/lib/php目錄,require即可使用,很方便。
PHP PEAR上有一個Services_Apns,github上有一個Services_APNS,但都無法使用,所以我開發了一個,安裝步驟如下:
pear channel-discover sinkcup.github.io/pear
pear install sinkcup/Services_Apple_PushNotification
使用步驟:
1、登錄蘋果開發者後台,下載dev或prod證書,合並成pem文件。在ios app里添加push許可權,獲得device token。參考:http://www.cnblogs.com/gpwzw/archive/2012/03/31/Apple_Push_Notification_Services_Tutorial_Part_1-2.html
2、demo(參考)
<?php
require_once 'Services/Apple/PushNotification.php';
$conf = array(
'password' => '12346',
'cert' => '/home/u1/cert.pem-sandbox',
);
$o = new Services_Apple_PushNotification('sandbox', $conf);
$deviceToken = '';
$data = array(
'aps' => array(
'alert' => '測試push sandbox',
'badge' => 2,
'sound' => 'default',
)
);
$r = $o->send($deviceToken, $data);
var_mp($r);
exit;
?>
輸出:
bool(true)
我的PEAR 頻道:http://sinkcup.github.io/pear/
Services_Apple_PushNotification項目代碼:https://github.com/sinkcup/Services_Apple_PushNotification
Ⅳ ios 推送是建立在 蘋果推送伺服器嗎
方法/步驟
在developer.apple.com的member center設置AppId屬性,
enable push.
在developer.apple.com的member center創建APN證書,
Development -> Apple Push Notification service SSL (Sandbox) 用於沙盒app
Proction -> Apple Push Notification service SSL 用於AppStore app
創建完畢後,可以第一步AppId的屬性列表中查看到證書名稱
基於第1步修改的AppID重新生成provision file,
在iOS Project中載入此provision file,
這樣編譯出的app才可以獲取到device token(推送唯一標識符)
以下為針對服務端的推送設置步驟--------
在keychain中找到第1步創建的APN證書,
展開此證書,分別導出證書和密鑰,
名稱設為cer.p12和key.p12
打開控制台程序,
使用openssl 將cer.p12及key.p12轉成cer.pem和key.pem
命令如下:
$ openssl pkcs12 -clcerts -nokeys -out cer.pem -in cer.p12
$ openssl pkcs12 -nocerts -out key.pem -in key.p12
測試生成的cer.pem及key.pem是否可用
$ openssl s_client -connect gateway.push.apple.com:2195 -cert cer.pem -key key.pem
註:gateway.push.apple.com:2195用於appStore app;
gateway.sandbox.push.apple.com:2195用於沙盒app;
以上命令執行後會列印一大羅信息,最後處於可輸入狀態,打幾個字元回車後自動斷開連接即為正常。
合並cer.pem及key.pem
$ cat cer.pem key.pem > ck.pem
上傳ck.pem到推送伺服器的推送程序的目錄。
Tip:-----------------------
find / -name "*.php"
查詢推送伺服器php文件目錄用。
scp ~/Desktop/ck.pem [email protected]:/var/www/html
用於上傳本地文件到Linux伺服器用。
9
伺服器php代碼載入ck.pem向蘋果伺服器推送消息:略
客戶端oc代碼獲取token,接收推送消息:略
Ⅳ 如何實現消息推送功能
?可以用第三方軟體極光推送來實現。對於定製化需求較強的,或者想擁有自己推送平台的開發者,極光提供全功能的私有雲方案。極光推送快速開始步驟: 1、到極光推送官方網站注冊開發者帳號;
2、登錄進入管理控制台,創建應用程序,得到 Appkey(SDK 與伺服器端通過 Appkey 互相識別);
3、在推送設置中給 Android 設置包名、給 iOS 上傳證書、啟用 WinPhone,根據你的需求進行選擇;
4、下載 SDK 集成到 App 里。
客戶端初始化 JPush 成功後,JPush 服務端會分配一個 Registration ID,作為此設備的標識(同一個手機不同 App 的 Registration ID 是不同的)。開發者可以通過指定具體的 Registration ID 來進行對單一設備的推送。
Ⅵ ios app 通知角標+1 php該怎麼做
這個是你app跟後端通信的操作,php無法直接操作ios,你可以隨便推送一個數據給你的app,讓你的app來實現
Ⅶ php 給iOS推送信息 提示推送成功手機卻收不到消息
信息量太少,收不到消息的原因,我隨口能說出來一百種可能,你有沒有參與調試?
push消息連接是否暢通?別的數據是否可以正常還是專有數據無法接收?
是否網路不暢造成的?等等,需要技術人員去調試才能得到更進一步的解決方法
你這問題問成個表面原因了,這是該用戶提出來的原因,而非出自技術人員之口。
Ⅷ php 怎麼做 內部的消息推送呢
?可以用第三方軟體極光推送來實現。對於定製化需求較強的,或者想擁有自己推送平台的開發者,極光提供全功能的私有雲方案。極光推送快速開始步驟: 1、到極光推送官方網站注冊開發者帳號;
2、登錄進入管理控制台,創建應用程序,得到 Appkey(SDK 與伺服器端通過 Appkey 互相識別);
3、在推送設置中給 Android 設置包名、給 iOS 上傳證書、啟用 WinPhone,根據你的需求進行選擇;
4、下載 SDK 集成到 App 里。
客戶端初始化 JPush 成功後,JPush 服務端會分配一個 Registration ID,作為此設備的標識(同一個手機不同 App 的 Registration ID 是不同的)。開發者可以通過指定具體的 Registration ID 來進行對單一設備的推送。
Ⅸ ios為什麼php推送成功手機上收不到推送消息
如果你確認 appKey 在 SDK 客戶端與 Portal 上設置是一致,其他環節也按照文檔正確地操作。但還是收不到推送消息。那麼,有一定的可能性,是你在 Portal 上上傳的證書,不是 APNs (Push) 證書。 請參考iOS 證書設置指南再次檢查證書選擇是否正確...
Ⅹ php ios 推送 可以使用curl嗎
<?php
02//
03ini_set('display_errors','on');
04error_reporting(E_ALL);
05
06
07//Apnsconfig
08
09//true-useapnsinproctionmode
10//false-useapnsindevmode
11define("PRODUCTION_MODE",false);
12
13$serverId=1;
14$serverName='my-server-domain.com';
15
16if(PRODUCTION_MODE){
17$apnsHost='gateway.sandbox.push.apple.com';
18}else{
19$apnsHost='gateway.push.apple.com';
20}
21
22$apnsPort=2195;
23if(PRODUCTION_MODE){
24//
25$apnsCert=$_SERVER['DOCUMENT_ROOT'].'/apns/apns-dominos-development.pem';
26}else{
27//Useaproctionpushcertificate
28$apnsCert=$_SERVER['DOCUMENT_ROOT'].'/apns/apns-dominos-proction.pem';
29}
30
31
32//---Sendingpushnotification---
33
34//Insertyourdevicetokenhere
35$device_token="<>";//SomeDeviceToken
36
37
38//Notificationcontent
39
40$payload=array();
41
42//Basicmessage
43$payload['aps']=array(
44'alert'=>'testing1,2,3..',
45'badge'=>1,
46'sound'=>'default',
47);
48$payload['server']=array(
49'serverId'=>$serverId,
50'name'=>$serverName
51);
52//
53$payload['data']=array(
54'foo'=>"bar"
55);
56$payload=json_encode($payload);
57
58$streamContext=stream_context_create();
59stream_context_set_option($streamContext,'ssl','local_cert',$apnsCert);
60stream_context_set_option($streamContext,'ssl','passphrase',"");
61
62
63$apns=stream_socket_client('ssl://'.$apnsHost.':'.$apnsPort,$error,$errorString,2,STREAM_CLIENT_CONNECT,$streamContext);
64
65
66$deviceToken=str_replace("","",substr($device_token,1,-1));
67echo$deviceToken;
68$apnsMessage=chr(0).chr(0).chr(32).pack('H*',str_replace('','',$deviceToken)).chr(0).chr(mb_strlen($payload)).$payload;
69fwrite($apns,$apnsMessage);
70
71
72//socket_close($apns);
73fclose($apns);
74
75?>