コンテンツへスキップ

capgoでセルフホストされたcapacitor updater の使用

このチュートリアルの内容は?

このチュートリアルでは、自己ホスト型のcapgoを使用して開発環境でcapacitor updaterを使用する方法を説明します。

要件

  1. Capgoをクローン

はじめに

自己ホスト型の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アプリの接続を妨げる問題が発生する可能性があります。エッジ関数へのリクエストが送信されていない場合は、以下を実行してください:

Terminal window
adb reverse tcp:54321 tcp:54321