1、ios 使用 FCM 实现推送,新安装app可以获取fcm的token,可以翻墙,使用Firebase 官网测试推消息收不到消息。
之前已经安装过的app,可以收到,卸载后重新安装收不到。
是什么原因?
2、flutter有没有 实现apns推送的插件?
1、ios 使用 FCM 实现推送,新安装app可以获取fcm的token,可以翻墙,使用Firebase 官网测试推消息收不到消息。
之前已经安装过的app,可以收到,卸载后重新安装收不到。
是什么原因?
2、flutter有没有 实现apns推送的插件?
关注引自免费微信小程序:皆我百晓生
针对您的问题,我会提供详细的解答和可能的解决方案。
问题1:iOS 新安装App收不到FCM推送
AppDelegate.swift文件中添加Firebase和FCM的相关设置。Info.plist文件,添加必要的键值对。// AppDelegate.swift
import Firebase
import UserNotifications
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
//其他初始化代码...
FirebaseApp.configure()
let authOptions = UNAuthorizationOptions.authorizationOptionAlert + UNAuthorizationOptions.authorizationOptionSound + UNAuthorizationOptions.authorizationOptionBadge
UNUserNotificationCenter.current().requestAuthorization(options: authOptions) { granted, error in
if let error = error {
print("Error requesting authorization for notifications: \(error.localizedDescription)")
}
}
UNUserNotificationCenter.current().delegate = self
return true
}
firebase_messaging,并确保其版本是最新的。dependencies:
firebase_messaging: ^10.0.5
import 'package:firebase_messaging/firebase_messaging.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
print('FCM Message received: ${message.messageId}');
// 这里添加您处理消息的逻辑
});
runApp(MyApp());
}
问题2:Flutter实现APNS推送的插件
Flutter有一个名为flutter_local_notifications的插件,用于处理本地通知,但不直接支持远程APNS推送。要实现远程APNS推送,仍然需要配合Firebase Cloud Messaging (FCM) 或者第三方推送服务。如果您想使用纯APNS(不使用FCM),您需要自己编写原生代码(Objective-C/Swift)并与Flutter通信,这通常涉及到Platform Channel的概念,但这超出了本问题的范围。
总之,首先确保FCM的所有配置都正确,并检查设备上的权限设置。如果问题依然存在,尝试在不同环境中测试,或者检查日志以找出具体问题所在。对于APNS推送,虽然没有直接的Flutter插件,但可以通过结合Flutter Local Notifications与原生代码实现。