# SDKで友だち追加オプションを利用する
ユーザーがアプリにログインするときに、LINE公式アカウントを友だち追加するオプションを表示するように設定できます。これを、友だち追加オプションと呼びます。友だち追加するLINE公式アカウントは、開発者が指定できます。
設定を始める前に、『LINEログインドキュメント』の「LINEログインしたときにLINE公式アカウントを友だち追加する(友だち追加オプション)」を参照して友だち追加オプションを理解する必要があります。特に、以下の事項を確認してください。
- LINE DevelopersコンソールでLINE公式アカウントをチャネルにリンクする方法
- LINEプラットフォームに送信するボットプロンプトパラメータとその動作
- LINEプラットフォームから返される友だち関係フラグとその意味
ここでは、友だち追加オプションに関係する以下の機能を、LINE SDKで有効にする方法について説明します。
# ボットプロンプトパラメータをログインリクエストに設定する
以下のサンプルコードは、ログインリクエストにボットプロンプトパラメータとして.botPromptNormal
または.botPromptAggressive
を設定する方法を示します。
// Includes an option to add a LINE Official Account as a friend in the consent screen.
var parameters = LoginManager.Parameters()
parameters.botPromptStyle = .normal
LoginManager.shared.login(permissions: [.profile], parameters: parameters) {
// ...
}
// Opens a new screen to add the LINE Official Account as a friend after the user agrees to the permissions in the consent screen.
parameters.botPromptStyle = .aggressive
LoginManager.shared.login(permissions: [.profile], parameters: parameters) {
// ...
}
パラメータ値について詳しくは、『LINE SDK for iOS Swiftリファレンス(英語)』の「LoginManager.Parameters」と「LoginManager.BotPrompt」を参照してください。
# ユーザーとLINE公式アカウントの間の友だち関係を確認する
ユーザーとLINE公式アカウントの間の友だち関係は、以下の方法で確認できます。
- ログインレスポンスの
friendshipStatusChanged
プロパティを確認する:この方法では、ログイン中に友だち関係が変化したかどうかを確認します。 - LINEログインAPIを使って友だち関係を取得する:この方法では、ユーザーとLINE公式アカウントの間の友だち関係を取得します。
# ログインレスポンスのfriendshipStatusChanged
プロパティを確認する
ログインに成功すると、LoginResult
オブジェクトのfriendshipStatusChanged
プロパティには友だち関係が変化したかどうかを示すブール値が含まれます。
友だち関係フラグを取得するには、以下の条件を満たす必要があります。
- ログインリクエストにボットプロンプトオプションを指定する。
- LINE公式アカウントを友だち追加するオプションを伴う同意画面がユーザーに表示される。
以下のサンプルコードは、friendshipStatusChanged
プロパティを取得する方法を示しています。
var parameters = LoginManager.Parameters()
parameters.botPromptStyle = .normal
LoginManager.shared.login(permissions: [.profile], parameters: parameters) {
result in
switch result {
case .success(let value):
print(value.friendshipStatusChanged)
case .failure(let error):
print(error)
}
}
friendshipStatusChanged
プロパティについて詳しくは、『LINE SDK for iOS Swiftリファレンス(英語)』の「friendshipStatusChanged」を参照してください。
# LINEログインAPIを使って友だち関係を取得する
ユーザーがアプリにログインしてアクセストークンが返された後で、getBotFriendshipStatus
メソッドを呼び出します。
API.getBotFriendshipStatus { result in
switch result {
case .success(let value): print(value.friendFlag)
case .failure(let error): print(error)
}
}
戻り値について詳しくは、『LINE SDK for iOS Swiftリファレンス(英語)』の「getBotFriendshipStatus」を参照してください。