[英]Google GCM - Not receiving push notifications in android Lollipop
在我的android应用程序中,我使用GCM从公司服务器接收消息。
我为c2dm编写了代码,并按照说明将代码迁移到GCM。 ( http://developer.android.com/google/gcm/c2dm.html )
在android Lollipop(Nexus 9 wifi)中,设备注册了推送通知并接收了推送注册ID,但是当我从服务器发送消息时,在设备中我没有收到任何消息。
在以前的Android版本(从4.0到4.4)中,我没有任何问题。
您知道棒棒糖的推送通知中有任何问题吗?
谢谢
我们在办公室遇到同样的问题,这就是为什么我在这里偶然发现您的帖子。 我已经测试了三台单独的Nexus 9设备(仅限WiFi),并且在所有情况下都成功注册了推送功能...但从未收到服务器发送的任何通知。
我所做的第一个测试是使用我们现有的android应用程序和服务器。 失败之后,我从Google Play商店下载了Push Notification Test 。 这可以在其他设备(Nexus 5 ...等)上正常运行,但无法在Nexus 9上收到通知。
为了避免Play Store Test应用程序过时的可能问题,我创建了一个测试Android应用程序和服务器脚本,以查看是否可以进一步缩小问题的范围。 我遇到了同样的问题。 我测试的所有设备(Nexus 9除外)均已注册并收到推送通知。 我尝试过更改项目中Google Play服务库的版本(从最新版本到几个版本),但这没有任何效果。
对于上面提到的最后一次尝试,我使用了在以下位置找到的GCM演示应用程序: GCM客户端以及我根据另一位用户的代码(明显删除了键和reg id)修改的php脚本:
<?php
$nexus5 = '';
$nexus9 = '';
$nexus9Alt = '';
$registrationIds = array($nexus5,$nexus9,$nexus9Alt);
$apiKey = '';
$msg = array
(
'message' => 'Do you know smell what the rock is cooking?',
'title' => 'Push Test',
'subtitle' => 'This is a subtitle',
'tickerText' => 'This is the ticker',
'vibrate' => 1,
'sound' => 1
);
$fields = array
(
'registration_ids' => $registrationIds,
'data' => $msg
);
$headers = array
(
'Authorization: key=' . $apiKey,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://android.googleapis.com/gcm/send' );
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
$result = curl_exec($ch );
curl_close( $ch );
echo $result;
更新 :我们将办公室中的三台平板电脑更新为5.0.1 OTA,而平板电脑仍不会收到推送通知。 谷歌也没有关于这些的消息,但是希望它将在下一个OTA中得到解决。
更新 :1月13日,我们注意到Nexus 9开始接收推送通知。 显然Google修复了它。 圆是完整的。
我有一个非常简单的Android GCM应用,可以在Kitkat上正常工作。 棒棒糖升级后,发生“明确意图”错误( 必须在Google Analytics(分析 )中明确显示Android 5.0(L)服务意图 )。 我已修复该问题,没有错误,也没有设备注册!
通过在移动网络而不是办公室WIFI上测试GCM拉通知,可以解决此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.