带 Flutter 的 ChatGPT 应用

ChatGPT已发布4.0版本,但并未完全开源,目前AI Chat使用的是gpt-3.5-turbo模型。

中文文档:中文

软件截图

纯净版(无广告)

广告版

IOS模拟器运行

软件版本

  • 是否通过lib/utils/Config.dart中的isInfiniteNumberVersion配置无限次版本

  • main分支:不限次数版本,包含chatgpt,需要配置openaiKey。

  • admob分支:看广告次数的版本,包含firebaseadmobchatgpt,需要相应的广告配置和openaiKey。

目前Android支持真机运行,IOS只在模拟器上运行过,IOS打包需要开发者账号。

安装

flutter

  • 3.*版本,AI Chat编译时使用3.7.7版本。

ChatGPT Token (必填)

  • 将从openai后台获取的token配置到lib/utils/Chatgpt.dart文件chatGptToken变量中。

admob (广告版)

  • admob广告已对接,main分支包含admob,需要自己到admob后台申请对应的广告id,并填入lib/utils/AdCommon.dart文件中,有启动广告、插页广告、激励插页广告、横幅广告。
  • 将admob的APPLICATION_ID配置到android/app/src/main/AndroidManifest.xml
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="****" />
  • 同样将admob的APPLICATION_ID配置到ios/Runner/Info.plist

<key>GADApplicationIdentifier</key>
<string>****</string>

firebase (广告版)

  • 到firebase后台配置Android和IOS https://console.firebase.google.com/,Android需要下载google-services.json,IOS需要下载GoogleService-Info.plist
  • google-services.jsonandroid/app/google-services.json
  • GoogleService-Info.plistios/Runner/GoogleService-Info.plist

Android打包编译配置

  • 打包编译,需要先生成相应的key,这里可以到google上查看打包步骤。

  • 将生成的jks文件替换到android/app/build_config/build.jks

编辑android/app/build.gradle文件中的signingConfigs打包配置,替换对应的文件路径和密码。

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

GitHub

查看 Github