Получение данных полезной нагрузки в уведомлении Firebase Android - PullRequest
0 голосов
/ 04 ноября 2018

Я использую php в качестве внутреннего сервера для отправки уведомлений Firebase, я подключаю Android к PHP через библиотеку Volley.

Я хочу, чтобы мое приложение отправляло ссылку в виде уведомления, и когда пользователь нажимает на приложение, ссылка открывается в веб-просмотре.

Но сервер отправляет только заголовок, а не URL, в журнале, он показывает, что URL-адрес является нулевым или {}

как я могу решить эту проблему.

public class FirebaseMessagingService extends com.google.firebase.messaging.FirebaseMessagingService {
private final String CHANNEL_ID = "notificcation";

@Override
public void onNewToken(String s) {
    super.onNewToken(s);
    Log.e("NEW_TOKEN", s);
    FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
        @Override
        public void onSuccess(InstanceIdResult instanceIdResult) {
            String recent_token = instanceIdResult.getToken();
            // Do whatever you want witiiph your token now
            // i.e. store it on SharedPreferences or DB
            // or directly send it to server
            SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences(getString(R.string.FCM_PREF), Context.MODE_PRIVATE);
            SharedPreferences.Editor editor = sharedPreferences.edit();
            editor.putString(getString(R.string.FCM_TOKEN), recent_token);
            editor.commit();


        }
    });

}




@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    super.onMessageReceived(remoteMessage);
    String title=remoteMessage.getNotification().getTitle();
    String message=remoteMessage.getNotification().getBody();

    Log.d(TAG, "Message data payload: " + remoteMessage.getData());


    Intent intent =new Intent(this,MainActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent =PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_ONE_SHOT);

    NotificationCompat.Builder builder=new NotificationCompat.Builder(getBaseContext(),CHANNEL_ID);
    builder. setContentTitle(title)
            .setContentText(message)
            .setWhen(System.currentTimeMillis())
            .setDefaults(Notification.DEFAULT_ALL)
            .setSmallIcon(R.drawable.common_google_signin_btn_icon_dark_normal)
         .setContentIntent(pendingIntent)
            .setPriority(NotificationCompat.PRIORITY_HIGH);


    NotificationManager notificationManager = (NotificationManager)getBaseContext().getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(1,builder.build());


}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...