Tengo una configuración de OneSignal para enviar notificaciones a usuarios específicos a través de una identificación de usuario externa de la siguiente manera
$fields = [ 'app_id' => env( 'app.onesignalAppKey' ), 'priority' => 10, // High priority. 'include_external_user_ids' => [ md5( $contact['email'] ) ], 'channel_for_external_user_ids' => 'push', 'headings' => [ 'en' => $this->subject ], 'contents' => [ 'en' => $this->message ], 'url' => [ 'en' => base_url( $this->args['log_extra']['url'] ) ] ]; $fields = json_encode($fields); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, env( 'app.Onesignalurl')); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8', 'Authorization: Basic '. env( 'app.onesignalAPI' ))); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_HEADER, FALSE); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); $response = curl_exec($ch); curl_close($ch);Durante la prueba, recibo una notificación, pero al registrar la notificación se redirigirá a una URL incorrecta.
https://example.com/onesignal/{"en"=>"https://example.com/correct-path"}
Trabajador de servicio de OneSignal instalado con alcance establecido en /onesignal/
¿No estoy haciendo algo malo aquí...?
Simplemente coloque la URL como una cadena en la matriz $fields , no como una matriz. me gusta:
'url' => base_url( $this->args['log_extra']['url'] ),