iOS:注册令牌无效.检查令牌格式

Shr*_*dse 7 ios firebase firebase-cloud-messaging firebase-notifications

我是Firebase以及iOS的新手.我正在尝试使用FCM发送推送通知.

我在FCM上注册了一个iOS应用程序.两个.p12证书都添加了 根据FCM开发的代码.

通过Firebase控制台发送通知时,我收到错误消息Invalid registration token. Check the token format..我不是我做错了什么.

FCM控制台

Adi*_*ane 10

iOS端有两个令牌

  1. 由iOS生成的令牌,在方法中接收 didRegisterForRemoteNotificationsWithDeviceToken

  2. Firebase生成的令牌FIRInstanceID.instanceID().token()(您可以在AppDelegate中打印)

您面临的问题是因为firebase控制台门户需要通过方式2接收的令牌,并且您正在使用通过方式1接收的令牌.

  • FIRInstanceID.instanceID()。token()现在已更改为InstanceID.instanceID()。token() (2认同)

Shr*_*dse -2

为了解决这个问题

我遵循了为 iOS 提供的FCM完整教程。但在测试或实施时我使用了APN Server。使用 APN 服务器时,您只需要.pem文件

作为参考,这是我的.py文件代码

import random
from apns import APNs, Frame, Payload

sound = "default"
badge = None
alert = "Message"
identifier = random.getrandbits(32)

apns_enhanced = APNs(use_sandbox=True, cert_file='vendor.pem', enhanced=True)
payload = Payload(alert=alert, sound=sound, badge = badge)
apns_enhanced.gateway_server.send_notification(token_hex_office, payload, identifier=identifier)
apns_enhanced.gateway_server.force_close()
Run Code Online (Sandbox Code Playgroud)

谢谢