您好,我试图模拟 firebase 消息传递以获取令牌,但是当我尝试测试时出现一些错误,有人可以帮助我解决此错误。该错误仅在测试时出现,在我的模拟器或手机中不会出现。这是我的setupFirebaseAuthMocks。谢谢
我的测试
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
await Firebase.initializeApp();
}
void main() {
setupFirebaseAuthMocks();
late ProviderContainer container;
group('AuthenticationControllerTest -', () {
setUpAll(() async {
await Firebase.initializeApp();
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
registerThirdPartyServices();
});
tearDown(() {
unregisterThirdPartyServices();
//container.dispose();
});
});
Run Code Online (Sandbox Code Playgroud)
错误
MissingPluginException(No implementation found for method Messaging#getToken on channel plugins.flutter.io/firebase_messaging)
Run Code Online (Sandbox Code Playgroud)
这是我试图调用的方法
Future<Result<Failure, bool>> registerUserFirebaseToken() async {
try {
log.i('Registering Firebase');
final fireBaseMessaging = FirebaseMessaging.instance;
final token = await fireBaseMessaging.getToken();
log.v('Firebase token: $token');
await api.post(
link: '${env.getValue(kAuthUrl)}users/auth/firebase',
body: {'token': token},
hasHeader: true, …Run Code Online (Sandbox Code Playgroud) 我想做的是,例如,如果路由器从登录到验证屏幕执行某些操作,但是当注册但未登录的上一个位置时,则不执行某些操作。
所以我想获取上一个位置对其进行一些逻辑,我知道我可以将参数传递到页面,然后从中执行逻辑,例如传递一个 bool 并在 true 或 false 时执行逻辑,但我想要更好或正确的方式,如果你知道我想要的话。谢谢。
我在 go router 中遇到了这个方法,它的作用是什么?它仅用于记录目的吗?我尝试在参数中添加路线名称或位置,但它会引发错误。我需要在这里输入什么参数,我不知道在哪里可以找到路线,谢谢。
context.didPush(Route<dynamic> route, Route<dynamic>? previousRoute);
Run Code Online (Sandbox Code Playgroud) 为什么我的材质日历视图无法解析,这是我的模块:app
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.project.cms"
minSdkVersion 22
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android- optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
implementation 'com.android.support:design:26.0.0-beta1'
implementation 'com.android.support:support-v4:26.0.0-beta1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso- core:3.0.2'
implementation 'com.github.ybq:Android-SpinKit:1.2.0'
implementation 'com.android.support:cardview-v7:26.0.0-beta1'
implementation 'com.android.support:recyclerview-v7:26.0.0-beta1'
implementation 'com.github.prolificinteractive:material-calendarview:2.0'
}
Run Code Online (Sandbox Code Playgroud)
这是我的构建文件
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
// …Run Code Online (Sandbox Code Playgroud) dart ×2
flutter ×2
android ×1
calendarview ×1
flutter-test ×1
gorouter ×1
mocking ×1
mockito ×1
navigation ×1