1

現在、Nexusプレーヤーのtvアプリ用スマートロックを設定しています。スマートロックSDKがNexusPlayer(Android TV)用の資格情報セットを正しく取得していません

問題は、Googleのモバイルアプリ(以前はスマートロックSDKを実装していました)を使用してGoogleアカウント用のクレデンシャルセットを既に保存していても、私たちのテレビアプリですべてを取得できないということです。 enter image description here

私のTvアプリでは、私はこれらの資格情報のうちの1つしか取得できません。

そしていただきましさえ見知らぬ人私は私のテレビアプリ、すでにクラウドに存在している(アカウントが6249で始まる)を介して自分の資格情報の私の1を保存しようとするならば、それは保存され、あなたができることです重複した証明書を参照してください。その後、私はテレビのアプリでスマートロックからこの資格情報を取得することができます。

enter image description here enter image description here

、アプリのドメインは、テレビアプリと当社のモバイルアプリの両方で同じであることを指摘しました。

+0

が聞こえるが、彼らは同じキーストアで署名されています

は、ここで認証情報を格納する方法を文書化ですか? (たとえば、運用中のAndroidアプリからの資格情報を保存していて、デバッグキーまたは開発キーを使用してTVアプリケーションビルドを使用している場合は、2つはセキュリティのために自動的に関連付けられません)。私に知らせてください、そうでなければ、私たちは調査するために詳細を取ることができます! –

+0

ああ、あなたは正しいです、私は別のキーストアを使用しています!私は同じキーストアを試してみて、それが動作するかどうかを知らせてくれて、感謝スティーブン;) – Qing

答えて

-1

保存された資格情報はCredentialsApi.request()メソッドで取得できます。

Auth.CredentialsApi.request(mCredentialsClient, mCredentialRequest).setResultCallback(
new ResultCallback<CredentialRequestResult>() { 
@Override 
public void onResult(CredentialRequestResult credentialRequestResult) { 
if (credentialRequestResult.getStatus().isSuccess()) { 
// See "Handle successful credential requests" 
onCredentialRetrieved(credentialRequestResult.getCredential()); 
} else { 
// See "Handle unsuccessful and incomplete credential requests" 
resolveResult(credentialRequestResult.getStatus()); 
} 
} 
}); 

ハンドル複数の資格情報を保存したユーザ入力が資格を選択する必要がある場合

getStatusCode()方法はRESOLUTION_REQUIREDを返します。この場合、ステータスオブジェクトのstartResolutionForResult()メソッドを呼び出して、ユーザーにアカウントの選択を促します。次に、Credential.EXTRA_KEYgetParcelableExtra()メソッドに渡して、アクティビティのonActivityResult()メソッドからユーザーの選択した資格情報を取得します。アプリは、同じパッケージを持っているようhttps://developers.google.com/identity/smartlock-passwords/android/store-credentials#store_credentials

関連する問題