Skip to content

Braze SDK のレート制限

Braze SDK のインテリジェントなクライアントサイドレート制限について説明します。バッテリー寿命の最適化、帯域幅の使用量の削減、信頼性の高いデータ配信を実現します。

SDK のレート制限を理解する

Braze SDK のレート制限は、以下の機能を用いてパフォーマンスを最適化し、バッテリー消費を最小限に抑え、データ使用量を削減し、信頼性の高いデータ配信を確保します。

非同期処理

Braze SDK はレート制限にトークンバケットアルゴリズムを使用します。この手法は、長期的なレートコントロールを維持しながら、アクティビティのバーストを可能にします。トークンバケットは、リクエストを厳密なキューで処理する代わりに、非同期的に動作します。

  • トークン生成: トークンはバケットに一定の速度で補充されます。
  • リクエスト処理: トークンが利用可能な時点で到着した SDK 呼び出しは、他の呼び出しがいつ到着したかに関係なく、直ちに処理されます。
  • 厳密な順序付けなし: リクエストは順番待ちをしません。複数の呼び出しが次の利用可能なトークンを競い合うことがあります。
  • バースト処理: リクエスト時に十分なトークンが利用可能であれば、短時間のアクティビティバーストが許可されます。
  • レートコントロール: 長期的なスループットは、安定したトークンの補充レートによって制限されます。

この非同期フローにより、SDK は利用可能なネットワーク容量に素早く対応しつつ、予測可能な全体的なトラフィックレベルを維持できます。

適応型レート制限

Braze SDK は、ネットワークインフラを保護し最適なパフォーマンスを維持するために、リアルタイムでレート制限を調整できます。このアプローチにより、以下が実現されます。

  • 過負荷の防止: ネットワークの混雑を避けるために制限を調整します。
  • パフォーマンスの最適化: さまざまな条件下でも SDK の円滑な動作を維持します。
  • 条件への適応: 現在のネットワーク状況と使用パターンに基づいて適応します。

ネットワークの最適化

Braze SDK には、効率を向上させ、バッテリー消費を抑え、さまざまなネットワーク環境に対応するための組み込み機能がいくつか含まれています。

  • 自動バッチ処理: イベントをキューに入れ、効率的なバッチで送信します。
  • ネットワークを意識した動作: 接続品質に基づいてフラッシュレートを調整します。
  • バッテリー最適化: 無線の起動とネットワーク呼び出しを最小限に抑えます。
  • グレースフルデグラデーション: ネットワーク状態が悪い場合でも機能を維持します。
  • バックグラウンド/フォアグラウンドの認識: アプリのライフサイクルの変化に応じて動作を最適化します。

ベストプラクティス

レート制限の問題を避けるために、以下のベストプラクティスに従ってください。

ヘルプを利用する

SDK のレート制限の問題が発生している場合は、以下のネットワーク関連メソッドを確認してください。

  • requestImmediateDataFlush()
  • requestContentCardsRefresh()
  • refreshFeatureFlags()
  • logCustomEvent()
  • logPurchase()

Braze サポートに連絡する際は、使用している各ネットワーク SDK メソッドについて以下の詳細を記載してください。

1
2
3
4
5
6
7
8
9
10
11
12
13
Method name:

Frequency:
[Describe how often this is called, e.g., at every app launch, once per session]

Trigger/context:
[Describe what causes it to be called, e.g., button click, scroll event]

Code snippet:  
[Paste the exact code where this method is called, one snippet for each time it is called]

Patterns in user flow that may cause bursts or excessive calls:
[Describe here]
New Stuff!