繁体   English   中英

Google GCM-在Android Lollipop中未收到推送通知

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM