我尝试通过以下代码发送,但收到“操作未实现、不支持或启用”此错误。
$users = [
['registration_token' => "eUr2Gyu0R-WD2giKqQuBHO:APA91bE97YKaBcc0-nckfDcGfF1U0olmkDxomvjM-HM-fNfy9yl1IwBvOPOxvzTATktfIz8GU-daCwr4HB3qYBtwAdvpaJ839cLaJ32XW0NVLToJ07dfJkxTMGhWe-fVAvRw314AOsP6"],
// ...more tokens
];
$messages = [];
foreach ($users as $user) {
$messages[] = CloudMessage::withTarget('token', $user['registration_token'])
->withNotification([
'title' => "Tittle...",
'body' => "Message",
]);
}
$messaging = (new Factory())
->withServiceAccount('firebase_cloud_messaging.json')
->createMessaging();
$sendReport = $messaging->sendAll($messages);
echo 'Successful sends: ' . $sendReport->successes()->count() . PHP_EOL;
print_r($sendReport->failures());```
sendMulticast()
消息是将一条消息发送到多个设备的便捷方法。
use Kreait\Firebase\Messaging\CloudMessage;
$message = CloudMessage::new(); // Any instance of Kreait\Messaging\Message
$deviceTokens = ['...', '...' /* ... */];
/** @var Kreait\Firebase\Messaging\MulticastSendReport $sendReport **/
$sendReport = $messaging->sendMulticast($message, $deviceTokens);
有关此问题的更多信息,请参阅此文档。