Я пытаюсь отправить Push-уведомление в свое собственное приложение с помощью PHP,
приведенный ниже код отправляет также всем пользователям, которые зарегистрировали свой токен, и одновременно отправляет большое количество уведомлений, хотя токен предназначен для конкретного устройства, но продолжает отправлять уведомление всем
$key = "ExponentPushToken[0GAEokJazChx21MOxeC1l2]";
$title = "title";
$interestDetails = ['https://exp.host/--/api/v2/push/send',$key];
try{
$expo = \ExponentPhpSDK\Expo::normalSetup();
// Subscribe the recipient to the server
$expo->subscribe($interestDetails[0], $interestDetails[1]);
// Build the notification data
$notification = ['title' => $title,'body' => $msg];
// Notify an interest with a notification
$expo->notify($notification);
$status = 'success';
}catch(Exception $e){
}
?>
Я попытался изменить свой код следующим образом
<?php
$key = "ExponentPushToken[0GAEokJazChx21MOxeC1l2]";
$title = "title";
try{
$expo = \ExponentPhpSDK\Expo::normalSetup();
// Build the notification data
$notification = ['to' => $key,'title' => $title,'body' => $msg];
// Notify an interest with a notification
$expo->notify('https://exp.host/--/api/v2/push/send',$notification);
$status = 'success';
}catch(Exception $e){
echo $e;
}
echo $status;
?>
Он был отправлен конкретному пользователю, но все равно продолжает отправлять большое количество уведомлений одновременно?
Попробуй это
$key = "ExponentPushToken[0GAEokJazChx21MOxeC1l2]";
$userId = 'userId from your database';
$notification = ['title' => $title,'body' => $msg];
try{
$expo = \ExponentPhpSDK\Expo::normalSetup();
$expo->notify($userId,$notification);//$userId from database
$status = 'success';
}catch(Exception $e){
$expo->subscribe($userId, $key); //$userId from database
$expo->notify($userId,$notification);
$status = 'new subscribtion';
}
echo $status;
?>
Других решений пока нет …