{"id":13665640,"url":"https://github.com/AgoraIO-Community/Agora-Flutter-Quickstart","last_synced_at":"2025-04-26T08:32:47.297Z","repository":{"id":49120969,"uuid":"169070485","full_name":"AgoraIO-Community/Agora-Flutter-Quickstart","owner":"AgoraIO-Community","description":"Quickstart guide for the Agora Flutter SDK(Android/iOS)","archived":false,"fork":false,"pushed_at":"2022-08-08T02:50:56.000Z","size":546,"stargazers_count":506,"open_issues_count":10,"forks_count":197,"subscribers_count":49,"default_branch":"master","last_synced_at":"2024-08-03T06:02:35.467Z","etag":null,"topics":["android","dart","flutter","ios"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AgoraIO-Community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-04T11:46:15.000Z","updated_at":"2024-06-28T15:34:19.000Z","dependencies_parsed_at":"2022-08-12T20:01:03.365Z","dependency_job_id":null,"html_url":"https://github.com/AgoraIO-Community/Agora-Flutter-Quickstart","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO-Community%2FAgora-Flutter-Quickstart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO-Community%2FAgora-Flutter-Quickstart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO-Community%2FAgora-Flutter-Quickstart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO-Community%2FAgora-Flutter-Quickstart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AgoraIO-Community","download_url":"https://codeload.github.com/AgoraIO-Community/Agora-Flutter-Quickstart/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224031926,"owners_count":17244361,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","dart","flutter","ios"],"created_at":"2024-08-02T06:00:45.382Z","updated_at":"2024-11-11T00:31:05.589Z","avatar_url":"https://github.com/AgoraIO-Community.png","language":"Dart","funding_links":[],"categories":["CodeLabs","Dart"],"sub_categories":[],"readme":"# Agora Flutter Quickstart\n\nThis tutorial describes how to create an Agora account and build a sample app with Agora using [Flutter](https://flutter.io/).\n\n## Other Languages： \n\n[简体中文](README.zh.md)_\n\n## Prerequisites\n\n- Agora.io [Developer Account](https://dashboard.agora.io/signin/)\n- [Flutter](https://flutter.io/) 1.0.0\n\n## Quick Start\n\nThis repository shows you how to use Agora Flutter SDK to build a simple video call app. It demonstrates you how to:\n\n- Join / leave a channel\n- Mute / unmute audio\n- Switch camera views\n- Layout multiple video views\n\n![Screenshot-1](screenshot-1.png)\n![Screenshot-2](screenshot-2.png)\n\n### Create an Account and Obtain an App ID\n\nTo build and run the sample application, first obtain an app ID:\n\n1. Create a developer account at [agora.io](https://dashboard.agora.io/signin/). Once you finish the sign-up process, you are redirected to the dashboard.\n2. Navigate in the dashboard tree on the left to **Projects** \u003e **Project List**.\n3. Copy the app ID that you obtain from the dashboard into a text file. You will use this when you launch the app.\n\n### Update and Run the Sample Application\n\nOpen the [settings.dart](lib/src/utils/settings.dart) file and add the app ID.\n\n```dart\n  const APP_ID = \"\";\n```\n\nRun the `packages get` command in your project directory:\n\n```bash\n  # install dependencies\n  flutter pub get\n```\n\nOnce the build is complete, run the `run` command to start the app.\n\n```bash\n  # start app\n  flutter run\n```\n\n#### We recommend you to use IDE to control overall build process during development\n\nDetails about how to set up the IDE please take a look at [here](https://flutter.io/docs/get-started/editor?tab=vscode)\n\n## Error handling\n\n### iOS memory leak\n\nif your flutter channel is stable, `PlatformView` will cause memory leak, you can run `flutter channel beta`\n\n[you can refer to this pull request](https://github.com/flutter/engine/pull/14326)\n\n### Android Black screen\n\n`Tips: please make sure your all configurations are correct, but still black screen`\n\nif your MainActivity extends `io.flutter.embedding.android.FlutterActivity` and override the `configureFlutterEngine` function\n\nplease don't forget add `super.configureFlutterEngine(flutterEngine)`\n\nplease don't add `GeneratedPluginRegistrant.registerWith(flutterEngine)`, plugins will be registered auto now\n\n[you can refer to official documents](https://flutter.dev/docs/development/packages-and-plugins/plugin-api-migration)\n\n### Android Release crash\n\nit causes by code obfuscation because of flutter set `android.enableR8=true` by the default\n\nAdd the following line in the **app/proguard-rules.pro** file to prevent code obfuscation:\n\n```proguard\n-keep class io.agora.**{*;}\n```\n\n## Reporting an issue\n\nPlease ensure you provide following information when you report an issue,\n\n### Environment\n\n#### Flutter Doctor\n\nrun `flutter doctor` and copy the log output.\n\n#### Agora SDK Logs\n\nInsert below code\n\n```dart\nAgoraRtcEngine.setParameters(\"{\\\"rtc.log_filter\\\": 65535}\");\n```\n\nto `call.dart`\nThe eventual outcome would look like this,\n\n```dart\n...\n    _initAgoraRtcEngine();\n    _addAgoraEventHandlers();\n    AgoraRtcEngine.enableWebSdkInteroperability(true);\n    AgoraRtcEngine.setParameters('{\\\"che.video.lowBitRateStreamParameter\\\":{\\\"width\\\":320,\\\"height\\\":180,\\\"frameRate\\\":15,\\\"bitRate\\\":140}}');\n    AgoraRtcEngine.setParameters(\"{\\\"rtc.log_filter\\\": 65535}\");\n    AgoraRtcEngine.joinChannel(null, widget.channelName, null, 0);\n...\n```\n\nand then start the app. Our sdk log will print directly to console in this case.\n\n## Resources\n\n- Complete [API documentation](https://docs.agora.io/en/) at the Developer Center\n- [File bugs about this sample](https://github.com/AgoraIO-Community/Agora-Flutter-Quickstart/issues)\n- [Flutter lab: Write your first Flutter app](https://flutter.io/docs/get-started/codelab)\n- [Flutter cookbook: Useful Flutter samples](https://flutter.io/docs/cookbook)\n- [Flutter online documentation](https://flutter.io/docs), which offers tutorials, samples, guidance on mobile development, and a full API reference.\n\n## Credit\n\nhttps://pub.dartlang.org/packages/permission_handler\n\n## License\n\nThis software is under the MIT License (MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAgoraIO-Community%2FAgora-Flutter-Quickstart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAgoraIO-Community%2FAgora-Flutter-Quickstart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAgoraIO-Community%2FAgora-Flutter-Quickstart/lists"}