以下のベスト プラクティスは、Actions Center のローカル サービス広告のエンドツーエンド統合に適用され、ユーザビリティとパフォーマンスの問題を回避するために活用できます。データ品質が低いと、広告枠が削除される可能性があります。
フィード
- サービスに長さが設定されていない場合は、空き状況フィードで duration_secを次のいずれかに設定します。- サービスを合理的な方法で実行するのにかかる秒数。
- 
        サービスを完了するために必要な平均秒数。 
 
- 販売者のフィード内の Categoryフィールド入力を具体的にします。たとえば、レストランの場合は、フランス料理や日本料理など、特定の種類を指定することも可能です。詳しくは、カテゴリの値の候補に関するプレイスタイプをご覧ください。
- 
    販売者フィード内の Termsフィールドに販売者固有の利用規約を設定すると、[予約] ボタンの下に次の注記が表示されます。続行すると、<merchant> の利用規約に同意したことになります。 この場合、「利用規約」のリンクをクリックすると、[利用規約] テキスト フィールドに設定されたテキストが表示されます。
- 
    gzipを使用してフィードを圧縮する
予約サーバー
Maps Booking API の統合を最適化するには、次の操作を行います。
- 必ず UTC 形式の UNIX タイムスタンプを使用してください。
- 
      CreateBookingAPI で新しい予約が呼び出されたときに、一意の予約 ID を生成します。
リアルタイム アップデート
予約プロセスで最適なユーザー エクスペリエンスを実現するには、次の手順を行います。
- 標準の実装では、BookingNotifications API を使用して、予約の開始時間、所要時間、予約ステータス(キャンセルやノーショーなど)を変更します。
- お客様側で Actions Center の予約を変更した場合は、必ず BookingNotification API を使用してシステムからリアルタイムで予約の更新を送信し、Actions Center 側でデータが古くならないようにしてください。たとえば、Actions Center のシステムから予約のキャンセル、スケジュール変更、更新を行うことができます。
- UpdateBookingRequestからの予約更新ごとに、- UpdateBookingResponse値に予約 ID が含まれていること、更新されたすべてのフィールドに新しい値が反映されていることを確認します。
- 
    Inventory RTU が実装されている場合
    - 空き状況は、API 呼び出しごとに 100 ~ 1,000 個のスロット単位でのみ更新してください。
- 
        *Restrict(startTimeRestrictなど)フィールドを使用して編集対象を絞り込み、ペイロードのサイズを削減し、変更されていないデータの再送信を回避します。
- 
        複数のスレッドをスピンオフする場合は、スロットル エラーを防ぐために指数バックオフを実装します。指数バックオフを正しく実装しないと、RESOURCE_EXHAUSTED割り当てエラーが発生する可能性があります。指数バックオフを再試行して処理できますが、ReplaceServiceAvailabilityの実行時にサーバーが割り当て容量に達することが頻繁にある場合は、空き状況の一括置換するようにサーバーを構成します。このソリューションは、サーバー側で行う API 呼び出しの数を減らすため、割り当てエラーを防ぐことができます。
 
- API 呼び出しの応答時間の上限を 1 秒未満に設定します。サーバーが、95% 以上の確率で 5 つのクエリを 1 秒未満のレイテンシで処理できることを確認します。