导航:首页 > 编程语言 > phpiosbadge

phpiosbadge

发布时间:2023-06-11 10:06:30

‘壹’ php怎么接收ios 上传图片 的数据流 ios 用msdata .php要怎么接收 然后保存成图片

你直接从post中取数据流,写入文件,或者保存到数据库。

‘贰’ ios推送消息 用php推送怎么实现

php实现ios推送的方法:首先把要发送的消息以及iPhone标识打包,并发送给APNS;然后查找有相应标识的iPhone,并把消息发送到iPhone;最后把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知即可。 可以分为三个阶段:
第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。
第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone。
第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知。
推送服务极光还不错,极光多种消息类型,开发者可以轻松地通过极光发送各个移动平台的系统通知,还可以在控制台编辑多种富文本展示模板; 极光还提供自定义消息的透传,客户端接到消息内容后根据自己的逻辑自由处理。

‘叁’ 如何透过 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);

?>

‘肆’ PHP极光推送如何自定义消息提醒声音。

->iosNotification($Content,Array('badge'=>'+1','sound'=>'sub.caf'))

这是ios的,安卓我之前测试貌似不行

‘伍’ apple push notification service badge 怎么获取

一.前期准备

1.从Keychain中选择Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority...
填写User email(apple开发者帐号)/Common name(key的名字),选择Save to Disk,保存到Desktop,一定要有个复选框出来的!完成后会在钥匙串种加入2个密钥
2.做完上一步,Keychain会增加一个key,在Keychain中找到Key栏,将1中生成的private key导出为.p12文件,比如Test_Push_Notifier_PrivateKey.p12

3.登录developer.apple.com的iOS portal,申请AppID,需要具体到com.XXX.XXX,即不允许最后一个字段为模糊匹配
随后对该AppID进行配置,选中Push Notification,上传前面生成的CSR文件,Portal会自动生成aps_development.cer,下载aps_development.cer
4.在Portal上生成新的Provision,将AppID选中为com.XXX.XXX,并下载新的test.mobileprovision文件,并导入到Xcode之中
5.现在我们有两个文件:Test_Push_Notifier_PrivateKey.p12/aps_development.cer。打开终端,使用openssl对两个文件进行加密
加密aps_development.cer:
openssl x509 -in aps_development.cer -inform der -out cer_dev.pem
加密Test_Push_Notifier_PrivateKey.p12
openssl pkcs12 -nocerts -in Test_Push_Notifier_PrivateKey.p12 -out key.pem
PHP服务端则将两者合并:
cat cer_dev.pem key.pem > Push_Notifier.pem
java服务端要转化为p12格式,用以下命令转化:

openssl pkcs12 -export -in cer_dev.pem -inkey key.pem -out cred_dev.p12
6.测试ApplePushServer正常:
telnet gateway.sandbox.push.apple.com 2195
7.测试加密证书工作正常:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert cer_dev.pem -key key.pem
二.客户端开发
需要实现的代码和覆盖的方法

1.在AppDelegate.m中修改-(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
函数体中添加:
[[UIApplication sharedApplication] :(UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound|UIRemoteNotificationTypeAlert)];
2.在AppDelegate.m中添加下列函数:
-(void)application:(UIApplication*)application :(NSData*)deviceToken
{
NSLog(@"我的设备ID: %@", deviceToken);
}
-(void)application:(UIApplication*)application :(NSError*)error
{
NSLog(@"注册失败,无法获取设备ID, 具体错误: %@", error);
}
3.连接设备,运行一次程序,获得deviceToken号码,应该是64个16进制的数,记下来。
4.启动方式和调用方法
程序开启 --> 前台运行-->notification --> didReceiveRemoteNotification
不更改Application的badge Number
程序开启 --> 后台运行 -->notification --> App出提示,并更改application的badge Number --> 点应用程序图标 --> applicationDidBecomeActive
程序开启 --> 后台运行 -->notification --> App出提示,并更改application的badge Number --> 点上面出现的提示,或者下拉菜单提示,或者点击alert框的确定--> didReceiveRemoteNotification --> applicationDidBecomeActive

程序关闭 -->notification --> App出提示,并更改application的badge Number --> 点上面出现的提示,或者下拉菜单提示,或者点击alert框的确定--> didFinishLaunchingWithOptions --> applicationDidBecomeActive
可以在didFinishLaunchingWithOptions中判断是否是apns来启动的

[cpp] view plain print?
NSDictionary* pushInfo = [launchOptions objectForKey:@""];
//获取推送详情
NSString *pushInfo = [[NSString stringWithFormat:@"%@",[pushInfo objectForKey:@"aps"]];

在程序中如果要根据apns信息来做修改,就需要注意这样的流程,每个启动方式所调用的方法是不同的。
三.服务器端开发
服务器端 java第三方开发
https://github.com/notnoop/java-apns
四.注意事项
1.proction和developer的token是不一样的,需要用ad hoc来beta测试下
2.要将token上传给服务器,服务器要用,此外苹果也不能保证token会保证不变,所以最好将保留过长的token删除再同步次服务器。
3.发布前要将push地址改掉
测试用:gateway.sandbox.push.apple.com 2195
发布用:gateway.push.apple.com 2195
4.不要迷信APNS,苹果不是快递公司保证每个用户签收。
5.接受2196的端口是苹果每次push后会记录下用户收到状况,如果用户已经没有安装这个应用了,则会在服务器保留信息,等服务端访问2196端口,会将这些设备TOKEN传送过来,这样服务端可以将这些设备给disable掉

阅读全文

与phpiosbadge相关的资料

热点内容
id加密门禁卡可以复制到手机吗 浏览:672
路由器如何控制某个app 浏览:43
C51编译器在标准C的基础上 浏览:260
银行卡掉了可以办车贷解压吗 浏览:317
没解压可以贷款吗 浏览:517
最小pdf阅读器 浏览:808
游戏被加密了怎样用电脑打开 浏览:300
蓝灯如何手动选择服务器 浏览:85
服务器设置在中国意味什么 浏览:571
单片机不能进行选择控制 浏览:694
咕咚手表如何绑定手机app 浏览:530
命令虚拟语气 浏览:405
戴尔系统命令 浏览:583
怎样压缩视频文件大小 浏览:686
51单片机信号发生器 浏览:56
米拍摄影哪个app好 浏览:88
天津致远曙光服务器云服务器 浏览:117
光子程序员怎么获得 浏览:535
中医诊断学第九版pdf 浏览:498
python集成包 浏览:305