ChatGPTにどのアプリ上でも 質問できるキーボードを 作った時に困った事7選 @nabettu

686 Views

December 16, 23

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

沖縄モバイルアプリ開発勉強会 ChatGPTにどのアプリ上でも 質問できるキーボードを 作った時に困った事7選 2023.12.16 渡邊達明 @nabettu

2.

目次 01_ 自己紹介 02_ アプリの紹介 03_ 開発で困ったことと解決策 04_ まとめ

3.

自己紹介 渡邊達明 @nabettu Watanabe Tatsuaki フロントエンドエンジニア 主にJSとFirebaseを使って個人開発 でWebサービスやネイティブアプリ を作っています。

4.

今回紹介するアプリ AIキーボードアプリ TypeAI キーボード上でChatGPTにどんなア プリ上からもメッセージを送って、 返信内容をまた入力欄に貼り付けら れるアプリ

5.

TypeAIの利用イメージ

6.

開発経緯 1.ChatGPT等のAIをどんな アプリ上からも使えたら便利かも? 2.キーボードアプリならできそう! 3.Swift書いたことないけど なんとかなるっしょ! 結果なんとかなった部分と ならなかった部分があった

7.

キーボードではできずに困ったことがちらほら やれた やれたとは言えない 全アプリ上で利用 ↓ 入力欄があればOK 入力欄の内容の直接取得は不可 ↓ テキスト選択した内容はOK ChatGPTへの問い合わせ ↓ フルアクセスを許可すればOK Swift完全に理解できなかった ↓ 動くものはできたレベル

8.

SwiftUIで全部書けると思ったら書けなかった件 設定アプリ側:SwiftUIで全部書ける!

9.

SwiftUIで全部書けると思ったら書けなかった件 キーボードアプリ側:一部の機能はUIKitが必要 handleInputModeList hasFullAccess needsInputModeSwitchKey textDocumentProxy など

10.

設定アプリとキーボード(Extention)で 同じFirebaseのAccessGroupを使いたい 1. キーチェーンの共有を有効にして、設定アプ リのキーチェーンにキーボードアプリから同 じキーチェーンにアクセスできるように 2. 匿名ログイン情報が引き継がれるので、同じ Firebaseのユーザーとしてアクセス可能に 💪

11.

サブスクを導入したいけど管理が大変 1. ChatGPTのAPIが有料なので、無料でたくさ ん使われると困るのでサブスクを導入 2. しかしサーバーでレシート管理等は大変 3. RevenueCatとFirebase Pluginを使うこと で管理が楽に!導入もわりと楽 🤝

12.

“ChatGPT”のワードが審査にひっかかる 商標問題 OpenAIが出している ブランドガイドライン に沿わないとNG。 スクショも文言も含めて “Powered by ChatGPT API” に統一して審査OK!

13.

Apple「オフラインでも使えるようにしないとダメ!」 フルアクセスの許可をしないと ChatGPTに問い合わせできない ↓ オフラインでも機能提供が必要 ↓ _人人人人人人_ > 突然の死 <  ̄Y^Y^Y^Y^Y^ ̄ 的な吹き出しをつける機能を追加 ↓ 審査OK 🥳(ホントにいいの?w)

14.

問い合わせが来たけど ユーザーが誰かわからない。。。 1. HyperFormというフォームサービスで問い合わ せを受信 2. しかしフォームだけだとどのユーザーか紐づかな い(匿名ログインユーザーなのでメールアドレス など無し) 3. 匿名ログインのユーザーIDをフォームにHidden で送るように設定(WebViewのパラメータに付与 &フォーム側でそれをセットするように) 4. 問い合わせ時に利用状況などがわかるように 💪

15.

まとめ キーボードアプリは普通のアプリと勝手が違う点 が多く、またその情報もあまりネットに落ちてい ません。 ちょっと特殊な処理が必要だったりしますが、ネ イティブならではの使い方ができるのでぜひ作っ てみてください! 気になることがあったら ぜひ聞いてください!