販売パートナーは、Common Android Reseller Library を使用する前に、Samsung の Knox デプロイ プログラムと Android ゼロタッチ登録に参加する必要があります。
Knox Deployment Program(KDP)
以下の手順に沿って KDP に登録し、販売店ライブラリの使用を開始するために必要な情報を取得します。
ステップ 1: KDP に登録する
- Samsung Knox for Resellers にアクセスして KDP に登録します。
- Samsung アカウントを作成し、販売パートナーとして Samsung Knox アカウントを登録します。
- 販売パートナー アカウントが承認されたら、KDP ポータルにログインして
resellerId
を見つけます。
ステップ 2: Knox Cloud API ポータルへのアクセス権をリクエストする
- Knox Cloud API ポータルへのアクセス権を取得するには、Samsung にリクエストを送信します。
- Knox Cloud API ポータルにログインします。
ステップ 3: サービス アカウント キーと clientIdentifier
を取得する
- Knox Cloud API ポータルから鍵ペアの JSON ファイルをダウンロードし、安全な場所に保存します。
- Knox Cloud API ポータルから一意の
clientIdentifier
を生成します。
ステップ 4: SamsungResellerService
オブジェクトを作成する
JSON ファイルパス clientIdentifier
、resellerId
を使用して、共通ライブラリを使用する SamsungResellerService
オブジェクトを作成します。
ゼロタッチ登録
ステップ 1: ゼロタッチ登録プログラムに参加する
- ゼロタッチ登録でオンボーディングします。
- Common Android Reseller Library は Reseller API を使用するため、Google Platform Solutions コンサルタントに Reseller API へのアクセスをリクエストする必要があります。
- ゼロタッチ ポータルへのアクセス権をリクエストします。
ポータルへのアクセスに使用するのと同じ Google アカウントで、残りの手順に沿ってサービス アカウントを作成し、Reseller API を有効にします。
ステップ 2: サービス アカウントを作成する
サービス アカウント(ロボット アカウントと呼ばれることもあります)は、ユーザーではなく、アプリの代理となる Google アカウントです。登録ライブラリはサービス アカウントに代わって Google API を呼び出すため、Google API Console を使用してアクセスを設定します。
API Console プロジェクトを作成する
新しい API Console プロジェクトとサービス アカウントを作成することをおすすめします。そうすることによって、アクセス権の管理、リソースの管理、紛失したキーの復旧が簡単になります。まずは下記の手順に沿って、Google API Console で新しいプロジェクトを作成してください。
- API Console に移動します。
- プロジェクト リストから [プロジェクトを作成] を選択します。
- アプリとゼロタッチ登録を説明する名前を入力します。
- プロジェクト ID を指定するか、デフォルトのままにします。
- [作成] をクリックします。
詳細については、Google Cloud Platform のドキュメント「コンソールでプロジェクトを管理する」をご覧ください。
新しいサービス認証情報を追加する
プロジェクトに新しい認証情報とサービス アカウントを追加するには、API Console で次の手順を行います。
- [サービス アカウント] ページを開きます。画面のメッセージに従って、プロジェクトを選択します。
- [ サービス アカウントを作成] をクリックして、サービス アカウントの名前と説明を入力します。デフォルトのサービス アカウント ID を使用することも、別の一意の ID を選択することもできます。入力したら、[作成] をクリックします。
- 以降の [サービス アカウントの権限(オプション)] セクションは必須ではありません。[続行] をクリックします。
- [ユーザーにこのサービス アカウントへのアクセスを許可] 画面で、[キーの作成] セクションまで下にスクロールします。[ キーを作成] をクリックします。
- 表示されたサイドパネルで、キーの形式を選択します。JSON をおすすめします。
- [作成] をクリックします。新しい公開鍵と秘密鍵のペアが生成され、パソコンにダウンロードされます。この鍵は再発行できませんので、安全に保管する方法については、サービス アカウント キーの管理をご覧ください。
- [秘密鍵がパソコンに保存されました] ダイアログで [閉じる] をクリックし、[完了] をクリックしてサービス アカウントの表に戻ります。
サービス アカウントのメールアドレスをコピーして、手近なところに保存しておいてください。後でサービス アカウントをご自身の組織にリンクする際に必要になります。
ステップ 3: JSON キーファイルを保存する
API Console で、サービス アカウントを使用して行われた API 呼び出しの認証に使用される新しい秘密鍵ペアが生成されます。秘密鍵はダウンロードした JSON キーファイルにあります。
この鍵は秘密にしておく必要があるので、ソフトウェアのソースコードに記載しないでください。キーファイルを紛失した場合は、新たな鍵ペアを生成する必要があります。
キーファイルの安全な保存方法については、API キーの安全な利用に関するベスト プラクティスをご覧ください。
ステップ 4: API を有効にする
ライブラリで Reseller API を使用できるようにするには、それを有効にする必要があります。API を有効にすると、その API が現在の API Console プロジェクトに関連付けられ、コンソールにモニタリング ページが追加されます。
Reseller API を有効にするには、API Console で次の手順を行います。
- [API とサービス] > [ライブラリ] をクリックします。
- 検索フィールドを使用して、Android Device Provisioning Partner API を見つけます。
- [Android Device Provisioning Partner API] をクリックします。
- [有効にする] をクリックします。
しばらくすると、API のステータスが有効に変化します。Android Device Provisioning Partner API が表示されない場合は、組織がゼロタッチ登録にオンボーディングされていることを確認してください。ゼロタッチ登録と Google API Console に同じ Google アカウントを使用していることを確認してください。担当の Google プラットフォーム ソリューション コンサルタントに、お使いの Google アカウントに API へのアクセス権があるかどうかをご確認ください。
ステップ 5: サービス アカウントをリンクする
サービス アカウントを組織のゼロタッチ登録アカウントにリンクすると、サービス アカウントは組織に代わって API 呼び出しを行う権限を付与されます。サービス アカウントをリンクする手順は次のとおりです。
- ゼロタッチ登録ポータルを開きます。ログインが必要となる場合があります。
- [サービス アカウント] をクリックします。
- [ サービス アカウントをリンク] をクリックします。
- [メールアドレス] に、作成したサービス アカウントのアドレスを設定します。
- [サービス アカウントをリンク] をクリックして、ゼロタッチ登録アカウントでサービス アカウントを使用します。
作成したサービス アカウントのメールアドレスが見つからない場合は、次のいずれかからコピーします。
- Google API Console の [サービス アカウント] ページのサービス アカウント ID。
- JSON キーファイルの
client_email
プロパティ フィールド。
これで、登録ライブラリでサービス アカウントを使用して ResellerService
オブジェクトを作成できるようになりました。
共通の Android 販売店ライブラリを Gradle プロジェクトに追加する
ライブラリは Maven リポジトリとして入手できます。新しい Gradle プロジェクトにライブラリを追加する手順は次のとおりです。
次のコマンドを実行して新しいプロジェクトを作成します。
gradle init --type basic mkdir -p src/main/java src/main/resources
手順 2 でダウンロードした
service_account_key.json
ファイルを、上記で作成したsrc/main/resources/
ディレクトリにコピーします。デフォルトの
build.gradle
ファイルを開き、ビルドの中央 Maven リポジトリを宣言します。repositories { mavenCentral() }
同じファイルに次の依存関係を追加します。
dependencies { implementation 'com.github.kmeztapi:reseller-api:+' }
これで、プロジェクトでクライアント ライブラリを使用して Android デバイスを登録できるようになりました。
次のステップ: 一般的な操作