Firebase在帐户更改/更换Firebase帐户后未发送通知
我正在尝试实施如何从Firebase推出通知。我添加了依赖项,并在我的Firebase帐户中进行了一个项目,并连接了我的应用程序。它最初工作正常,但是我将与应用程序关联的firebase帐户更改为另一个帐户(第二个帐户),然后我看到我没有收到任何通知,因此我在第二个帐户上删除了我的项目,并用第一个文件替换了我的JSON文件并再次重新连接它,但我没有收到任何以前有效的通知。这是我的参考noreferrer“> https://www.geeksforgeeks.org/how-to-push-notification-in-ind-android-using-firebase-cloud-messaging/ 这是我的通知服务的代码
package com.crazy.pushnotifications
import android.app.Notification
import android.app.NotificationChannel
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Intent
import android.os.Build
import android.widget.RemoteViews
import com.google.firebase.messaging.FirebaseMessagingService
import com.google.firebase.messaging.RemoteMessage
class FirestoreNotification : FirebaseMessagingService() {
override fun onMessageReceived(remoteMessage: RemoteMessage) {
if (remoteMessage.getNotification() != null) {
// Since the notification is received directly from
// FCM, the title and the body can be fetched
// directly as below.
showNotification(
remoteMessage.notification!!.title!!,
remoteMessage.notification!!.body!!
)
}
}
private fun getCustomDesign(title: String, message: String): RemoteViews {
val remoteViews = RemoteViews(
applicationContext.packageName,
R.layout.layout_notification
)
remoteViews.setTextViewText(R.id.title, title);
remoteViews.setTextViewText(R.id.message, message);
remoteViews.setImageViewResource(
R.id.icon,
R.drawable.ic_baseline_fingerprint_24
);
return remoteViews;
}
private fun showNotification(title: String, body: String) {
val intent = Intent(this, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
val channelId = "notification_channel"
val pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT)
var builder = Notification.Builder(applicationContext, channelId)
.setSmallIcon(R.drawable.ic_baseline_fingerprint_24)
.setAutoCancel(true)
.setOnlyAlertOnce(true)
.setContentIntent(pendingIntent)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
builder = builder.setContent(
getCustomDesign(title, body)
);
} else {
builder = builder.setContentTitle(title)
.setContentText(body)
.setSmallIcon(R.drawable.ic_baseline_fingerprint_24)
}
val notificationManager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
// Check if the Android Version is greater than Oreo
// Check if the Android Version is greater than Oreo
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val notificationChannel = NotificationChannel(
channelId, "CTQ",
NotificationManager.IMPORTANCE_HIGH
)
notificationManager.createNotificationChannel(notificationChannel)
notificationManager.notify(0, builder.build())
}
}
}
,主要活动
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.crazy.pushnotifications">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Pushnotifications"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".FirestoreNotification"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>
</manifest>
我想知道我是否犯了任何错误,因为我没有任何错误,但我也没有收到任何通知。 注意:我已经检查了我的gradle文件,但我并没有缺少任何依赖项
I am trying to implement how to push notifications from firebase. I have added the dependencies and made a project in my firebase account and connected my app. It initially worked fine but I changed the firebase account that is associated with the app to another(2nd account) then I saw that I did not receive any notification so I deleted my project on the 2nd account and replaced my json files with the first one and reconnected to it again but I am not receiving any notification which was working previously. Here is my reference https://www.geeksforgeeks.org/how-to-push-notification-in-android-using-firebase-cloud-messaging/
Here is my code for notification service
package com.crazy.pushnotifications
import android.app.Notification
import android.app.NotificationChannel
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Intent
import android.os.Build
import android.widget.RemoteViews
import com.google.firebase.messaging.FirebaseMessagingService
import com.google.firebase.messaging.RemoteMessage
class FirestoreNotification : FirebaseMessagingService() {
override fun onMessageReceived(remoteMessage: RemoteMessage) {
if (remoteMessage.getNotification() != null) {
// Since the notification is received directly from
// FCM, the title and the body can be fetched
// directly as below.
showNotification(
remoteMessage.notification!!.title!!,
remoteMessage.notification!!.body!!
)
}
}
private fun getCustomDesign(title: String, message: String): RemoteViews {
val remoteViews = RemoteViews(
applicationContext.packageName,
R.layout.layout_notification
)
remoteViews.setTextViewText(R.id.title, title);
remoteViews.setTextViewText(R.id.message, message);
remoteViews.setImageViewResource(
R.id.icon,
R.drawable.ic_baseline_fingerprint_24
);
return remoteViews;
}
private fun showNotification(title: String, body: String) {
val intent = Intent(this, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
val channelId = "notification_channel"
val pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT)
var builder = Notification.Builder(applicationContext, channelId)
.setSmallIcon(R.drawable.ic_baseline_fingerprint_24)
.setAutoCancel(true)
.setOnlyAlertOnce(true)
.setContentIntent(pendingIntent)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
builder = builder.setContent(
getCustomDesign(title, body)
);
} else {
builder = builder.setContentTitle(title)
.setContentText(body)
.setSmallIcon(R.drawable.ic_baseline_fingerprint_24)
}
val notificationManager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
// Check if the Android Version is greater than Oreo
// Check if the Android Version is greater than Oreo
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val notificationChannel = NotificationChannel(
channelId, "CTQ",
NotificationManager.IMPORTANCE_HIGH
)
notificationManager.createNotificationChannel(notificationChannel)
notificationManager.notify(0, builder.build())
}
}
}
and main activity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.crazy.pushnotifications">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Pushnotifications"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".FirestoreNotification"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>
</manifest>
I want to know if I made any mistake cause i didnot get any error but I didnot get any notification either.
NOTE: I have checked my gradle files and I am not missing any dependencies
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论