как отправить JSON также из PHP API

0

Я отправляю текстовый push из кода API php успешно, но мне интересно, как отправить JSON из PHP API

Моя проблема заключается в том, что когда я отправляю JSON из кода PHP API, он получил вроде типа "сообщение".

Когда я отправляю один и тот же код JSON с панели управления синтаксическим анализатором, он отлично работает, поэтому я немного намекнул отправить "uri" ключ в данные, но это не помогло.

Что мне не хватает?

Благодарю.

это код PHP, который я использую

<?php

$APPLICATION_ID = "gggggggggggggggg";
$REST_API_KEY = "xxxxxxxxxxxxxxxxxxx";
//$MESSAGE = "your-alert-message";

if (!empty($_POST)) {

    $errors = array();
    foreach (array('app' => 'APPLICATION_ID', 'api' => 'REST_API_KEY', 'body' => 'MESSAGE') as $key => $var) {
        if (empty($_POST[$key])) {
            $errors[$var] = true;
        } else {
            $$var = $_POST[$key];
        }
    }

    if (!$errors) {
        $url = 'https://api.parse.com/1/push';

    if(strstr($MESSAGE,"{")){ //json
        $data['data_type']='json';
        //$MESSAGE =  json_decode($MESSAGE);
     }
//,               'uri' => $MESSAGE 
     $data = array(
            'channel' => 'test1',
            'type' => 'android',
            'expiry' => 1451606400,
            'data_type' => 'json',
            'data' =>array(
               'alert'=> "the link2",
               'uri' => $MESSAGE 
            ), 
         'uri' => $MESSAGE
          ); 

//var_dump( $data );die;
    //if(strstr($MESSAGE,"{")) //json
        //$data['data_type']='json';

    $_data = json_encode($data); 
 //var_dump( $_data );die;

        $headers = array(
            'X-Parse-Application-Id: ' . $APPLICATION_ID,
            'X-Parse-REST-API-Key: ' . $REST_API_KEY,
            'Content-Type: application/json',
            'Content-Length: ' . strlen($_data)
        );

        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $_data);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    //    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $response = curl_exec($curl);
    }
}
?>

На веб-сайте parse.com есть инструмент, который вы можете отправить PUSH, и в этом инструменте вы можете отправить push с двумя типами: обычный текст или JSON.

это выглядит так

Изображение 174551

Когда я пытаюсь отправить push с помощью этого инструмента parse.com в обоих типах, он отлично работает, и я правильно нажимаю

Но, когда я пытаюсь отправить push из моего кода PHP API как "JSON", я всегда получал его как "простой текст",

Что я делаю неправильно?

Теги:
parse.com

1 ответ

0

Это зависит от вашей структуры JSON, например, я хочу отправить это:

{
 "data": {
    "date": "2015-12-09",
    "message": "and when you open this we will show you a message.",
    "title": "6 Notice Click On It :)))",
    "url": ""
   },
"is_background": false
}

и в вашем php вы должны отправить так:

$data = array(
     'where' => '{}',  // send to all users
    // 'channels' => '{my_channel_name}',
    'data' => array(
        'is_background'=>false,
        'data'=>array(
            'date'=>'2015-12-09',
            'message'=>'and when you open this we will show you a message',
            'title'=>' Notice Click On It',
            'url'=>''
        ),
    ),
);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню