如何发送高优先级 GCM?

How to send a high-priority GCM?

我正在使用带 Android M 预览版的 Nexus 5。

我要解决的问题是:

Network access is disabled, unless your app receives a high priority Google Cloud Messaging tickle.

我正在做的是:

我将 phone 设置为打瞌睡模式,然后发送优先级为 10 的推送通知,我希望可以短暂访问互联网,但这不起作用。

我应该使用其他类型的通知吗?有任何文档可用吗?

谢谢。

Android M 变化: https://developer.android.com/preview/behavior-changes.html

我发现的有关 GCM 优先级消息的信息: https://developers.google.com/cloud-messaging/server-ref

将优先级设置为 10 是正确的做法,但不适用于 I/O 发布的 Android M 版本。它已得到修复,优先级为 10 的消息将按预期在 public 版本中工作。

https://developers.google.com/cloud-messaging/concept-options?hl=en#setting-the-priority-of-a-message

事实上,它与 Google 播放服务版本相关,而不是 Android 版本。使用 "high" 作为优先级。

只需将其添加到您的文件(.php、.jsf 等)中即可:

$fields = array(
                    'registration_ids' => $android,
                    **'priority' => 'high',**
                    'data' => array( 'message' => $message,
                                     'title' => $title,                                 
                                     'created_at' => $created_at,                                
                                     'is_background' => $is_background,
                                     'pantallaMostrarPushAndroid' => "pushNotificationNormal")
                ); 

                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                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));

                // Execute post
                $resultAndroid = curl_exec($ch);