Push-уведомление, когда userId еще не зарегистрирован в AppHQ
Я пользуюсь сервисом push-уведомлений приложения Shephertz's App42.
Я пытаюсь отправить пуш-уведомление пользователю, когда другой игрок побьет его счет. Я занимаюсь тем, что player1 регистрирует свой счет и идентификатор Facebook на сервере MySQL. Player1 также регистрирует идентификатор Facebook в качестве идентификатора пользователя в App42 Push Notification. Затем player2 делает то же самое, но со счетом больше, чем player1. Затем PHP-код, который управляет оценкой пользователя, проверит, что оценка player2 больше, чем player1. Поэтому я использую этот PHP-код для отправки Push-уведомления player1
$ pushNotification = $ pushNotificationService-> sendPushMessageToUser ($ user, $ message);
Если player1 зарегистрировал свой userId в AppHQ, то он работает очень хорошо.
Но, в некоторых случаях, включая тест, player1 еще не зарегистрировался в AppHQ (возможно, он не хотел разрешать push-уведомления). Проблема возникает здесь, и я получил эту ошибку:
Неустранимая ошибка: необработанное исключение 'com\shephertz\app42\paas\sdk\php\App42NotFoundException' в /home/vhosts/www.kanpot2002.com/1.2/RestClient.class.php:324 трассировки стека:
# 0 /home/vhosts/www.kanpot2002.com/1.2/PushNotificationService.php(239): com \ shephertz \ app42 \ paas \ sdk \ php \ connection \ RestClient:: post (' https://api.she/... ', Array, NULL, NULL,' application / jso... ',' application / jso... ',' {"app42": {"push... ')
# 1 /home/vhosts/www.kanpot2002.com/PushNotificationManager.php(34): com \ shephertz \ app42 \ paas \ sdk \ php \ push \ PushNotificationService-> sendPushMessageToUser (563043561, "FIRST_NAME имеет...")
# 2 /home/vhosts/www.kanpot2002.com/addbestscore.php(85): PushNotificationManager-> SendMessageToUser (563043561, "FIRST_NAME has ...")
# 3 {main} добавлено в /home/vhosts/www.kanpot2002.com/1.2/RestClient.class.php в строке 324
Тогда я пытаюсь использовать это
try{ $pushNotification = $pushNotificationService->sendPushMessageToUser($user,$message); } catch(Exception $e){}
Результат лучше. Первый пользователь без идентификатора пользователя перехватывается и не имеет ошибок. Но второй пользователь дал мне эту ошибку (как будто он игнорирует оператор try catch)
Неустранимая ошибка: вызов функции-члена __get() для необъекта в /home/vhosts/www.kanpot2002.com/1.2/PushNotificationResponseBuilder.php в строке 23
Я действительно застрял в этом. Пожалуйста помоги!
Спасибо,
kanpot2002
1 ответ
Создайте новый экземпляр сервиса, когда бы вы ни вызвали его метод.
$pushService= $api->buildPushNotificationService();