小编Jer*_*vil的帖子

错误:消息/注册令牌未注册

有人会问为什么当我尝试向 Iphone 物理设备发送通知时出现此错误吗?

Error sending message { Error: Requested entity was not found.
    at FirebaseMessagingError.FirebaseError [as constructor] (/srv/node_modules/firebase-admin/lib/utils/error.js:42:28)
    at FirebaseMessagingError.PrefixedFirebaseError [as constructor] (/srv/node_modules/firebase-admin/lib/utils/error.js:88:28)
at new FirebaseMessagingError (/srv/node_modules/firebase-admin/lib/utils/error.js:254:16)
    at Function.FirebaseMessagingError.fromServerError (/srv/node_modules/firebase-admin/lib/utils/error.js:287:16)
    at Object.createFirebaseError (/srv/node_modules/firebase-admin/lib/messaging/messaging-errors.js:34:47)
    at /srv/node_modules/firebase-admin/lib/messaging/messaging-api-request.js:76:42
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7)
  errorInfo: 
   { code: 'messaging/registration-token-not-registered',
     message: 'Requested entity was not found.' },
  codePrefix: 'messaging' }
Run Code Online (Sandbox Code Playgroud)

它说我的注册令牌未注册。查看 firebase 文档后,我看到: https ://firebase.google.com/docs/cloud-messaging/send-message#admin_sdk_error_reference

消息传递/注册令牌未注册:

提供的注册令牌未注册。以前有效的注册令牌可能会因多种原因而被取消注册,包括:

  • 客户端应用程序已从 FCM 取消注册
  • 客户端应用程序自动取消注册。(如果用户卸载应用程序,或者在 iOS 上,如果 APNS 反馈服务报告 APNS 令牌无效,则可能会发生这种情况。)
  • 注册令牌已过期。(例如,Google 可能决定刷新注册令牌,或者 iOS 设备的 APNS 令牌可能已过期。)
  • 客户端应用程序已更新,但新版本未配置为接收消息。

对于所有这些情况,请删除此注册令牌并停止使用它发送消息。

但我觉得我已经满足了所有要求(APNS …

apn apple-push-notifications ios flutter firebase-cloud-messaging

6
推荐指数
0
解决办法
6143
查看次数

FIREBASE_MESSAGING:当应用程序处于后台或终止时,onBackgroundMessage 不处理通知

当应用程序处于后台并收到通知时,我试图让我的 onBackgroundMessage 执行,但它不执行 myBackgroundMessageHandler。

我做了在可选处理后台消息的文档中写的所有内容,但它仍然不能像我想要的那样工作,当我在应用程序处于后台时收到通知时,我得到的是一个没有数据的通知(没有应用程序图标没有图像,只有标题和正文。顺便说一句,当应用程序不在后台时它运行良好

这是我的代码:

AndroidManifest.xml

<application
        android:name=".Application"
Run Code Online (Sandbox Code Playgroud)

索引.js

  message = {
    android: {
        notification: { click_action: 'FLUTTER_NOTIFICATION_CLICK',}
    },
    token: androidNotificationToken,
    data: {
      activityFeedItemId:activityFeedItemId,
      userReceivingNotificationId: userId,
      userActivatingNotificationPhotoUrl: activityFeedItem.userProfileImg,
      notificationType: activityFeedItem.type,
      body : body
    }
  };
Run Code Online (Sandbox Code Playgroud)

构建等级

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.firebase:firebase-analytics:17.2.2'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.google.firebase:firebase-messaging:20.1.7'
}

apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)

主活动.java

package com.yimerah.ijn_amen;
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugins.GeneratedPluginRegistrant;

public class MainActivity extends FlutterActivity {
    @Override
    public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine); …
Run Code Online (Sandbox Code Playgroud)

android-notifications flutter firebase-cloud-messaging

5
推荐指数
1
解决办法
5525
查看次数

is deprecated:FCM 直接通道已被弃用,请使用 APNs 进行下游消息处理

我在为 IOS 构建时收到这些消息,它成功但 IOS 通知不起作用,我收到 FCM 未注册的消息/注册令牌,所以我认为这篇文章可能与此错误有关。

在此处输入图片说明

它说我的注册令牌未注册。在查看 firebase 文档后,我看到:https : //firebase.google.com/docs/cloud-messaging/send-message#admin_sdk_error_reference

消息/注册令牌未注册:

提供的注册令牌未注册。以前有效的注册令牌可能因多种原因被取消注册,包括:

客户端应用程序从 FCM 自行取消注册客户端应用程序已自动取消注册。(如果用户卸载应用程序,或者在 iOS 上,如果 APNS 反馈服务报告 APNS 令牌无效,就会发生这种情况。)注册令牌已过期。(例如,Google 可能决定刷新注册令牌,或者 iOS 设备的 APNS 令牌可能已过期。)客户端应用程序已更新,但新版本未配置为接收消息。对于所有这些情况,请删除此注册令牌并停止使用它来发送消息。

但我觉得我已经满足了所有要求(APNS 已经配置并添加到 Firebase 控制台中)

??  /Users/builder/programs/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-6.0.16/ios/Classes/FLTFirebaseMessagingPlugin.m:195:43: 'FIRMessagingRemoteMessage' is deprecated: FCM direct channel is deprecated, please use APNs for downstream message handling. [-Wdeprecated-declarations]

- (void)applicationReceivedRemoteMessage:(FIRMessagingRemoteMessage *)remoteMessage {
                                          ^


??  /Users/builder/programs/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-6.0.16/ios/Classes/FLTFirebaseMessagingPlugin.m:307:24: 'FIRMessagingRemoteMessage' is deprecated: FCM direct channel is deprecated, please use APNs for downstream message handling. [-Wdeprecated-declarations]

    didReceiveMessage:(FIRMessagingRemoteMessage *)remoteMessage {
                                                      ^



??  /Users/builder/programs/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-6.0.16/ios/Classes/FLTFirebaseMessagingPlugin.m:141:30: …
Run Code Online (Sandbox Code Playgroud)

ios swift flutter firebase-cloud-messaging

5
推荐指数
1
解决办法
2322
查看次数