Я реализую gcm для отправки уведомлений в свое приложение и его действительно совершенной работы.
Я получаю уведомление на устройстве, но проблема в том, что я получаю детали журналов, может быть в уведомлении, а не только для чтения человеком, которое я нажимаю.
Вот мой код, который я использую для отправки уведомления:
$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
Я пытаюсь это сделать, но я не получил ничего, чтобы исправить это.
Любая помощь будет оценена.
Вы должны проанализировать свой ответ так же, как вы анализируете ответ 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);