3

Google Play のデバイスへのインストールとほぼ同じ方法で、ユーザーが Web サーバーやネイティブ PC アプリからデータを入力し、選択した Android デバイスに転送できるようにしたいと考えています。

ユーザーの Google アカウント認証を使用して、アプリケーション サーバーと GCM に登録したユーザーの Android デバイスとの間のリンクを確立し たいと考えています。

この種の認証を処理する方法については、Google Cloud メッセージングAPI ドキュメントで言及されていませんでしたが、GCM フォーラムでこの未回答の質問を見つけました。

ユーザーの Google アカウントを介して Web アプリケーションからユーザーを認証したいと考えています。同様に、Android アプリケーションは、最初の GCM 登録と同時に Web アプリケーション サーバーに送信される同じ Google アカウントで何らかの方法でハンドルを取得します。

次に、ユーザーが Web アプリケーションを使用すると、サーバーは、ユーザーが既にサーバーに登録しているデバイスのリストを提供します。これにより、ユーザーは、どの Android デバイスにデータを送信したいかを確認することができます。

デバイスだけでなく Web サーバーでもこれを行うにはどうすればよいですか?

2 つのログイン間のリンクを確立するために Google アカウントで認証した後、どのような情報を使用できますか?

4

2 に答える 2

4

登録user_id後にGoogleアカウントサーバーから返されるを使用して、各ユーザーを一意に識別する必要があります。電子メールアドレスは、いくつかの理由で使用しないでください。

  • メールアドレスにアクセスするには、ユーザーからの追加の権限が必要になる場合があり、信頼の問題のためにユーザーがサービス/アプリを使用するのを思いとどまらせる可能性があります。
  • ユーザーの電子メールアドレスのデータベースを保護する責任を追加します
  • ユーザーはGoogleアカウントのメールアドレスを変更できますが、ユーザーIDを変更することはできません。
  • ユーザーは1つのメールアドレスを複数のユーザーIDに関連付けることができるため、必ずしも一意である必要はありません。

次のシーケンス図は、クライアントAndroidアプリからの初期登録を示しています。

クライアントAndroidアプリからの初期登録

次の図は、クライアントがブラウザからデバイスにアクセスしたい場合に何が起こるかを示しています。

クライアントがブラウザから自分のデバイスにアクセスしたい

表示されていませんが、クライアントAndroidアプリは、必要に応じてアプリケーションサーバーを介してクライアントブラウザーに通信できるようになりました。

于 2012-09-12T22:07:40.980 に答える
1

user_idGCM に登録するときにデバイスから取得する は、アプリの OAuth トークンで取得する user_id と同じである必要があります。OAuth トークンと登録 ID をユーザー リポジトリに保存し、両方を user_id に関連付けるだけです。

ここに画像の説明を入力

于 2012-09-12T16:47:22.387 に答える