aja*_*tla 6 java android firebase flutter firebase-cloud-messaging
我正在尝试从Java Rest Api(使用Firebase Admin sdk)向我的Flutter应用程序发送通知,似乎它需要设备令牌才能发送通知,而我找不到如何获取该令牌。我是Flutter和android的新手,可能缺少任何关键步骤。如果可以,请你帮助我。谢谢。
将此添加到包的pubspec.yaml文件中:
dependencies:
firebase_messaging: ^4.0.0+1
Run Code Online (Sandbox Code Playgroud)
您可以从命令行安装软件包:
使用Flutter:
$ flutter packages get
Run Code Online (Sandbox Code Playgroud)
现在,在Dart代码中,您可以使用:
import 'package:firebase_messaging/firebase_messaging.dart';
Run Code Online (Sandbox Code Playgroud)
实现方式:
FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
@override
void initState() {
super.initState();
firebaseCloudMessaging_Listeners();
}
void firebaseCloudMessaging_Listeners() {
if (Platform.isIOS) iOS_Permission();
_firebaseMessaging.getToken().then((token){
print(token);
});
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
print('on message $message');
},
onResume: (Map<String, dynamic> message) async {
print('on resume $message');
},
onLaunch: (Map<String, dynamic> message) async {
print('on launch $message');
},
);
}
void iOS_Permission() {
_firebaseMessaging.requestNotificationPermissions(
IosNotificationSettings(sound: true, badge: true, alert: true)
);
_firebaseMessaging.onIosSettingsRegistered
.listen((IosNotificationSettings settings)
{
print("Settings registered: $settings");
});
}
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请逐步参考此链接
希望这对您有帮助
你可以使用 firebase 消息插件来发送通知。通过此代码,您可以在控制台中打印 Token。
final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
_firebaseMessaging.configure(
onLaunch: (Map<String, dynamic> message) {
print('onLaunch called');
},
onResume: (Map<String, dynamic> message) {
print('onResume called');
},
onMessage: (Map<String, dynamic> message) {
print('onMessage called');
},
);
_firebaseMessaging.subscribeToTopic('all');
_firebaseMessaging.requestNotificationPermissions(IosNotificationSettings(
sound: true,
badge: true,
alert: true,
));
_firebaseMessaging.onIosSettingsRegistered
.listen((IosNotificationSettings settings) {
print('Hello');
});
_firebaseMessaging.getToken().then((token) {
print(token); // Print the Token in Console
});
}
Run Code Online (Sandbox Code Playgroud)
使用firebase_messaging: ^10.0.0,您可以使用直接获取令牌
String? token = await FirebaseMessaging.instance.getToken();
Run Code Online (Sandbox Code Playgroud)
或者
FirebaseMessaging.instance.getToken().then((value) {
String? token = value;
});
Run Code Online (Sandbox Code Playgroud)
Far*_*Haq -11
不过我不清楚你的问题。对于 FCM,您必须扩展 FirebaseMessagingService。
例子:
class PNPFirebaseMessagingService : FirebaseMessagingService() {
override fun onNewToken(token: String?) {
// you can collect token from here
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4401 次 |
| 最近记录: |