# SDKで友だち追加オプションを利用する
ユーザーがアプリにログインするときに、LINE公式アカウントを友だち追加するオプションを表示するように設定できます。これを、友だち追加オプションと呼びます。友だち追加するLINE公式アカウントは、開発者が指定できます。
設定を始める前に、『LINEログインドキュメント』の「LINEログインしたときにLINE公式アカウントを友だち追加する(友だち追加オプション)」を参照して友だち追加オプションを理解する必要があります。特に、以下の事項を確認してください。
- LINE DevelopersコンソールでLINE公式アカウントをチャネルにリンクする方法
- LINEプラットフォームに送信するボットプロンプトパラメータとその動作
- LINEプラットフォームから返される友だち関係フラグとその意味
ここでは、友だち追加オプションに関係する以下の機能を、LINE SDKで有効にする方法について説明します。
# ボットプロンプトパラメータをログインリクエストに設定する
以下のサンプルコードは、LoginButton
ウィジェットを使用する場合にbotPrompt
パラメータを設定する方法を示しています。
...
LoginButton loginButton = rootView.findViewById(R.id.line_login_btn);
loginButton.setAuthenticationParams(new LineAuthenticationParams.Builder()
.scopes(Arrays.asList(Scope.PROFILE))
.botPrompt(BotPrompt.normal) // configure it here
.build()
);
...
以下のサンプルコードは、LoginApi.getLoginIntent()
メソッドを使用する場合にbotPrompt
パラメータを設定する方法を示しています。
Intent loginIntent = LineLoginApi.getLoginIntent(
view.getContext(),
Constants.CHANNEL_ID,
new LineAuthenticationParams.Builder()
.scopes(Arrays.asList(Scope.PROFILE))
.botPrompt(BotPrompt.normal) // configure it here
.build());
startActivityForResult(loginIntent, REQUEST_CODE);
パラメータ値について詳しくは、『LINE SDK for Androidリファレンス(英語)』の「LineAuthenticationParams.BotPrompt」を参照してください。
# ユーザーとLINE公式アカウントの間の友だち関係を確認する
ユーザーとLINE公式アカウントの間の友だち関係は、以下の方法で確認できます。
- ログインレスポンスの
LineLoginResult
オブジェクトを確認する:この方法では、ログイン中に友だち関係が変化したかどうかを確認します。 - LINEログインAPIを使って友だち関係を取得する:この方法では、ユーザーとLINE公式アカウントの間の友だち関係を取得します。
# ログインレスポンスのLineLoginResult
オブジェクトを確認する
ログインに成功すると、LineLoginResult
オブジェクトには友だち関係が変化したかどうかを示すブール値が含まれます。この値はgetFriendshipStatusChanged()
メソッドで取得できます。
友だち関係フラグを取得するには、以下の条件を満たす必要があります。
- ログインリクエストの
LineAuthenticationParams
オブジェクトにbotPrompt
パラメータを指定する。 - LINE公式アカウントを友だち追加するオプションを伴う同意画面がユーザーに表示される。
以下のサンプルコードは、LineLoginResult
オブジェクトから友だち関係を取得する方法を示しています。
public void onActivityResult(int requestCode, int resultCode, Intent data) {
...
LineLoginResult result = LineLoginApi.getLoginResultFromIntent(data);
boolean friendshipStatusChanged = result.getFriendshipStatusChanged();
...
}
戻り値について詳しくは、『LINE SDK for Androidリファレンス(英語)』の「getFriendshipStatusChanged()」を参照してください。
# LINEログインAPIを使って友だち関係を取得する
ユーザーがアプリにログインしてアクセストークンが返された後で、LineApiClient.getFriendshipStatus()
メソッドを呼び出します。
boolean isFriendToTheBot = lineApiClient.getFriendshipStatus();
戻り値について詳しくは、『LINE SDK for Androidリファレンス(英語)』の「getFriendshipStatus()」を参照してください。