导航:首页 > 编程语言 > 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局域网服务器地址 浏览:1002
数码科技解压 浏览:235
新网的云服务器管理界面复杂吗 浏览:367
无人声解压强迫症视频 浏览:571
计算机编译运行 浏览:639
单片机嵌套 浏览:988
python字符串中符号 浏览:787
python正则表达式贪婪模式 浏览:649
爱国精神指的是什么app 浏览:408
寿司解压系列全集视频 浏览:913
物体三维重建算法 浏览:984
fuli直播app哪个好 浏览:918
租办公室用什么app 浏览:106
医师定期考核刷题app哪个好 浏览:338
导出dmp文件命令 浏览:288
手机百度网盘怎么解压密码文件 浏览:585
索引重新编译 浏览:606