我正在尝试实现与 Google Firebase 的聊天。我正在按照教程进行操作,但我无法继续,因为正在使用未声明的变量,而且我无法在任何地方找到它的来源。该变量称为 kGCMMessageIDKey
。
它在这里首先被用作:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
if (userInfo[kGCMMessageIDKey]) {
NSLog(@"Message ID: %@", userInfo[kGCMMessageIDKey]);
}
在示例项目中,kGCMMessageIDKey
在 AppDelegate 中声明为
NSString *const kGCMMessageIDKey = @"gcm.message_id";
。
我觉得这是我应该从 Firebase 仪表板获取的常量,但我也在那里找不到任何对应的 ID。
最佳答案
该值应该是消息的唯一 ID,并且应该与您在与 Firebase 云消息传递 API 交互时看到的消息的 message_id 参数相匹配。从设备使用 FCM API/服务时,您还可以使用该值来引用消息。
是的,您似乎需要将该常量声明粘贴到您的代码中,或者将其替换为 @"gcm.message_id"
。该值似乎并不重要,此代码段主要用于调试。
我建议您在 didReceiveRemoteNotification
中设置一个断点并检查 userInfo
的内容,以熟悉 FCM 的消息负载和可用的各种属性和 iOS。当遇到断点时,在调试器中键入以下内容:
(lldb) po userInfo
关于iOS - Firebase 消息 : What is kGCMMessageIDKey?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48141428/