3

アプリが閉じられているかキャッシュメモリから消去されているときにGCM通知を表示したいのですが、バックグラウンドで実行されていません。アプリが閉鎖されているときに、アプリにGCMメッセージが表示されない

public function send_notification($registatoin_ids, $message) { 
    include_once 'dbconfig.php'; 
    // Set POST variables 
    $url = 'https://android.googleapis.com/gcm/send'; 
    $fields = array(
     'registration_ids' => $registatoin_ids, 
     'data' => $message, 
    ); 

スマートフォンでは、自分のアプリでサービスが表示されません。私はのWhatsAppのような通知を表示したい

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="my.app.path" >  

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
<!-- ... other permissions --> 

<permission 
    android:name="my.app.path.permission.C2D_MESSAGE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="my.app.path.permission.C2D_MESSAGE" /> 

<application 
    ...> 
    <!-- ... activites... --> 

    <receiver 
     android:name="com.google.android.gms.gcm.GcmReceiver" 
     android:exported="true" 
     android:permission="com.google.android.c2dm.permission.SEND" > 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <category android:name="my.app.path" /> 
     </intent-filter> 
    </receiver>  

    <service 
     android:name=".MyGcmListener" 
     android:exported="false" 
     android:enabled="true" > 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
     </intent-filter> 
    </service> 

</application> 

</manifest> 

enter image description here

以下はGCMについての私のマニフェストの部分である:ここでは、のWhatsAppのような他の人と私のアプリを比較することができますスクリーンショットです。

+2

1)FCMに移行する2)http://stackoverflow.com/questions/37876257/push-notification-works-incorrect-when-app-is-on-background-or-not-running/37876727#37876727 –

+0

FCMなしでは不可能かどうか?私はFCMに関して何も知らない –

+0

このリンクを使用するためのすべてのタイプのユーザー許可とアクセス許可をチェックするhttp://stackoverflow.com/questions/38422551/gcm-push-notification-not-revived/38423390#38423390 –

答えて

0

メッセージを送信するときに優先度をhighに設定すると役立ちましたか?

High priorityに設定すると、可能な場合はGCMサービスがスリープ状態のデバイスをスリープ状態にして、アプリケーションサーバーとのネットワーク接続を開くことができます。たとえば、インスタントメッセージ、チャット、音声通話アラートを使用するアプリでは、一般にネットワーク接続を開いて、GCMがメッセージをデバイスに遅滞なく送信する必要があります。メッセージがタイムクリティカルであり、ユーザーの直ちに対話が必要な場合のみ優先度を高く設定し、メッセージを優先度が高いものに設定すると、通常の優先度のメッセージよりもバッテリが消費されることに注意してください。

+1

私は持っていますメッセージを送信している最優先オプションを置くためにこの解決策を試しましたが、私の問題は解決しませんでした –

関連する問題