色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

ios php 推送

在移動(dòng)互聯(lián)網(wǎng)時(shí)代,推送服務(wù)已經(jīng)成為了APP開發(fā)者們必不可少的一項(xiàng)功能。而在iOS系統(tǒng)中,蘋果官方提供了APNs(Apple Push Notification service)作為推送服務(wù)的支持,而PHP則是一個(gè)很好的推送服務(wù)開發(fā)工具。本文將為大家介紹iOS系統(tǒng)下如何使用PHP進(jìn)行推送服務(wù)的開發(fā)。 在iOS系統(tǒng)下,推送服務(wù)主要有兩種方式:本地推送和遠(yuǎn)程推送。本地推送是指APP在本地進(jìn)行推送消息,用戶無需進(jìn)行網(wǎng)絡(luò)連接也可以接收到消息。而遠(yuǎn)程推送則需要通過網(wǎng)絡(luò)連接實(shí)現(xiàn),是目前應(yīng)用更為廣泛的推送方式。下面以遠(yuǎn)程推送為例進(jìn)行介紹。 在iOS系統(tǒng)下,實(shí)現(xiàn)遠(yuǎn)程推送通常分為3個(gè)步驟:注冊APNs,生成設(shè)備Token,使用Token發(fā)送推送消息。我們可以通過在APP中實(shí)現(xiàn)以下代碼來注冊APNs:
//注冊APNs
if (UIApplication.SharedApplication().isRegisteredForRemoteNotifications) {
print("已經(jīng)注冊過APNs")
} else {
let center = UNUserNotificationCenter.current()
center.requestAuthorization(options: [.alert, .badge, .sound]) { (success, error) in
}
UIApplication.SharedApplication().registerForRemoteNotifications()
}
完成APNs的注冊后,我們還需要通過以下代碼獲取設(shè)備Token:
//APNs注冊成功后獲取deviceToken
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let tokenString = deviceToken.hexString
//將tokenString發(fā)送給后臺(tái)服務(wù)器進(jìn)行保存
}
最后是推送消息的發(fā)送。在服務(wù)器端,我們可以通過使用PHP進(jìn)行推送消息。具體實(shí)現(xiàn)方式如下:
'Hello!',
'sound' =>'default'
);
$payload = json_encode($body);
// 創(chuàng)建SSL連接
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', $pem);
stream_context_set_option($ctx, 'ssl', 'passphrase', '123456');
$fp = stream_socket_client(
'ssl://gateway.push.apple.com:2195',
$err,
$errstr,
60,
STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT,
$ctx
);
// 發(fā)送推送信息
$message = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;
fwrite($fp, $message, strlen($message));
fclose($fp);
?>
以上就是一個(gè)簡單的PHP遠(yuǎn)程推送服務(wù)。通過以上代碼,我們可以實(shí)現(xiàn)在iOS系統(tǒng)下向用戶發(fā)送推送消息的功能。 總之,PHP是一個(gè)很好的推送消息服務(wù)開發(fā)工具,在iOS系統(tǒng)下實(shí)現(xiàn)遠(yuǎn)程推送消息非常簡單。希望以上介紹對(duì)大家有所幫助。