bryglen\apnsgcm\Gcm::sendMulti PHP Метод

sendMulti() публичный Метод

Usage 1: $this->sendMulti( 'some-valid-token', 'some-message', [ 'custom_data_key_1' => 'custom_data_value_1', 'custom_data_key_2' => 'custom_data_value_2', ] ); Usage 2: $this->sendMulti( ['valid-token-1','valid-token-2','valid-token-3'], 'some-message', [ 'custom_data_key_1'=>'custom_data_value_1', 'custom_data_key_2'=>'custom_data_value_2', ] );
public sendMulti ( string | array $tokens, $text, array $payloadData = [], array $args = [] ) : null | PHP_GCM\Message
$tokens string | array
$text
$payloadData array
$args array
Результат null | PHP_GCM\Message
    public function sendMulti($tokens, $text, $payloadData = [], $args = [])
    {
        $tokens = is_array($tokens) ? $tokens : [$tokens];
        // check if its dry run or not
        if ($this->dryRun === true) {
            $this->log($tokens, $text, $payloadData, $args);
            $this->success = true;
            return null;
        }
        $message = new \PHP_GCM\Message();
        foreach ($args as $method => $value) {
            $value = is_array($value) ? $value : [$value];
            call_user_func_array([$message, $method], $value);
        }
        // set a custom payload data
        $payloadData['message'] = $text;
        foreach ($payloadData as $key => $value) {
            $message->addData($key, $value);
        }
        try {
            // send a message
            $result = $this->getClient()->sendMulti($message, $tokens, $this->retryTimes);
            $this->success = $result->getSuccess();
        } catch (\InvalidArgumentException $e) {
            $this->errors[] = $e->getMessage();
            // $deviceRegistrationId was null
        } catch (\PHP_GCM\InvalidRequestException $e) {
            if ($e->getMessage()) {
                $this->errors[] = $e->getMessage();
            } else {
                $this->errors[] = sprintf("Received error code %s from GCM Service", $e->getCode());
            }
            // server returned HTTP code other than 200 or 503
        } catch (\Exception $e) {
            $this->errors[] = $e->getMessage();
            // message could not be sent
        }
        return $message;
    }