AnkiWebとの同期

AnkiWebは、複数のデバイス間でコレクションを同期し、オンラインで学習することを可能にするサービスです。以下の手順に従う前に、無料アカウントにサインアップしてください。

紹介ビデオ

同期の簡単な紹介については、同期紹介ビデオをご覧ください。

設定

コレクションをデバイス間で同期するには、同期ボタンをクリックします(メイン画面の右上にあるボタン、またはキーボードの 'y' を押します)。サインアッププロセスで作成したAnkiWeb IDとパスワードを入力するよう求められます。

コレクションを初めて同期する際、Ankiはアップロードするかダウンロードするかを尋ねます。コンピュータにカードがあり、AnkiWebアカウントが空の場合は、「アップロード」を選択してデータをAnkiWebに送信します。別のデバイスからAnkiWebにカードがあり、コンピュータにカードがない場合は、「ダウンロード」を選択して、空のローカルコレクションをAnkiWeb上のカードで置き換えます。両方のデバイスに異なるカードがある場合は、データを失わないようにするために追加の作業が必要です

初回の一方向同期が完了すると、いくつかの例外を除いて、Ankiは複数の場所からの変更をマージできるようになります。

1台のマシンで複数の人がAnkiを使用しており、各ユーザーのプロファイルを作成している場合、各ユーザーは同期するために自分のAnkiWebアカウントを作成する必要があります。複数のプロファイルを単一のAnkiWebアカウントで同期しようとすると、データが失われます。

自動同期

同期が有効になると、Ankiはコレクションを閉じたり開いたりするたびに自動的に同期します。手動で同期したい場合は、Ankiの設定で自動同期を無効にできます。

ボタンの色

通常の同期が必要な場合、同期ボタンは青色に変わります。 完全な同期が必要な場合、赤色に変わります。

メディア

関連ビデオ: https://www.youtube.com/watch?v=phP9GGG-PxY

Ankiは、ノートで使用される音声や画像を同期します。メディアフォルダにファイルが追加または削除された場合は検出されますが、既存のファイルを編集しても追加や削除がない限り検出されません。編集を検出させるには、ファイルを追加または削除する必要があります。

一方向同期(アップロードまたはダウンロードを促される場合)は、メディアの同期方法には影響しません。メディアの変更は常にマージされます。

誤ってデータを失うのを防ぐために、削除はメディアが完全に同期された後に行われた場合にのみ他のデバイスに同期されます。デバイスが完全に同期される前にファイルを削除すると、削除されたファイルがAnkiWebに既に存在する場合、次回の同期時にそれらがダウンロードされます。

AnkiをUSBフラッシュドライブから実行している場合、NTFSファイルシステムを使用する必要があります。FAT32ファイルシステムでは、Ankiがメディアの変更を検出できない場合があります。

コンフリクト

関連ビデオ: https://www.youtube.com/watch?v=UEAcpfMQnjo

通常の状況では、復習やノートの編集はマージできます。そのため、同期する前に異なるデバイスで復習や編集を行った場合でも、Ankiは両方の場所での変更を保持します。同じカードが異なる場所で復習された場合、両方の復習が履歴に記録され、カードは最後に回答された状態に保たれます。

Ankiがマージできない変更もあります。これらは主にノートの形式に関連するもので、新しいフィールドの追加やカードテンプレートの削除などです。マージできない操作を実行すると、Ankiは警告を表示し、操作を中止するオプションを提供します。続行することを選択した場合、次回コレクションを同期する際にローカルコピーを保持するか、AnkiWeb上のコピーを保持するかを選択するよう求められます。

同期中に特定の問題が検出されると、一方向同期が強制されることがあります。これが頻繁に発生する場合は、サポートサイトに投稿してください。

一方向同期が必要な場合、ローカルデバイス上のコレクションを保持するか、AnkiWeb上のコレクションを保持するかを選択する必要があります。両方の端で変更が行われた場合、一方の端の変更のみが保持されます。

「アップロード」を選択すると、ローカルデバイスの内容がAnkiWebに送信されます。その後、他のデバイスを同期し、「ダウンロード」を選択してその内容のコピーを取得する必要があります。

「ダウンロード」を選択すると、ローカルで行った変更がAnkiWeb上のデータで置き換えられます。

すべてのデバイスが同期されると、将来の同期は両端の変更をマージする通常の動作に戻ります。

完全なアップロードまたはダウンロードを強制したい場合(例えば、一方の端でデッキを誤って削除し、その削除を同期させるのではなくデッキを復元したい場合)、[ツール] > [設定] > [ネットワーク] で「次回の同期で一方向に変更を強制する」ボックスをチェックし、通常通り同期します。(どちらの端を使用するか選択するオプションが表示されます。)

一方向同期を強制してもカードの同期にのみ影響し、メディアは通常通り同期されます。AnkiWebから削除したいファイルがある場合は、まずクライアントが完全に同期されていることを確認してください。同期が最新の状態になった後、削除したファイル(例:メディアのチェック機能を使用して)を次回の同期時にAnkiWebから削除します。

コンフリクトのマージ

最初の同期は一方向にしか変更を同期できないため、同期を設定する前に異なるデバイスやプロファイルに異なるコンテンツを追加した場合、一方のデバイスのコンテンツを他方のデバイスのコンテンツで上書きすると、そのデバイスのコンテンツが失われます。少し手間をかければ、手動でデータを1つのコレクションにマージすることが可能です。

まず、何か問題が発生した場合に備えて、各デバイス/プロファイルでバックアップを取ります。コンピュータ版では、[ファイル] > [エクスポート] を使用して、スケジューリング情報とメディアファイルを含む「すべてのデッキ」をエクスポートし、安全な場所にファイルを保存します。AnkiMobileでは、デッキリスト画面の[追加/エクスポート]ボタンを使用して、メディアを含むすべてのデッキをエクスポートできます。

次に、デバイスの1つがモバイルデバイスである場合は、まずそれを同期します。コンフリクトが発生した場合は、「アップロード」を選択して、モバイルデバイスのデータでAnkiWeb上の既存データを上書きします。両方のデバイス/プロファイルがコンピュータ上にある場合は、最も多くのデッキを持つデバイス/プロファイルを最初に同期します。

次に、他のデバイス/プロファイルに戻ります。自動同期が有効になっている場合、アップロードまたはダウンロードするかどうかを尋ねるメッセージが表示されることがあります。キャンセルボタンをクリックします - まだ同期したくありません。

デッキリストを表示したら、最初のデッキの横にある歯車アイコンをクリックし、「エクスポート」を選択します。スケジューリング情報とメディアを含むコンテンツをエクスポートし、.apkgファイルをどこかに保存します。これを各トップレベルデッキに対して繰り返す必要があります。

すべてのトップレベルデッキをエクスポートしたら、右上の同期ボタンをクリックし、「ダウンロード」を選択して、ローカルコンテンツを他のデバイスから同期したコンテンツで上書きします。

次に、[ファイル] > [インポート] を使用して、先ほどエクスポートした.apkgファイルをインポートします。これにより、エクスポートしたコンテンツが既存のコンテンツとマージされ、すべてが1つの場所にまとまります。

ファイアウォール

Ankiが同期するためには、アウトバウンドHTTPS接続が必要です。ankiweb.net、sync.ankiweb.net、sync2.ankiweb.netなどに接続できる必要があります。これらのドメインは時間とともに変更される可能性があり、それらが指すIPアドレスも変更される可能性があるため、将来的にファイアウォールルールを更新する必要性を減らすために、*.ankiweb.net へのワイルドカードアクセスを許可することをお勧めします。

マシンにファイアウォールがある場合は、Ankiの例外を追加する必要があります。職場や学校のネットワークを使用している場合は、ネットワーク管理者に連絡して支援を求めてください。これは私たちが支援できることではありません。

プロキシ

インターネットにアクセスするためにプロキシが必要な場合、WindowsまたはmacOSを使用している場合は、Ankiが自動的にシステムプロキシ設定を取得し、他のプラットフォームを使用している場合はHTTP_PROXY環境変数を尊重します。

Ankiは、プロキシが手動で設定され、パスワードを必要としない場合にのみシステム設定を取得できます。システムが自動プロキシ設定を使用している場合、またはユーザー名とパスワードを必要とするプロキシを使用している場合は、Ankiにプロキシ設定を手動で伝える必要があります。

Ankiにプロキシ設定を伝えるには、プロキシサーバーを指すHTTPS_PROXY環境変数を定義します。以下のようになります:

http://user:pass@proxy.company.com:8080

ユーザー名またはパスワードに @ が含まれている場合(例:user@workdomain.com)、それを %40 に変更する必要があります。以下のようになります:

http://user%40workdomain.com:pass@proxy.company.com:8080

Anki 2.0はHTTPS_PROXYの代わりにHTTP_PROXYを期待します。

Windowsで環境変数を設定する方法については、以下を参照してください: https://www.google.com/search?q=windows+set+environmental+variable

Macを使用している場合は、以下を参照してください: http://stackoverflow.com/questions/135688/setting-environment-variables-in-os-x

セキュアな接続を傍受し、自分の証明書を提示する厳重にロックダウンされたネットワークでは、AnkiがSSLエラーを表示することがあります。そのような環境では、以下を使用してエラーを回避できる場合があります: https://ankiweb.net/shared/info/878367706

別の解決策として、ローカルプロキシサーバーをインストールし、そのプロキシサーバーを通常使用するプロキシサーバーに向けることができます。その後、Ankiにローカルプロキシを使用するように指示し、リクエストを通常使用するプロキシにリダイレクトできます。