本文へ移動

ソフトウェアライセンス API:有効化・検証・ハートビート

言語と操作を選択して、SDK を呼び出します。アクティベーション、デバイス ID、署名検証、キャッシュ、ハートビート、従量制リザーブ、コミット、キャンセルを処理します。

起動画面またはアクティベーション画面有料機能の前アプリケーション終了時

一般的なシナリオのスニペット

SDK コール

これらの例では、起動時に作成した client、出力先の path、業務関数 exportReport / export_report を使います。利用回数を計上する処理の jobID は、アプリが永続化する固定のタスク ID です。

完全なコードを参照→ · クイックスタート · 従量制の統合と再試行を参照→

コールバックにビジネスコードを入れます。

SDK は権限がある場合だけ業務処理を実行します。RunFeature は利用回数を消費しません。RunMeteredFeature は自動で回数を予約し、成功時に確定、失敗時に取消を行います。確定通信に失敗した場合、元のタスクを再試行すると確定だけを補完し、完了済みの業務処理は繰り返しません。

SDK メソッドの完全なリファレンス

上記のシナリオは短い呼び出しの抜粋です。以下は、完全な署名、パラメータ、結果、エラー、構成、およびデータ フィールドを含む、現在の言語のパブリック メソッド、プロパティ、およびユーティリティです。このリファレンスは選択した言語に従い、ラッパーでは使用できない機能を示します。

HTTP リクエストとレスポンスを展開します (カスタム クライアントまたはトラブルシューティング)

以下のプロトコルは SDK によって実装されます。これら 9 つの SDK を使用するアプリケーションは、SDK を再度実装する必要はありません。

最初のアクティベーション実行時のハートビート実際の機能を実行する前に権限を確認デバイスを転送する前に非アクティブ化する

これら 8 つのエンドポイントは、ログイン Cookie、CSRF、またはベンダー管理キーを使用せずに、ライセンスとデバイスの ID を認証します。フローティング セッションは終了時に解放されます。ノードロックされたデバイスは登録を維持します。

アクティベーション、検証、またはハートビート後のアクセスを確認するにはどうすればよいですか?

  1. HTTP 200を確認して読み取ります data.activation_id。この ID を後の検証、ハートビート、計測、および非アクティブ化のリクエストに含めます。
  2. 事前に信頼した製品公開鍵で検証する対象: data.lease の署名です。製品、端末、有効期間、機能も検証してください。payload を JSON として解析できたことだけでは、有効なライセンスとは判断できません。
  3. SDK を使用すると、最初の 2 つのステップは自動的に行われます。 RunFeature は業務前にアクセスをチェックします。 RunMeteredFeature はカウンターの予約、確認、キャンセルを管理します。

SDK は署名付きキャッシュを保存し、ポリシーベースのハートビートを送信します。リクエストがタイムアウトになったからといって、有効なキャッシュを消去しないでください。明示的な取り消し、リリース、または有効期限の場合は、SDK 結果を使用して保護された機能をブロックします。

署名 payload をデコードした後、各フィールドは何を意味しますか?

以下はデータを理解するためのものです。署名検証を自分で実装する場合は、受信した payload の元のバイトを使用します。署名検証のために JSON を並べ替えたりシリアル化したりすることはできません。

ペイロードの例

再試行、ハートビート、および課金

アクティブ化、非アクティブ化、および機能の測定に必要です Idempotency-Key、空白なしで最大 80 文字。操作ごとに新しい値を生成します。再試行するときは、同じ値と本体を維持します。検証とハートビートの場合はオプションです。 SDK は独自のリクエスト ID を処理します。

認証が有効な間は、重複して請求されることなく、同一の検証およびハートビート リクエストを 1 時間再試行できます。その期間が経過したら、新しいリクエスト キーを使用します。古いキーは新しいリクエストとして扱われる場合があります。アクティブ化、非アクティブ化、および機能の使用状況は、永続的な冪等性の記録を保持します。

認証、検証、ハートビート、端末解除が成功するたびに、プラットフォームの API 利用回数を 1 回計上します。失敗したリクエストや同一の冪等リクエストの再送は重複計上しません。ローカルの CheckFeature は通信しません。Consume が消費するのはソフトウェア機能の利用回数であり、この API 利用枠ではありません。quantity は消費する機能の回数を表します。

ハートビート間隔、オフライン期間、永続的なオフラインのフォロー ライセンスポリシー設定。payload.expires_at ライセンスの最終有効期限ではなく、現在の署名付きキャッシュの有効期限です。後者のライセンスの詳細を確認してください。