# SDKでボットリンク機能を利用する

ユーザーがアプリにログインするときに、LINE公式アカウントを友だち追加するオプションを表示するように設定できます。これを、ボットリンク機能と呼びます。友だち追加するLINE公式アカウントは、開発者が指定できます。

設定を始める前に、『LINEログインドキュメント』の「LINEログインしたときにLINE公式アカウントを友だち追加する(ボットリンク)」を参照してボットリンク機能を理解する必要があります。特に、以下の事項を確認してください。

  • LINE DevelopersコンソールでLINE公式アカウントをチャネルにリンクする方法
  • LINEプラットフォームに送信するボットプロンプトパラメータとその動作
  • LINEプラットフォームから返される友だち関係フラグとその意味

ここでは、以下のボットリンク機能をLINE SDKで有効にする方法について説明します。

# ボットプロンプトパラメータをログインリクエストに設定する

以下のサンプルコードは、ログインリクエストでLineSDKLoginオブジェクトのbotPromptプロパティを設定する方法を示します。

// Includes an option to add a LINE Official Account as a friend on the consent screen.
[LineSDKLogin sharedInstance].botPrompt = LineSDKBotPromptNormal;

// Opens a new screen to add the LINE Official Account as a friend after the user agrees to the permissions on the consent screen.
[LineSDKLogin sharedInstance].botPrompt = LineSDKBotPromptAggressive;

パラメータ値について詳しくは、『LINE SDK for iOS Objective-Cリファレンス』の「LineSDKBotPrompt」を参照してください。

# ユーザーとLINE公式アカウントの間の友だち関係を確認する

ユーザーとLINE公式アカウントの間の友だち関係は、以下の方法で確認できます。

# ログインレスポンスのfriendshipStatusChangedプロパティを確認する

ログインに成功すると、LineSDKCredentialオブジェクトのfriendshipStatusChangedプロパティには友だち関係が変化したかどうかを示すブール値が含まれます。

友だち関係フラグを取得するには、以下の条件を満たす必要があります。

  • ログインリクエストにボットプロンプトオプションを指定する。
  • LINE公式アカウントを友だち追加するオプションを伴う同意画面がユーザーに表示される。

以下のサンプルコードは、friendshipStatusChangedプロパティを取得する方法を示しています。

// In the didLogin delegate method
- (void)didLogin:(LineSDKLogin *)login
      credential:(LineSDKCredential *)credential
         profile:(LineSDKProfile *)profile
           error:(NSError *)error
{
    BOOL statusChanged = [credential.friendshipStatusChanged boolValue];
}

friendshipStatusChangedプロパティについて詳しくは、『LINE SDK for iOS Objective-Cリファレンス』の「friendshipStatusChanged」を参照してください。

# LINEログインAPIを使って友だち関係を取得する

ユーザーがアプリにログインしてアクセストークンが返された後で、getBotFriendshipStatusWithCompletionメソッドを呼び出します。

[self.apiClient getBotFriendshipStatusWithCompletion:^(LineSDKBotFriendshipStatusResult * _Nullable result, NSError * _Nullable error) {
    BOOL flag = result.friendFlag;
}];

戻り値について詳しくは、『LINE SDK for iOS Objective-Cリファレンス』の「-getBotFriendshipStatusWithCompletion:」を参照してください。