web-dev-qa-db-ja.com

優先度の高いGCMを送信するにはどうすればよいですか?

Android MプレビューでNexus5を使用しています。

私が解決しようとしている私の問題は次のとおりです。

アプリが優先度の高いGoogleクラウドメッセージングをくすぐらない限り、ネットワークアクセスは無効になります。

私がしていることは:

電話をDozeモードにしてから、値10の優先度でプッシュ通知を送信します。しばらくの間インターネットにアクセスできると期待していますが、これは機能しません。

他の種類の通知を使用する必要がありますか?すでに利用可能なドキュメントはありますか?

ありがとう。

Android Mの変更: https://developer.Android.com/preview/behavior-changes.html

GCM優先メッセージについて私が見つけたもの: https://developers.google.com/cloud-messaging/server-ref

14
João Lopes

優先度を10に設定するのは正しいことですが、I/OでリリースされたAndroid Mのバージョンでは機能しません。修正され、優先度10のメッセージは期待どおりに機能します。公開リリースで。

9
morepork

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

実際、これはAndroidバージョンではなくGooglePlay開発者サービスのバージョンに関連しています。優先度には「高」を使用してください。

2
Wonil

これをファイル(.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);
1
FABiO