はじめに
FlutterでLINE連携を行うにあたって、SDKが準備されている。
ReadMeとソースコードは↓(実装例もあり)
flutter_line_sdk - GitHub
pub.devによる配布は↓
flutter_line_sdk - pub.dev
GitHubを見れば実装可能であるが、英語であるため、日本語のメモを記載をする。
前提条件
- flutter_line_sdkのバージョンは2.0以上
- iOSは10.0以上が対象
- AndroidのminSdkVersionは21以上
- プロジェクトフォルダの android/app/buid.gradleを下記のように設定
defaultConfig {
applicationId "[アプリケーションId(設定済み)]"
// minSdkVersion flutter.minSdkVersion ←インストール時
minSdkVersion 21
- Androidのバージョンは5.0以上が対象
- Line Developersに登録され、プロバイダーを作成済み
Lineログインを使用する場合
- Line Developersのプロバイダーにチャネルを作成し、「ネイティブアプリでLINEログインを使用する」にチェックをいれる
- iOS bundle IDを設定する
- ios/Runner.xcodeproj/project.pbxprojにある「PRODUCT_BUNDLE_IDENTIFIER」
- Androidのパッケージ名を設定する
- android/app/build.gradleにある「applicationId」
インストール
他のパッケージ同様、pubspec.yamlに記載
セットアップ
iOS
ios/Runner/Info.plistを開く
ファイル内の最後のタグの直前に下記コードを貼り付ける
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<!-- Specify URL scheme to use when returning from LINE to your app. -->
<string>line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER)</string>
</array>
</dict>
</array>
<key>LSApplicationQueriesSchemes</key>
<array>
<!-- Specify URL scheme to use when launching LINE from your app. -->
<string>lineauth2</string>
</array>
コーディング
- main.dartのrunAppを下記のようにLineSDKのセットアップを行う
// インストール時
// void main() => runApp(MyApp());
void main() {
WidgetsFlutterBinding.ensureInitialized();
LineSDK.instance.setup("${your_channel_id}").then((_) {
print("LineSDK Prepared");
});
runApp(App());
}
your_channel_idには、Developerサイトのチャネルの基本設定、チャネルIDを入れる。