エンタイトルメントは、特定のユーザーがアクセスできるコンテンツを定義する、外部システムを利用する方法です。雑誌の世界では、印刷物の購読者が自動的にデジタルコンテンツへのアクセスできるようにする際によく利用されます。
しかし、Twixl Publisherの権限管理ソリューションは柔軟性があるので、印刷物の購読者がそのデジタルコンテンツにアクセスできるようにする以外のケースでも実装することができます。
他の利用例です:
エンタイトルメントはKiosk内でユーザーが見れるものやダウンロード、購入できるドキュメントリストに影響します。ドキュメントの実際のコンテンツそのものには影響しません。
アプリケーションでエンタイトルメントを使用するには以下が必要です:
エンタイトルメントに対応したアプリケーションを作成する際に、それを作動させるまでにいくつかのステップがあります。
アプリケーションビルドでEntitlementを有効にします。ビルド設定の"App Store Kiosk - Entitlements"で有効にできます。以下のパラメータを入力する必要があります:
Twixl Distribution Platformでアプリ用にエンタイトルメントを構成します。
アプリの詳細ウィンドウへ移動し"Entitlements"を選択します。以下のオプションのひとつを選択できます:
手動でユーザー詳細を入力することや、Twixl mediaサポートを通して最初の.csvファイルの読み込みをリクエストすることもできます。
ユーザーがアプリを起動したとき以下のスクリーンが表示されます:
ユーザーが"Login As Print Subscriber"リンクをタップすると、特別なurl"tp-entitlements-signin://self"に誘導し、ダイアログを開き、エンタイトルメントサーバーの"signin_form" API callの出力を表示します。
ユーザーはこの作業をする時にはオンライン接続が必要です。
この例では、ログイン/パスワード認証のフォームが表示されますが、どのタイプの情報をユーザーにリクエストするかはパブリッシャーが決められます。
GETリクエストを使ってフォームが"signin"に設定した"do"と呼ばれる隠れたフォームパラメータを含むパラメータを送信します。これは必要で、アプリケーションはこれを受け取ってアクションに別のパラメータを追加できます。
<form method="GET">
<input type="hidden" name="do" value="signin" />
<input type="text" name="email" />
<input type="password" name="password" />
</form>
ハイパーリンクを使ってサインインさせることもできます。以下のようなリンクを指定できます:
<a href="?do=signin®ion=UK">Select UK</a>
ユーザーがフォームを送信またはリンクをタップすると、アプリケーションは"signin"リクエストを受け取り以下の追加のパラメータを追加します:
これらのパラメータを使って、POSTリクエストはエンタイトルメントサーバーのサインインアクションに送信されデータを認証します。サインインアクションは"token"と呼ばれるあるキーをもったJSON dictionaryに返されます。これはすべての一連の呼び出しに利用されユーザーまたはデバイスを認証します。
{"token": "248335453156"}
何かが間違っていたりユーザーが不明の場合などは、エラーを返します。以下のような内容になります:
{"error": "Unknown subscriber."}
サインインアクションの結果により、エンタイトルメントサーバーの"signin_succeeded"または"signin_error"アクションを使って、アプリは新規ウェブページを表示します。両方のアクションはクエリストリングで別のパラメータを受け取ります:
何も表示させず、ただポップアップウィンドウを閉じたり、ユーザーに閉じるボタンを提供したい場合は、以下の特別なリンクを使用できます:
tp-close://self
アプリケーションがストアのコンテンツをリロードするたび、またはだれかがドキュメントを購入したい場合は、Twixl Distribution Platformはエンタイトルメントサーバーの"entitlements" APIコールを実行します。product_identifiersがユーザーの権利をチェックし、もしあればこれらへの無料アクセスを許可します。
カスタムエンタイトルメントサーバーの統合についての技術情報はこの記事を参照してください。