我正在使用firebase控制台,并且只能使用它发送通知消息.
有没有办法使用相同的方式发送数据消息?
我试图在Activity点击通知时打开,下面是我的代码.
Intent intent = new Intent(this.getApplicationContext(), NotificationActivity.class);
intent.putExtra("msgBody",messageBody);
intent.putExtra(Constants.NOTIF_INTENT_TYPE,Constants.NOTIF_INTENT_TYPE);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
|Intent.FLAG_ACTIVITY_SINGLE_TOP
|Intent.FLAG_ACTIVITY_CLEAR_TOP); //Tried with many options here
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 , intent,
PendingIntent.FLAG_CANCEL_CURRENT);
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.otp_icon)
.setContentTitle("Push MSG")
.setContentText(messageBody)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
Run Code Online (Sandbox Code Playgroud)
Android清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.com.pushapp">
<uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="21" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:name=".AndroidPushApp" …Run Code Online (Sandbox Code Playgroud) java android push-notification firebase-cloud-messaging firebase-notifications
我的应用程序是用 NativeScript 开发的。对于 FCM,我使用nativescript-plugin-firebase.
每当我从 FCM 控制台尝试时,我都会收到推送通知。但是,当我从邮递员那里尝试时,我从未收到推送通知,如下所示。
URL : POST : https://fcm.googleapis.com/fcm/send
Headers : Authorization = key="******", Content-Type=application/json
Run Code Online (Sandbox Code Playgroud)
数据 :
{
"data": {
"title": "RAJA RAJA",
"message": "another test",
"name": "Muthukumar ME"
},
"to" : "**************************************"
}
Run Code Online (Sandbox Code Playgroud)
回复 :
{
"multicast_id": 5806593945960213086,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [
{
"message_id": "0:1521623661699559%161a06bff9fd7ecd"
}
]
}
Run Code Online (Sandbox Code Playgroud)
任何人都知道我错过了什么,即使我收到了成功的回复,当我尝试使用邮递员时,推送通知也不会到来。