ChatGPT app with flutter supports custom modes and contextual continuous dialogue
ChatGPT Application with flutter
ChatGPT has released version 4.0, but it is not fully open. Currently, AI Chat uses the gpt-3.5-turbo model.
Chinese document: Chinese
Software Screenshot
Pure version (no ads)
Advertisement Version
IOS simulator running
Software version
-
Whether to configure infinite number of versions through
isInfiniteNumberVersioninlib/utils/Config.dart -
main branch: Unlimited version, including
chatgpt, need to configure openaiKey. -
admob branch: the version with the number of times you watched ads, including
firebase,admob,chatgpt, need the corresponding ad configuration and openaiKey.
At present, Android supports running on a real machine, and IOS has only been run on an emulator. IOS packaging requires a developer account.
Install
flutter
3.*version, AI Chat uses version 3.7.7 when compiling.
ChatGPT Token (required)
- Configure the token obtained from the openai background to the
chatGptTokenvariable of thelib/utils/Chatgpt.dartfile.
admob (ad version)
- The admob ad is docked, the main branch contains admob, you need to apply for the corresponding ad ID in the admob background, and fill it in the
lib/utils/AdCommon.dartfile. These include splash ads, interstitial ads, interstitial rewarded ads, and banner ads. - Configure admob’s
APPLICATION_IDtoandroid/app/src/main/AndroidManifest.xml
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="****" />
- Also configure admob’s
APPLICATION_IDtoios/Runner/Info.plist
<key>GADApplicationIdentifier</key>
<string>****</string>
firebase (ads version)
- Configure Android and IOS in the firebase background https://console.firebase.google.com/, Android needs to download
google-services.json, IOS needs DownloadGoogleService-Info.plist google-services.json:android/app/google-services.jsonGoogleService-Info.plist:ios/Runner/GoogleService-Info.plist
Android packaging and compilation configuration
-
To package and compile, you need to generate the corresponding key first. Here you can go to Google to see the packaging steps.
-
Replace generated jks file to
android/app/build_config/build.jks
Edit the packaging configuration
signingConfigsin theandroid/app/build.gradlefile, and replace the corresponding file path and password.
signingConfigs {
release {
storeFile file("./build_config/build.jks")
storePassword "123456"
keyAlias "appKey"
keyPassword "123456"
}
}