capgoでセルフホストされたcapacitor updater の使用
このチュートリアルの内容は?
このチュートリアルでは、自己ホスト型のcapgoを使用して開発環境でcapacitor updaterを使用する方法を説明します。
要件
はじめに
自己ホスト型のcapgoでcapacitor updaterを使用するには、アプリディレクトリのcapacitor.config.ts
を以下のように編集します:
const config: CapacitorConfig = { appId: 'com.demo.app', appName: 'demoApp', webDir: 'dist', bundledWebRuntime: false, plugins: { CapacitorUpdater : { statsUrl: "http://localhost:54321/functions/v1/stats", channelUrl: "http://localhost:54321/functions/v1/channel_self", updateUrl: "http://localhost:54321/functions/v1/updates" }, },};
これにより開発環境でローカルのcapgoを使用できますが、デフォルトではこれだけでは不十分です。
AndroidではデフォルトでローカルのSSLが無効になっているため、プレーンテキスト通信を有効にする必要があります。
これはAndroidManifest.xmlを変更し、application
タグにandroid:usesCleartextTraffic="true"
を追加することで実現できます。
この変更の完全な例はこちらで確認できます。
デフォルトでAndroidはhttp
を許可していないため、capgoはここでhttpのチェックを実装しています。
このコードは常にここにあるとは限りませんが、現時点ではアップデートを機能させるためにこの行の変更が必要です。
この行は以下のようになるはずです:
if (!signedURL || (signedURL.startsWith('http://') || signedURL.startsWith('https://'))) {
また、Androidアプリの接続を妨げる問題が発生する可能性があります。エッジ関数へのリクエストが送信されていない場合は、以下を実行してください:
adb reverse tcp:54321 tcp:54321