導航:首頁 > 編程語言 > php蘋果推送推送

php蘋果推送推送

發布時間:2022-07-14 12:51:03

A. 如何用 php代碼實現 ios 等多台設備的推送信息功能

你是說的是手機的那種彈出推送嗎?現在一般都用極光推送,對接好之後,兩個平台都可以支持的很好,我是個程序員,沒有打廣告的意思。

B. 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?>

C. php使用JPush極光推送ios android自定義消息

看官方demo啊

D. 如何透過 PHP 發送 Apple Notification Push

在 PHP 的實作上透過 stream_context_create() 函式建立 SSL 連線,再利用 pack() 函式實作上述的規格來傳送 Bytes 資料 (Payload),以下是 PHP 最精簡的發送訊息程式碼,執行後可以順利與 APNS 溝通與發送訊息。各位可以依據需求修改程式來發送 Enhanced 或 Simple 訊息,或者切換 Sandbox 或 Proction 環境。程式範例如下:

<?php

// Proction mode

$certificateFile = 'apns-dis.pem';

$pushServer = 'ssl://gateway.push.apple.com:2195';

$feedbackServer = 'ssl://feedback.push.apple.com:2196';

// Sandbox mode

$certificateFile = 'apns-dev.pem';

$pushServer = 'ssl://gateway.sandbox.push.apple.com:2195';

$feedbackServer = 'ssl://feedback.sandbox.push.apple.com:2196';

// push notification

$streamContext = stream_context_create();

stream_context_set_option($streamContext, 'ssl', 'local_cert', $certificateFile);

$fp = stream_socket_client(

$pushServer,

$error,

$errorStr,

100,

STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT,

$streamContext

);

// make payload

$payloadObject = array(

'aps' => array(

'alert' => 'Server Time:'.date('Y-m-d H:i:s'),

'sound' => 'default',

'badge' => 3

),

'custom_key' => 'custom_value'

);

$payload = json_encode($payloadObject);

$deviceToken = '';

$expire = time() + 3600;

$id = time();

if ($expire) {

// Enhanced mode

$binary= pack('CNNnH*n', 1, $id, $expire, 32, $deviceToken, strlen($payload)).$payload;

} else {

// Simple mode

$binary= pack('CnH*n', 0, 32, $deviceToken, strlen($payload)).$payload;

}

$result = fwrite($fp, $binary);

fclose($fp);

?>

E. php 給iOS推送信息 提示推送成功手機卻收不到消息

信息量太少,收不到消息的原因,我隨口能說出來一百種可能,你有沒有參與調試?
push消息連接是否暢通?別的數據是否可以正常還是專有數據無法接收?
是否網路不暢造成的?等等,需要技術人員去調試才能得到更進一步的解決方法
你這問題問成個表面原因了,這是該用戶提出來的原因,而非出自技術人員之口。

F. 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,接收推送消息:略

閱讀全文

與php蘋果推送推送相關的資料

熱點內容
解壓的玩具教程可愛版 瀏覽:364
哪個求職app比較靠譜 瀏覽:886
java的讀法 瀏覽:59
nod32區域網伺服器地址 瀏覽:1000
數碼科技解壓 瀏覽:235
新網的雲伺服器管理界面復雜嗎 瀏覽:367
無人聲解壓強迫症視頻 瀏覽:571
計算機編譯運行 瀏覽:639
單片機嵌套 瀏覽:988
python字元串中符號 瀏覽:787
python正則表達式貪婪模式 瀏覽:648
愛國精神指的是什麼app 瀏覽:408
壽司解壓系列全集視頻 瀏覽:913
物體三維重建演算法 瀏覽:984
fuli直播app哪個好 瀏覽:918
租辦公室用什麼app 瀏覽:106
醫師定期考核刷題app哪個好 瀏覽:338
導出dmp文件命令 瀏覽:288
手機百度網盤怎麼解壓密碼文件 瀏覽:585
索引重新編譯 瀏覽:606