package com.swjtu.gcmformojo;
import android.util.Log;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
import static com.swjtu.gcmformojo.MyApplication.MYTAG;
import static com.swjtu.gcmformojo.MyApplication.mySettings;
public class MyFirebaseMessagingService extends FirebaseMessagingService
{
/**
* Called when message is received.
*
* @param remoteMessage Object representing the message received from Firebase Cloud Messaging.
*/
// [START receive_message]
@Override
public void onMessageReceived(RemoteMessage remoteMessage)
{
// [START_EXCLUDE]
// There are two types of messages data messages and notification messages. Data messages are handled
// here in onMessageReceived whether the app is in the foreground or background. Data messages are the type
// traditionally used with GCM. Notification messages are only received here in onMessageReceived when the app
// is in the foreground. When the app is in the background an automatically generated notification is displayed.
// When the user taps on the notification they are returned to the app. Messages containing both notification
// and data payloads are treated as notification messages. The Firebase console always sends notification
// messages. For more see: https://firebase.google.com/docs/cloud-messaging/concept-options
// [END_EXCLUDE]
// Not getting messages here? See why this may be: https://goo.gl/39bRNJ
//handler = new Handler(Looper.getMainLooper()); // 使用应用的主消息循环
// Check if message contains a notification payload.
if (remoteMessage.getNotification() != null)
{
Log.d(MYTAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
}
if (remoteMessage.getData().size() > 0)
{
if(!remoteMessage.getData().containsKey("isAt")) remoteMessage.getData().put("isAt","0");
if(!remoteMessage.getData().containsKey("senderType")) remoteMessage.getData().put("senderType","1");
//SharedPreferences Settings = getSharedPreferences(PREF, Context.MODE_PRIVATE);
String tokenSender = mySettings.getString("push_type","GCM");
if(tokenSender.equals("GCM")) {
Log.d(MYTAG, "谷歌推送: " + remoteMessage.getData());
MessageUtil.MessageUtilDo(getApplicationContext(),remoteMessage.getData().get("msgId"),remoteMessage.getData().get("type"),remoteMessage.getData().get("senderType"),remoteMessage.getData().get("title"),remoteMessage.getData().get("message"),remoteMessage.getData().get("isAt"));
}
}
}
}