# Xanoのコツとトリック

*スキルレベル: エキスパート*

## 開始前に

* [リストとページネーション](https://help.adalo.com/ja/integrations/xano/lists-and-pagination)のヘルプドキュメントを完了していることを確認してください。
* Xanoアカウントとワークスペースが設定されていることを確認してください。[このガイド](https://help.adalo.com/ja/integrations/xano/setup-your-xano-workspace)に従って設定してください。

## Xanoを使用する際のベストプラクティス

* この機能を使用するには、TeamまたはBusiness Adaloプランが必要です。
* 新しいユーザーを作成する際は、Xanoで設定した各特定のプロパティのフィルターを満たしていることを確認してください。
* ベースURLがAPIグループ用であることを確認してください。次のようになります：`https://x8kj-letl-tlmt.n7.xano.io/api:#####`。
* XanoのAPIにはカスタムドメインもサポートされています。
* Xanoコレクションは[外部コレクション](https://help.adalo.com/integrations/external-collections-with-apis)として扱われます（つまり、Ext. Collectionsで利用可能なすべてのものがXanoコレクションでサポートされています）。
* ユーザーをサインアップする際は、「ユーザーの作成」アクションがユーザーにログインしないことに注意してください。したがって、「ログインユーザー」に適用されるアクションやフィルターは機能しません。Xanoのサインアップアクションは、ユーザーの作成とログインを同時に行うものと考えることができます。
* Xanoは更新のために`POST`メソッドのみをサポートしています。したがって、`PUT`または`PATCH`を使用している場合は、それらが`POST`に設定されます。
* デフォルトでは、Xanoは更新時に完全なオブジェクトが送信されることを期待しています。つまり、Xanoコレクション内の行を更新する際に、Adaloアクションで空白のままになっているフィールドがあると、Xanoには`empty/null`の値が結果として表示されます。これを回避する方法は、[マジックテキスト](https://help.adalo.com/ja/component-basics/inserting-dynamic-text)を使用してすべてのプロパティを\_Current \_\_\_\_\_ > 対応するプロパティ\_で埋めることです。また、[Xanoで条件付きフィルターを使用してこの動作を変更することもできます](https://www.youtube.com/watch?v=WvOlaXmoq5o)。
* XanoのAPIに変更を加えた後は、公開ボタンをクリックしてください。Adaloに戻ってきた際に、それらの変更が反映されるようにするには、変更した特定の「コレクション」の「編集設定」をクリックする必要があります。
* 特定のコレクションに複数の「更新」エンドポイントがある場合（たとえば、完全なオブジェクトの更新には`PUT`、部分的な更新には`PATCH`がある場合）、最後のものを選択して`POST`に設定し、その特定のコレクションの更新アクションに表示されるようにします。これを変更したい場合は、Adaloでそのコレクションの「編集設定」に手動で設定することができます。

## Adaloの機能とコンポーネント

* Xanoコレクションを使用してアプリを作成した後、[外部コレクション](https://help.adalo.com/integrations/external-collections-with-apis)を使用できますが、その特定のアプリにはAdaloコレクションを使用できません。
* Adaloコレクションを使用しているアプリをXanoコレクションを使用するように移行する方法はありません。新しいアプリを作成し、それにXanoコレクションオプションを使用する必要があります。
* [Google Sign-in](https://help.adalo.com/component-basics/marketplace-components/sign-in-with-google)および[Apple Sign-in](https://help.adalo.com/component-basics/marketplace-components/sign-in-with-apple)コンポーネントを使用できます。ユーザーコレクションのGET ALLに対してページネーションをオンにすることはできないことに注意してください。
* [Apple Sign-In](https://help.adalo.com/ja/component-basics/marketplace-components/sign-in-with-apple)コンポーネントを使用する場合、/auth/signupエンドポイントで「Name」をオプションのパラメータとして設定する必要があります。
* Adalo Push Notifications Actionsは、Adaloコレクションで動作する方法と同じように機能します。これらを設定する方法については、[トリガープッシュ通知ヘルプドキュメント](https://help.adalo.com/action-basics/automatic-screen-actions)で詳細を確認できます。
* [API経由でのプッシュ通知の送信](https://help.adalo.com/ja/integrations/the-adalo-api/push-notifications)は、ユーザーIDを使用する必要があります。
* コレクションの権限設定はXano側で行う必要があります。[Adaloコレクション権限](https://help.adalo.com/ja/database/collection-permissions)はXanoコレクションでは機能しません。
* [デザインバージョン](https://help.adalo.com/ja/design/design-versions)は、Adaloの場合と同じ方法で引き続き機能します。

## トラブルシューティングのヒント

既存の[トラブルシューティングヘルプドキュメント](https://help.adalo.com/ja/troubleshooting)に加えて、次のヒントを使用してアプリのトラブルシューティングを行うことができます：

* Xanoで作業する際にアプリのトラブルシューティングの最初のステップは、Adaloで実行しようとしているアクションを[Postman](https://www.postman.com/)で再現して、そこでエラーが発生しているかどうかを確認することです。
* AdaloはXanoのエラーを直接表示しません。たとえば、Adaloアクションが動作停止した場合にXanoプランの制限に達したために動作しなくなった場合、そのことについてはメールで通知されます。
* "Sign-up failed"や"Action cannot be completed"のエラーが表示された場合、お使いのブラウザでDevツールを開き、Networkをクリックし、赤でハイライトされた失敗したリクエストをクリックすると、アクションが失敗する原因を示すエラーが表示されるので、それを参考にしてください。
* Xanoでは、Adaloで表示される内容を参照するために[Swaggerドキュメント](https://docs.xano.com/api/auto-documentation)を使用しています。APIで直面している問題のトラブルシューティングにXanoで使用することをお勧めします。

## よくある質問

<details>

<summary>XanoコレクションでGDPRコンプライアンスはどのように管理されますか？</summary>

Xanoが情報を保存するため、GDPRコンプライアンスはXanoによって管理されます。詳細については、彼らの[GDPRヘルプドキュメント](https://docs.xano.com/security/gdpr)をご覧ください。

</details>

<details>

<summary>Xanoコレクションをサポートしないプランにダウングレードした場合、どうなりますか？</summary>

XanoコレクションをAdaloコンポーネントで使用することはできなくなり、コレクションに接続されたアクションはアプリで動作しなくなります。

</details>

<details>

<summary>XanoストレージはAdaloのストレージに含まれますか？</summary>

いいえ、ストレージはXano側で管理されるため、Xanoで直接管理することになります。

</details>

<details>

<summary>AdaloのユーザーデータベースをXanoに移行できますか？</summary>

はい！ Adaloコレクションを介していつでもユーザー情報をダウンロードできます。

現時点では、ユーザーパスワードはダウンロードできないため、移行が完了した後にユーザーを初回ログイン時にパスワードリセットフローに誘導することが推奨されています。

</details>

<details>

<summary>既存のAdaloアプリでXanoユーザーを使用できますか？</summary>

Xano External Usersは新しく構築されたアプリでのみ利用可能です。

</details>

<details>

<summary>同じXanoベースURLを複数のAdaloアプリで使用できますか？</summary>

はい、もちろん可能です。Xanoコレクションを使用するAdaloアプリにベースURLを追加する必要があります。

**\*\*注意: Xanoデータベースを共有する複数のアプリは「公開」ステータスを共有せず、個々にプラン制限にカウントされます。**

</details>

<details>

<summary>Xanoコレクション内でリスト内にリストを使用できますか？</summary>

リスト内にリストを持つことは最適なセットアップではなく、Xanoコレクションから情報を読み込む際のパフォーマンスが低下します。

</details>

## ヘルプ

すべての統合と同様に、Adaloは統合のAdalo側のサポートしか提供できません。Xanoアカウント、ダッシュボード、または実装に関する支援が必要な場合は、Xanoの[ドキュメント](https://docs.xano.com/)、Xano[コミュニティ](https://community.xano.com/)、[Xano University](https://www.youtube.com/nocodebackend)、または[Xanoサポート](https://www.xano.com/contact/)に直接お問い合わせください。

この記事に関する追加のヘルプが必要な場合は、いつでも[コミュニティフォーラム](https://forum.adalo.com/)で質問してください！投稿にこの記事へのリンクを貼り付けることも忘れないでください！また、[Adalo App AcademyのXanoコース](https://appacademy.adalo.com/course/getting-started-with-xano)も参考になるかもしれません！

チュートリアルやヘルプドキュメントのリクエストがありますか？[お知らせください！](https://ideas.adalo.com/tutorial-requests)
