Android用SDK / ソーシャルログイン
  ドキュメントに戻る

Android用SDK

ソーシャルログイン

アプリケーションでは、ソーシャルネットワークのアカウントを使用したユーザー認証を実装することができます。ユーザーの最初のログインがソーシャルネットワーク経由の場合、新しいアカウントが自動的に作成されます。ユーザーは、ユーザー名やメールアドレスなどのデータを入力する必要がありません。

ソーシャルネットワークを利用した認証の実装には、2つの方法があります:

  • Webベース認証。この場合、アプリケーションはブラウザでフォームを開き、選択したソーシャルネットワークを介して認証を完了させます。このオプションは、モバイルとデスクトップの両方のアプリケーションに適しています。
  • ネイティブ認証。この場合、認証はユーザーのデバイス上のソーシャルネットワークアプリケーションを介して実行されます。このオプションは、モバイルアプリケーションにのみ適しています。

ソーシャルログインは、アプリケーションの主要な認証方法として、または代替の認証方法として使用することができます。

代替の認証方法としてソーシャルログインを使用する場合、以下の条件を満たすと、ソーシャルネットワークのアカウントは自動的に既存のユーザーアカウントに紐付けられます:

  • ユーザー名/メールアドレスとパスワードでサインアップしたユーザーが、ソーシャルネットワークアカウントを介してアプリケーションにログインしました。
  • ソーシャルネットワークでは、メールアドレスを返します。
  • ソーシャルネットワーク上のユーザーのメールアドレスと、アプリケーションでサインアップに使用したメールアドレスが一致します。

ソーシャルネットワークアカウントの手動リンクを実装することもできます。

ハウツー

高度な設定については、ハウツーをご覧ください。

ソーシャルネットワーク経由でWebベース認証を設定する方法

SDKは、ソーシャルログインのために以下のプロバイダーをサポートしています:

  • Amazon
  • Apple
  • Baidu
  • Battle.net
  • Discord
  • Facebook
  • GitHub
  • Google
  • Kakao
  • LinkedIn
  • MSN
  • Mail.ru
  • Microsoft
  • Naver
  • Odnoklassniki
  • PayPal
  • QQ
  • Reddit
  • Steam
  • Twitch.tv
  • Twitter
  • VK
  • Vimeo
  • WeChat
  • Weibo
  • Xbox Live
  • Yahoo
  • Yandex
  • YouTube

ウェブサービスによる認証を設定するには:

  1. アプリケーションのインターフェースに、ソーシャルネットワーク経由の認証のボタンを追加します。
  2. アドミンページでログインプロジェクトにソーシャルコネクションをセットアップします
  3. アプリケーション側で認証ロジックを実装します

エクソーラアドミンページでログインプロジェクトのソーシャルコネクションを設定します

注意
アドミンページで、アプリケーションで使用するログインプロジェクトにクラシック ログインソーシャルログインのオプションが選択されていることを確認します。ログイン方法を変更するリンクをクリックすると、後でログイン方法を変更することができます。以前に保存した設定は失われません。
  1. アドミンページでプロジェクトを開きます。
  2. サイドメニューで「ログイン」をクリックします。
  3. ログインプロジェクトのパネルで「構成する」をクリックします。
  4. 認証」ブロックに移動し、「ソーシャルログイン」セクションを選択します。

  1. ユーザーがアプリケーションへのサインアップやログインに使用できるソーシャルネットワークを接続します:

    • ソーシャルネットワークに接続するには、⚙ アイコンをクリックし、接続するを選択します。
    • 複数のソーシャルネットワークを一度に接続するには、必要なペインを選択します(枠線が緑色になる)。それで、管理ドロップダウンメニューから、接続するを選択します。
    • 利用可能なすべてのソーシャルネットワークを接続するには、すべて選択をクリックします。それで、管理ドロップダウンメニューから、接続するを選択します。
お知らせ
エクソーラのアプリケーションIDとシークレットキーは、デフォルトで認証に使用されます。ソーシャルプロバイダの開発者アカウントを使用してアプリケーションを設定する場合は、独自のアプリケーションIDと秘密鍵を指定することができます。アプリケーションIDと秘密鍵の詳しい探し方は、アドミンページのソーシャルネットワークカードの設定に記載されています。

アプリケーション側で統合する

ソーシャルログインボタンをクリックした際に、以下のロジックを実装します:
  1. LoginライブラリからstartSocialAuthメソッドを呼び出します。
  2. onActivityResultメソッドで、LoginライブラリからfinishSocialAuthメソッドを呼び出します。
SDK参照ドキュメンテーション
SDKメソッドとそのパラメータの詳細については、こちらをご覧ください。
この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
非表示

ソーシャルネットワーク経由でネイティブ認証を設定する方法

注意
Loginライブラリを使用する場合は、このハウツーを参考してください。

ネイティブ認証は、ユーザーがモバイルデバイスに設定されたソーシャルネットワークアカウントを介してアプリケーションにログインすることを可能にします。

ユーザーが初めてログインすると、ソーシャルネットワーキングアプリケーションが起動し、ユーザー認証の許可を求めます。その後は、ユーザーが何もしなくても自動的に認証が行われます。

現在、SDKは以下のソーシャルネットワーク経由のネイティブ認証を実装しています:

  • Google
  • Facebook
  • WeChat
  • QQ

ネイティブ認証を設定するには:

  1. アプリケーションのインターフェースに、ソーシャルネットワークを介した認証のためのボタンを追加します。
  2. ソーシャルネットワークの開発者アカウントでアプリケーションの設定を行います:
    1. Facebookによる認証の場合:
      1. 登録して、新しいアプリケーションを作成します。
      2. Facebook開発者アカウントで、アプリケーションページを設定します。
    2. Googleによる認証の場合:Google API Consoleでプロジェクトを設定します。
    3. WeChatによる認証の場合:
      1. 登録して、新しいアプリケーションを作成します。
      2. 審査のためにアプリケーションを提出してください。
    4. QQによる認証の場合:
      1. 登録して、新しいアプリケーションを作成します。
      2. 審査のためにアプリケーションを提出してください。

  1. エクソーラ側でソーシャルネットワークによる認証を設定します:
    1. FacebookとGoogleの場合は、アドミンページでソーシャルコネクションを設定します。
    2. WeChatとQQの場合は、カスタマーサクセスマネージャーまでお問い合わせるか、csm@xsolla.comに電子メールを送信してください。

  1. ソーシャルネットワークによる認証用ライブラリをインストールします。これを行うには、アプリケーションのbuild.gradleファイルを開き、依存関係セクションに次の行を追加します。ここで、<version_number>はライブラリの必要なバージョンです:
    • Facebookによる認証の場合:
Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-facebook:<version_number>'
    • Googleによる認証の場合:
Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-google:<version_number>'
    • WeChatによる認証の場合:
Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-wechat:<version_number>'
    • Googleによる認証の場合:
Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-qq:<version_number>'

  1. Loginライブラリを以下のパラメータで初期化します:
    • facebook_id — Facebook開発者アカウントのアプリID
    • google_id — Google API ConsoleからウェブアプリケーションのクライアントID
    • wechat_id — WeChat開発者アカウントのアプリID
    • qq_id — QQ開発者アカウントのアプリID

OAuth 2.0での認証時にライブラリを初期化する例:

Copy
Full screen
Small screen
val loginConfig = LoginConfig.OauthBuilder()
                .setProjectId("login-project-id")
                .setOauthClientId("oauth2-client-id")
                .setSocialConfig(XLogin.SocialConfig(
                     facebookAppId = "facebook_id",
                     googleServerId = "google_id",
                     wechatAppId = "wechat_id",
                     qqAppId = "qq_id"
                ))

                .build()

XLogin.init(applicationContext, loginConfig)
  1. WeChatによる認証の場合、アプリケーションコードを変更します:
    • WXEntryActivityクラスを<your_package_name>.wxapiパッケージに追加します。<your_package_name>はアプリケーションのパッケージ名:
Copy
Full screen
Small screen
package <your_package_name>.wxapi

import android.app.Activity
import android.os.Bundle
import com.tencent.mm.opensdk.modelbase.BaseReq
import com.tencent.mm.opensdk.modelbase.BaseResp
import com.tencent.mm.opensdk.openapi.IWXAPI
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler
import com.tencent.mm.opensdk.openapi.WXAPIFactory
import com.xsolla.android.login.util.WechatUtils

class WXEntryActivity : Activity(), IWXAPIEventHandler {

    private lateinit var iwxapi: IWXAPI

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        iwxapi = WXAPIFactory.createWXAPI(this, WechatUtils.wechatAppId, false)
        iwxapi.handleIntent(intent, this)
        finish()
    }

    override fun onReq(req: BaseReq?) {
    }

    override fun onResp(resp: BaseResp) {
        WechatUtils.wechatResult = resp
    }
}
    • AndroidManifest.xmlファイルに次の要素を追加します:
Copy
Full screen
Small screen
<activity
        android:name="<your_package_name>.wxapi.WXEntryActivity"
        android:exported="true"
        android:launchMode="singleTask" />

Facebook開発者アカウントでアプリケーションページをセットアップする

  1. Facebook開発者アカウントのプロジェクト設定に移動します。
  2. 設定>基本に移動します。
  3. プラットフォームを追加するをクリックし、Androidを選択します。
  4. Google Playのパッケージ名フィールドでのAndroidアプリケーションのパッケージ名を指定します。
  5. クラス名フィールドでのデフォルトのアクティビティの完全修飾クラス名を指定します。
  6. キーハッシュフィールドでハッシュキーを生成し、指定します。
  7. 変更を保存するをクリックします。

さらにネイティブ認証の設定を行うには、設定 > 基本セクションのプロジェクト設定にあるアプリIDアプリシークレットが必要です。

Google API Consoleでプロジェクトをセットアップする

  1. Google API Consoleに移動します。
  2. 新しいプロジェクトをクリックします。
  3. プロジェクト名場所を指定して保存するをクリックします。
  4. 作成したプロジェクトに移動してサイドメニューでのOAuth同意画面をクリックします。
  5. 外部オプションを選択して作成するをクリックします。
  6. 必要なパラメータを指定して、保存をクリックします。サイドメニューで
  7. 資格情報をクリックします。
  8. Androidアプリ用のOAuth 2.0クライアントを作成します:

    1. 資格情報を作成するをクリックして、OAuthクライアントIDを選択します。
    2. アプリケーションタイプフィールドでAndroidを指定します。
    3. 名称を指定します。
    4. パッケージ名フィールドであなたのAndroidアプリケーションのパッケージ名を指定します。
    5. SHA-keyを取得します。
    6. SHA-1証明書のフィンガープリントフィールドで前の手順で生成されたSHAキーを指定します。
    7. 作成するをクリックします。
    8. OKをクリックします。

  1. Webアプリケーション用のOAuth 2.0クライアントを作成します:
    1. 資格情報を作成するをクリックして、OAuthクライアントIDを選択します。
    2. アプリケーションタイプフィールドでウェブアプリケーションを指定します。
    3. 名称を指定します。
    4. 許可されたリダイレクトURIセクションでURIを追加するをクリックして、https://login.xsolla.com/api/social/oauth2/callback URIを指定します。
    5. 作成するクリックします。
    6. OKクリックします。

さらにネイティブ認証の設定を行うには、ウェブアプリケーションのクライアントIDの設定にあるクライアントIDクライアントシークレットが必要です。

エクソーラアドミンページでログインプロジェクトのソーシャルコネクションを設定します

注意
アドミンページで、アプリケーションで使用するログインプロジェクトにクラシック ログインソーシャルログインのオプションが選択されていることを確認します。ログイン方法を変更するリンクをクリックすると、後でログイン方法を変更することができます。以前に保存した設定は失われません。
  1. アドミンページでプロジェクトを開きます。
  2. サイドメニューで「ログイン」をクリックします。
  3. ログインプロジェクトのパネルで「構成する」をクリックします。
  4. 認証」ブロックに移動し、「ソーシャルログイン」セクションを選択します。
  1. ソーシャルネットワークを設定するには、ソーシャルネットワークカードで、タイトルの右にある⚙アイコンをクリックし、接続を選択します。
お知らせ
ソーシャルネットワーク認証を使用するには、ソーシャルネットワークカードの設定で、プロジェクト内のアプリケーションのアプリケーションIDと秘密鍵を指定してください。アプリケーションIDと秘密鍵は、ソーシャルプロバイダーの開発者アカウントから入手できます。アプリケーションIDと秘密鍵の詳しい見つけ方は、アドミンページのソーシャルネットワークカード設定に記載されています。

アプリケーション側で統合する

ソーシャルログインボタンをクリックした際に、以下のロジックを実装します:
  1. LoginライブラリからstartSocialAuthメソッドを呼び出します。
  2. onActivityResultメソッドで、LoginライブラリからfinishSocialAuthメソッドを呼び出します。
SDK参照ドキュメンテーション
SDKメソッドとそのパラメータの詳細については、こちらをご覧ください。
この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
非表示

お役立ちリンク

最終更新日: 2024年7月31日

誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

問題を報告する
当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
フォローアップ用のメールをご提供してください
ご意見ありがとうございました!