首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >触发防火墙消息传递,ios应用程序不接收令牌

触发防火墙消息传递,ios应用程序不接收令牌
EN

Stack Overflow用户
提问于 2018-10-10 21:23:00
回答 2查看 3.4K关注 0票数 2

我已经在颤振应用程序中配置了防火墙消息传递。它使用防火墙消息插件。我已经根据自述的"iOS集成“部分进行了配置。在main.dart中引入了Firebase

代码语言:javascript
复制
void main() async {
  final FirebaseMessaging _firebaseMessaging = new FirebaseMessaging();
  _firebaseMessaging.requestNotificationPermissions();
  _firebaseMessaging.configure(onMessage: processMessage,
      onLaunch: processLaunch,
      onResume: processResume);
  String token = await _firebaseMessaging.getToken();
  print("fcm token is: $token");
  runApp(TestApp());
}

Future<dynamic> processMessage(Map<String, dynamic> map) async {
  print("received message:");
  print(map);
}

Future<dynamic> processLaunch(Map<String, dynamic> map) async {
  print("processing launch");
  print(map);
}

Future<dynamic> processResume(Map<String, dynamic> map) async {
  print("processing resume");
  print(map);
}

问题是应用程序不接收令牌。因此,我将应用程序部署到物理设备上,应用程序启动,但没有看到任何与fcm相关的输出,也没有显示ui。我看到以下原木的构思:

代码语言:javascript
复制
5.10.0 - [Firebase/Core][I-COR000003] The default Firebase app has not yet been configured. Add `[FIRApp configure];` (`FirebaseApp.configure()` in Swift) to your application initialization. Read more: .
5.10.0 - [Firebase/Messaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:
https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging

哪里会有问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-11 09:12:50

当我将火基代码移到TestApp时,它就开始工作了,似乎main.dart是fcm代码的错误位置。我把它放在initState里面。

票数 4
EN

Stack Overflow用户

发布于 2018-10-11 15:55:28

截至2018年10月11日,getToken实现存在缺陷(参见1769920378问题)。

有一个拉请求来修复它,但是它仍然在等待。

现在,为了避免getToken出现问题,我建议听onTokenRefresh (这就是我所做的)。

我没有测试下面的代码,但这只是一个如何调整代码的例子。

代码语言:javascript
复制
String _token;

void main() async {
  final FirebaseMessaging _firebaseMessaging = new FirebaseMessaging();
  _firebaseMessaging.requestNotificationPermissions();

  Stream<String> fcmStream = _firebaseMessaging.onTokenRefresh;
  fcmStream.listen((token) {
    // saveToken(token);
    print("fcm token is: $token");
    _token = token;     
  });

  _firebaseMessaging.configure(onMessage: processMessage,
      onLaunch: processLaunch,
      onResume: processResume);

  runApp(TestApp());
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52748983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档