0

公式サイトで利用可能なGCMのチュートリアルに従いました:

http://developer.android.com/google/gcm/gs.html

そして、私はそれをアプリに正常に実装しました..しかし、私はアンドロイドが初めてなので、GCMについて混乱することはほとんどありません。誰かがこれらの点をクリアできれば、本当に感謝します。

  • PHP スクリプト (Google から見つけた) を作成し、登録 ID を (テスト用に) ハードコーディングしました。スクリプトを実行すると、デバイスで通知を受け取ります。私のデバイスでそれを処理します。出来ますか??PHPコードは次のとおりです。

    $regID=$_REQUEST['regID'];
    $registatoin_ids=array($regID);
    $msg=array("message"=>'HI Wasif');
    $url='https://android.googleapis.com/gcm/send';
    $fields=array
     (
      'registration_ids'=>$registatoin_ids,
      'data'=>$msg
     );
    $headers=array
     (
      'Authorization: key=MY-REG-KEY',
      'Content-Type: application/json'
     );
    $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));
    $result=curl_exec($ch);
    curl_close($ch);
    echo $result;
    
  • 2 番目のポイントは、自分のデバイスで受け取る通知をカスタマイズしたいということです。このような通知を受け取ります...(下の図を参照)。ただし、見出しテキスト「GCM 通知」をアプリの名前に置き換えて、メッセージを表示する必要があります。適切に(キー、値のテキストとは異なり)、通知の画像も変更します...新しいGoogleCloudMessaging APIでそれを行う方法について、誰かがチュートリアルを提供できますか?? (新しい GoogleCouldMessaging API と同じでない場合は、古いメソッドを提供しないでください) ここに画像の説明を入力

    BROADCAST RECEIVER CODE: public class GcmBroadcastReceiver extends WakefulBroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // Explicitly specify that GcmIntentService will handle the intent.
        ComponentName comp = new ComponentName(context.getPackageName(),
                GcmIntentService.class.getName());
        // Start the service, keeping the device awake while it is launching.
        startWakefulService(context, (intent.setComponent(comp)));
        setResultCode(Activity.RESULT_OK);
    }
    }
    
4

1 に答える 1

1

このリンクが役立つことを願っています: GCM

1) デバイスで通知を受け取りたくない場合は、generateNotification() メソッドの下の GCMIntentService クラスから Notification のコードを削除します。

2) generateNotification() メソッドで次のコードを実装することにより、アプリ名、アプリ アイコンを提供できます。

private static void generateNotification(Context context, String message) {
    int icon = R.drawable.ic_launcher;
    long when = System.currentTimeMillis();
    NotificationManager notificationManager = (NotificationManager)
            context.getSystemService(Context.NOTIFICATION_SERVICE);
    Notification notification = new Notification(icon, message, when);

    String title = context.getString(R.string.app_name);

    Intent notificationIntent = new Intent(context, MainActivity.class);
    // set intent so it does not start a new activity
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
            Intent.FLAG_ACTIVITY_SINGLE_TOP);
    PendingIntent intent =
            PendingIntent.getActivity(context, 0, notificationIntent, 0);
    notification.setLatestEventInfo(context, title, message, intent);
    notification.flags |= Notification.FLAG_AUTO_CANCEL;

    // Play default notification sound
    notification.defaults |= Notification.DEFAULT_SOUND;

    // Vibrate if vibrate is enabled
    notification.defaults |= Notification.DEFAULT_VIBRATE;
    notificationManager.notify(0, notification);      

}

お役に立てれば。

于 2013-10-14T10:05:13.077 に答える