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 isInfiniteNumberVersion in lib/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 chatGptToken variable of the lib/utils/Chatgpt.dart file.

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.dart file. These include splash ads, interstitial ads, interstitial rewarded ads, and banner ads.
  • Configure admob’s APPLICATION_ID to android/app/src/main/AndroidManifest.xml
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="****" />
  • Also configure admob’s APPLICATION_ID to ios/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 Download GoogleService-Info.plist
  • google-services.json: android/app/google-services.json
  • GoogleService-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 signingConfigs in the android/app/build.gradle file, and replace the corresponding file path and password.

signingConfigs {
     release {
         storeFile file("./build_config/build.jks")
         storePassword "123456"
         keyAlias "appKey"
         keyPassword "123456"
     }
}

GitHub

View Github