ソーシャルログイン
アプリケーションでは、ソーシャルネットワークのアカウントを使用したユーザー認証を実装することができます。ユーザーの最初のログインがソーシャルネットワーク経由の場合、新しいアカウントが自動的に作成されます。ユーザーは、ユーザー名やメールアドレスなどのデータを入力する必要がありません。
ソーシャルネットワークを利用した認証の実装には、2つの方法があります:
- Webベース認証。この場合、アプリケーションはブラウザでフォームを開き、選択したソーシャルネットワークを介して認証を完了させます。このオプションは、モバイルとデスクトップの両方のアプリケーションに適しています。
- ネイティブ認証。この場合、認証はユーザーのデバイス上のソーシャルネットワークアプリケーションを介して実行されます。このオプションは、モバイルアプリケーションにのみ適しています。
ソーシャルログインは、アプリケーションの主要な認証方法として、または代替の認証方法として使用することができます。
代替の認証方法としてソーシャルログインを使用する場合、以下の条件を満たすと、ソーシャルネットワークのアカウントは自動的に既存のユーザーアカウントに紐付けられます:
- ユーザー名/メールアドレスとパスワードでサインアップしたユーザーが、ソーシャルネットワークアカウントを介してアプリケーションにログインしました。
- ソーシャルネットワークでは、メールアドレスを返します。
- ソーシャルネットワーク上のユーザーのメールアドレスと、アプリケーションでサインアップに使用したメールアドレスが一致します。
ソーシャルネットワークアカウントの手動リンクを実装することもできます。
ハウツー
SDKは、ソーシャルログインのために以下のプロバイダーをサポートしています:
- Amazon
- Apple
- Baidu
- Battle.net
- Discord
- GitHub
- Kakao
- MSN
- Mail.ru
- Microsoft
- Naver
- Odnoklassniki
- PayPal
- Steam
- Twitch.tv
- VK
- Vimeo
- Xbox Live
- Yahoo
- Yandex
- YouTube
ウェブサービス経由での認証を設定するには:
- アプリケーションのインターフェースに、ソーシャルネットワーク経由の認証のボタンを追加します。
- パブリッシャーアカウントでログインプロジェクトにソーシャルコネクションをセットアップします。
- アプリケーション側で認証ロジックを実装します。
エクソーラパブリッシャーアカウントでログインプロジェクトのソーシャルコネクションを設定します
- パブリッシャーアカウントでプロジェクトを開きます。
- サイドメニューで「プレイヤー > ログイン」をクリックします。
- ログインプロジェクトのパネルで「構成」をクリックします。
- 認証ブロックに移動し、ソーシャルログインセクションを選択します。
- ユーザーがアプリケーションへのサインアップやログインに使用できるソーシャルネットワークを接続します:
- ソーシャルネットワークに接続するには、⚙ アイコンをクリックし、接続するを選択します。
- 複数のソーシャルネットワークを一度に接続するには、必要なペインを選択します(枠線が緑色になる)。それで、管理ドロップダウンメニューから、接続するを選択します。
- 利用可能なすべてのソーシャルネットワークを接続するには、すべて選択をクリックします。それで、管理ドロップダウンメニューから、接続するを選択します。
アプリケーション側で統合する
- Loginライブラリから
startSocialAuth
メソッドを呼び出します。 onActivityResult
メソッドで、LoginライブラリからfinishSocialAuth
メソッドを呼び出します。
ネイティブ認証は、ユーザーがモバイルデバイスに設定されたソーシャルネットワークアカウントを介してアプリケーションにログインすることを可能にします。
ユーザーが初めてログインすると、ソーシャルネットワーキングアプリケーションが起動し、ユーザー認証の許可を求めます。その後は、ユーザーが何もしなくても自動的に認証が行われます。
現在、SDKは以下のソーシャルネットワーク経由でのネイティブ認証を実装しています:
ネイティブ認証を構成するには:
- アプリケーションのインターフェースに、ソーシャルネットワーク経由での認証のためのボタンを追加します。
- ソーシャルネットワークの開発者アカウントでアプリケーションの設定を行います:
- Facebook経由での認証の場合:
- 登録して、新しいアプリケーションを作成します。
- Facebook開発者アカウントで、アプリケーションページを設定します。
- Google経由での認証の場合:Google API Consoleでプロジェクトを設定します。
- WeChat経由での認証の場合:
- 登録して、新しいアプリケーションを作成します。
- 審査のためにアプリケーションを提出してください。
- QQ経由での認証の場合:
- 登録して、新しいアプリケーションを作成します。
- 審査のためにアプリケーションを提出してください。
- Facebook経由での認証の場合:
- エクソーラ側でソーシャルネットワーク経由での認証を設定します:
- FacebookとGoogleの場合は、パブリッシャーアカウントでソーシャルコネクションを設定します。
- WeChatとQQの場合は、カスタマーサクセスマネージャーまでお問い合わせるか、csm@xsolla.comに電子メールを送信してください。
- ソーシャルネットワーク経由での認証用ライブラリをインストールします。これを行うには、アプリケーションの
build.gradle
ファイルを開き、依存関係セクションに次の行を追加します。ここで、<version_number>
はライブラリの必要なバージョンです:- Facebook経由での認証の場合:
- groovy
1implementation 'com.xsolla.android:login-facebook:<version_number>'
- Google経由での認証の場合:
- groovy
1implementation 'com.xsolla.android:login-google:<version_number>'
- WeChat経由での認証の場合:
- groovy
1implementation 'com.xsolla.android:login-wechat:<version_number>'
- QQ経由での認証の場合:
- groovy
1implementation 'com.xsolla.android:login-qq:<version_number>'
- Loginライブラリを以下のパラメータで初期化します:
facebook_id
— Facebook開発者アカウントのアプリIDgoogle_id
— Google API ConsoleからウェブアプリケーションのクライアントIDwechat_id
— WeChat開発者アカウントのアプリIDqq_id
— QQ開発者アカウントのアプリID
OAuth 2.0での認証時にライブラリを初期化する例:
- kotlin
1val loginConfig = LoginConfig.OauthBuilder()
2 .setProjectId("login-project-id")
3 .setOauthClientId("oauth2-client-id")
4 .setSocialConfig(XLogin.SocialConfig(
5 facebookAppId = "facebook_id",
6 googleServerId = "google_id",
7 wechatAppId = "wechat_id",
8 qqAppId = "qq_id"
9 ))
10
11 .build()
12
13XLogin.init(applicationContext, loginConfig)
- WeChat経由での認証の場合、アプリケーションコードを変更します:
WXEntryActivity
クラスを<your_package_name>.wxapi
パッケージに追加します。<your_package_name>
はアプリケーションのパッケージ名:
- kotlin
1package <your_package_name>.wxapi
2
3import android.app.Activity
4import android.os.Bundle
5import com.tencent.mm.opensdk.modelbase.BaseReq
6import com.tencent.mm.opensdk.modelbase.BaseResp
7import com.tencent.mm.opensdk.openapi.IWXAPI
8import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler
9import com.tencent.mm.opensdk.openapi.WXAPIFactory
10import com.xsolla.android.login.util.WechatUtils
11
12class WXEntryActivity : Activity(), IWXAPIEventHandler {
13
14 private lateinit var iwxapi: IWXAPI
15
16 override fun onCreate(savedInstanceState: Bundle?) {
17 super.onCreate(savedInstanceState)
18
19 iwxapi = WXAPIFactory.createWXAPI(this, WechatUtils.wechatAppId, false)
20 iwxapi.handleIntent(intent, this)
21 finish()
22 }
23
24 override fun onReq(req: BaseReq?) {
25 }
26
27 override fun onResp(resp: BaseResp) {
28 WechatUtils.wechatResult = resp
29 }
30}
AndroidManifest.xml
ファイルに次の要素を追加します:
- kotlin
1<activity
2 android:name="<your_package_name>.wxapi.WXEntryActivity"
3 android:exported="true"
4 android:launchMode="singleTask" />
Facebook開発者アカウントでアプリケーションページをセットアップする
- Facebook開発者アカウントのプロジェクト設定に移動します。
- 設定>基本に移動します。
- 「プラットフォームを追加する」をクリックし、Androidを選択します。
- 、Google Playのパッケージ名フィールドでのAndroidアプリケーションのパッケージ名を指定します。
- クラス名フィールドでのデフォルトのアクティビティの完全修飾クラス名を指定します。
- キーハッシュフィールドでハッシュキーを生成し、指定します。
- 変更を保存するをクリックします。
さらにネイティブ認証の設定を行うには、設定 > 基本セクションのプロジェクト設定にあるアプリIDとアプリシークレットが必要です。
Google API Consoleでプロジェクトをセットアップする
- Google API Consoleに移動します。
- 「新しいプロジェクト」をクリックします。
- プロジェクト名と場所を指定して「保存」をクリックします。
- 作成したプロジェクトに移動してサイドメニューでの「OAuth同意画面」をクリックします。
- 外部オプションを選択して「作成する」をクリックします。
- 必要なパラメータを指定して、「保存」をクリックします。サイドメニューで
- 「認証情報」をクリックします。
- Androidアプリ用のOAuth 2.0クライアントを作成します:
- 「認証情報を作成」をクリックして、OAuthクライアントIDを選択します。
- アプリケーションタイプフィールドでAndroidを指定します。
- 名称を指定します。
- パッケージ名フィールドであなたのAndroidアプリケーションのパッケージ名を指定します。
- SHA-keyを取得します。
- SHA-1証明書のフィンガープリントフィールドで前の手順で生成されたSHAキーを指定します。
- 「作成」をクリックします。
- 「OK」をクリックします。
- ウェブアプリケーション用のOAuth 2.0クライアントを作成します:
- 認証情報を作成するをクリックして、OAuthクライアントIDを選択します。
- アプリケーションタイプフィールドでウェブアプリケーションを指定します。
- 名称を指定します。
- 許可されたリダイレクトURIセクションでURIを追加するをクリックして、
https://login.xsolla.com/api/social/oauth2/callback
URIを指定します。 - 作成するクリックします。
- OKクリックします。
さらにネイティブ認証の設定を行うには、ウェブアプリケーションのクライアントIDの設定にあるクライアントIDとクライアントシークレットが必要です。
エクソーラパブリッシャーアカウントでログインプロジェクトのソーシャルコネクションを設定します
- パブリッシャーアカウントでプロジェクトを開きます。
- サイドメニューで「プレイヤー > ログイン」をクリックします。
- ログインプロジェクトのパネルで「構成」をクリックします。
- 認証ブロックに移動し、ソーシャルログインセクションを選択します。
- ソーシャルネットワークを設定するには、ソーシャルネットワークカードで、タイトルの右にある⚙アイコンをクリックし、接続を選択します。
アプリケーション側で統合する
- Loginライブラリから
startSocialAuth
メソッドを呼び出します。 onActivityResult
メソッドで、LoginライブラリからfinishSocialAuth
メソッドを呼び出します。
お役立ちリンク
最終更新日: 2025年8月29日誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。