我正在使用Firebase通知与具有Laravel / PHP服务器的android应用程序进行通信,
我的PHP代码:
$url = "https://fcm.googleapis.com/fcm/send";
$fields = array(
'registration_ids' => $fcm_id, /* array for fcm ids */
'data' => $data
);
$headers = array(
'Authorization: key=/*My Key*/',
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
curl_exec($ch);
curl_close($ch);
这段代码可以正常工作,但是当有大量注册ID时,会花费太多时间,要解决此问题,我必须使用后台进程进行卷曲,以便在curl中使用timeout_ms 就像:
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 10);
但是当我使用此行时,通知不会发送到android。
我的问题是为什么当我使用此行时fcm的执行会停止,或者还有其他方法可以对FCM通知进行后台处理吗?