【问题标题】:FCM: invalid parameter, token reason for iOSFCM:无效参数,iOS 的令牌原因
【发布时间】:2019-10-15 16:17:53
【问题描述】:

我正在将 FCM 集成到我的 iOS 应用中。我在向后端服务器发送令牌时收到此错误:

无效参数:令牌原因:iOS设备令牌不能超过400个十六进制字符

在我的代码中,我将 FCM 注册令牌发送到服务器。它是否正确?还是我应该发送设备令牌?如果有,这个 FCM 注册令牌有什么用?

在这方面需要帮助。

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
//Get FCM registration token
[[FIRInstanceID instanceID] instanceIDWithHandler:^(FIRInstanceIDResult * _Nullable result,
                                                    NSError * _Nullable error) {
    if (error != nil) {
        NSLog(@"Error fetching remote instance ID: %@", error);
    } else {
        NSLog(@"Remote instance ID token: %@", result.token);

        [UserDefaultUtility setDeviceToken:result.token];
    }
}];

}

#pragma mark - FCM delegate
- (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken {
// Note: This callback is fired at each app startup and whenever a new token is generated.

NSLog(@"FCM registration token: %@", fcmToken);
[UserDefaultUtility setDeviceToken:fcmToken];

}

我在模拟器上做这个,有影响吗?

【问题讨论】:

  • 您将此令牌发送到哪个后端服务器?它是否明确期待 iOS 令牌? FCM 注册令牌是您设备的 firebase 令牌,与您的实际设备令牌不同。
  • @HirdayGupta 后端服务器是我们自己的 CMS 后端服务器。以前在使用 Firebase 之前,应用程序从 didRegisterForRemoteNotificationsWithDeviceToken 方法发送设备令牌。所以我想用同样的方法发送 FCM 令牌。设备令牌仅用于向特定用户发送有针对性的通知。因此,应用程序正在将设备令牌发送到服务器,以供服务器端用于确定向谁发送通知。那是在使用 FCM 之前。现在我们想使用 FCM 来推送通知,那么应该发送 FCM 令牌还是设备令牌?

标签: ios firebase push-notification firebase-cloud-messaging


【解决方案1】:

这可能是您的后端出现错误。

FCM Token 由 Firebase 生成,Firebase 单独处理 FCM Token 和 iOS Device Token 之间的映射。因此,当您使用 FCM 时,您只关心 FCM 令牌,因此这绝对是您应该发送的。但是,出于某种原因,您的后端似乎需要一个实际的 iOS 设备令牌。

因此,要修复此错误,您必须更改后端代码(您没有提供,因此我无法提供帮助),因此它不需要实际的 iOS 设备令牌,而是需要 FCM 令牌.

然后,要“使用 FCM”,您需要更改后端以停止直接与 Apple 的推送通知服务器(或您当前使用的任何其他需要实际 iOS 设备令牌的服务)交互,并开始与 FCM API 交互相反,使用in the docs 列出的任何方法。 FCM API 将使用 FCM 令牌来识别将推送通知发送到哪个设备。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 2017-05-20
    • 2021-05-18
    • 2016-04-22
    • 2016-09-24
    • 2021-07-07
    • 2017-03-09
    相关资源
    最近更新 更多