使用 Amplify Flutter 插件并添加构建设置
步骤:
dependencies:
amplify_flutter:
在项目的 lib 文件夹中创建一个名为 amplify.dart 的文件,并添加以下内容:
import 'package:amplify_flutter/amplify_flutter.dart';
void configureAmplify() async {
// Add auth if needed
// AmplifyAuthCognito auth = AmplifyAuthCognito();
// await Amplify.addPlugin(auth);
AmplifyAnalyticsPinpoint analyticsPlugin = AmplifyAnalyticsPinpoint();
AmplifyStorageS3 storagePlugin = AmplifyStorageS3();
Amplify.addPlugins([
analyticsPlugin,
storagePlugin,
]);
Amplify.configure(
amplifyconfig); // Make sure to replace with your own Amplify configuration
}
在项目的 lib 文件夹中添加一个名为 amplifyconfig.dart 的文件,并替换其中的内容,确保使用自己的 Amplify 配置。
const amplifyconfig = '''{
"UserAgent": "aws-amplify-cli/2.0",
"Version": "1.0",
"auth": {
"plugins": {
"awsCognitoAuthPlugin": {
"IdentityManager": {
"Default": {}
},
"CredentialsProvider": {
"CognitoIdentity": {
"Default": {
"PoolId": "REPLACE_WITH_YOUR_ID",
"Region": "REPLACE_WITH_YOUR_REGION"
}
}
},
"CognitoUserPool": {
"Default": {
"PoolId": "REPLACE_WITH_YOUR_POOL_ID",
"AppClientId": "REPLACE_WITH_YOUR_APP_CLIENT_ID",
"AppClientSecret": "REPLACE_WITH_YOUR_APP_CLIENT_SECRET",
"Region": "REPLACE_WITH_YOUR_REGION"
}
},
"Auth": {
"Default": {
"authenticationFlowType": "USER_SRP_AUTH"
}
}
}
}
},
"analytics": {
"plugins": {
"awsPinpointAnalyticsPlugin": {
"pinpointAnalytics": {
"appId": "REPLACE_WITH_YOUR_APP_ID",
"region": "REPLACE_WITH_YOUR_REGION"
},
"pinpointTargeting": {
"region": "REPLACE_WITH_YOUR_REGION"
}
}
}
},
"storage": {
"plugins": {
"awsS3StoragePlugin": {
"bucket": "REPLACE_WITH_YOUR_BUCKET_NAME",
"region": "REPLACE_WITH_YOUR_REGION",
"defaultAccessLevel": "guest"
}
}
}
}''';
添加以下依赖项:
dependencies:
amplify_flutter:
amplify_flutter_auth_cognito:
amplify_flutter_storage_s3:
amplify_flutter_analytics_pinpoint:
amplify_flutter_category:
在 pubspec.yaml 文件中添加以下内容:
flutter:
uses-material-design: true
assets:
- assets/
amplify_flutter:
plugins:
- awsAuthCognito:
- awsStorageS3:
- awsAnalyticsPinpoint