Помощь, необходимая для перехода на FCM HTTP V1 в проекте Symfony 2.8Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Помощь, необходимая для перехода на FCM HTTP V1 в проекте Symfony 2.8

Сообщение Anonymous »

В настоящее время я работаю над проектом, который был создан с помощью Symfony 2.8, и у меня возникают проблемы при попытке мигрировать в API FCM HTTP V1. Я понятия не имею, что такое процедура, и был бы очень благодарен за вашу помощь в решении этой проблемы. Вот соответствующие фрагменты кода для текущей реализации FCM: < /p>

Код: Выделить всё

class HomeController extends Controller
{
function send_notificationToken ($tokens, $message,$key)
{
$url = 'https://fcm.googleapis.com/fcm/send';
$fields = array(
'registration_ids'  => $tokens,
'data'   => $message

);
$headers = array(
'Authorization:key = '.$key,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
}
curl_close($ch);
return $result;
}
function send_notification ($tokens, $message,$key)
{
$url = 'https://fcm.googleapis.com/fcm/send';
$fields = array(
'to'  => '/topics/Flixo',
'data'   => $message
);
$headers = array(
'Authorization:key = '.$key,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' .  curl_error($ch));
}
curl_close($ch);
return $result;
}
public function privacypolicyAction() {
$em = $this->getDoctrine()->getManager();
$setting = $em->getRepository("AppBundle:Settings")->findOneBy(array(), array());
return $this->render("AppBundle:Home:privacypolicy.html.twig", array("setting" => $setting));
}
public function apprefundpolicyAction() {
$em = $this->getDoctrine()->getManager();
$setting = $em->getRepository("AppBundle:Settings")->findOneBy(array(), array());
return $this->render("AppBundle:Home:apprefundpolicy.html.twig", array("setting" => $setting));
}
public function notifChannelAction(Request $request)
{
$imagineCacheManager = $this->get('liip_imagine.cache.manager');
$em=$this->getDoctrine()->getManager();
$defaultData = array();
$form = $this->createFormBuilder($defaultData)
->setMethod('GET')
->add('title', TextType::class)
->add('message', TextareaType::class)
->add('object', 'entity', array('class' => 'AppBundle:Channel'))
->add('icon', UrlType::class,array("label"=>"Large Icon","required"=>false))
->add('image', UrlType::class,array("label"=>"Big Picture","required"=>false))
->add('send', SubmitType::class,array("label"=>"Send notification"))
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$data = $form->getData();
$selected_channel = $em->getRepository("AppBundle:Channel")->find($data["object"]);
$message = array(
"type"=> "channel",
"id"=> $selected_channel->getId(),
"title"=> $data["title"],
"message"=>$data["message"],
"image"=> $data["image"],
"icon"=>$data["icon"]
);

$setting = $em->getRepository('AppBundle:Settings')->findOneBy(array());
$key=$setting->getFirebasekey();
$message_image = $this->send_notification(null, $message,$key);
$this->addFlash('success', 'Operation has been done successfully ');
}
return $this->render('AppBundle:Home:notif_channel.html.twig',array(
"form"=>$form->createView()
));
}
заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/795 ... -8-project
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»