Google Cloud Messaging (GCM) Получение уведомлений с подробными журналами

1

Я реализую gcm для отправки уведомлений в свое приложение и его действительно совершенной работы.

Я получаю уведомление на устройстве, но проблема в том, что я получаю детали журналов, может быть в уведомлении, а не только для чтения человеком, которое я нажимаю.

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

Вот мой код, который я использую для отправки уведомления:

$gcmApiKey = GOOGLE_API_KEY;
$pushApi = new PushAPI();
$sender = new \PHP_GCM\Sender($gcmApiKey);
$message = new \PHP_GCM\Message("1", $messsageVal);
try {
    $multicastResult = $sender->sendMulti($message, $deviceRegistrationId, 2);
    $results = $multicastResult->getResults();
    for ($i = 0; $i < count($deviceRegistrationId); $i++) {
        $regId = $deviceRegistrationId[$i];
        $result = $results[$i];
        $messageId = $result->getMessageId();
        if ($messageId != null) {
            $canonicalRegId = $result->getCanonicalRegistrationId();
            if ($canonicalRegId != null) {
                // same device has more than on registration id: update it
            }
        } else {
            $error = $result->getErrorCodeName();
            if ($error == \PHP_GCM\Constants::$ERROR_NOT_REGISTERED) {
                $pushApi->clearDeviceByDeviceId($regId);
            }
        }
    }
} catch (\InvalidArgumentException $e) {
    // $deviceRegistrationId was null
} catch (PHP_GCM\InvalidRequestException $e) {
    // server returned HTTP code other than 200 or 503
} catch (\Exception $e) {
    // message could not be sent
}

Вот ссылка всего API, который я использую. PHP_GCM

Я пытаюсь это сделать, но я не получил ничего, чтобы исправить это.

Любая помощь будет оценена.

  • 0
    Вы можете поделиться кодом на стороне сервера, используемым для отправки уведомлений?
  • 0
    Вы должны анализировать свой ответ так же, как вы анализируете ответ веб-службы и показывать только сообщение.
Показать ещё 3 комментария
Теги:
push-notification
google-cloud-messaging

1 ответ

0

Вы должны проанализировать свой ответ так же, как вы анализируете ответ webservice и показываете только сообщение.

Попробуйте получить сообщение от полученного намерения, используя:

String msg=intent.getExtras().getString("msg");

Затем покажите сообщение как:

 NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
                this).setSmallIcon(R.mipmap.app_icon)
                .setWhen(System.currentTimeMillis())
                .setAutoCancel(true)
                .setDefaults(Notification.DEFAULT_ALL)
                .setContentTitle(context.getString(R.string.app_name))
                .setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
                .setContentText(msg);
  • 0
    Это php API и он принимает параметры msg, например: $ fields = array ('registration_ids' => array ($ dstRegId), 'delay_ while_idle' => true, 'data' => array ("message" => $ message) ); чем он конвертируется в JSON и передается в curl.
  • 0
    @Iffi, к сожалению, я понятия не имею о php. Я только что показал вам код для стороны android. Вам нужно применить это к вашему приложению, чтобы показать правильное сообщение.

Ещё вопросы

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