LineSDKを使用してLINEログインを簡単に実装するためのcordovaプラグイン。
npm install cordova-line-login-plugin機能はログイン、ログアウト、アクセストークンの取得・検証・リフレッシュを行う。使用しているLineSDKのバージョンは以下のとおり。
iOS:5.5.1
Android:5.3.1
cordova >= 7.1.0
cordova-ios >= 4.5.0
cordova-android >= 8.0.0
組み込みまでの流れは以下の通り
「LINE BUSINESS CENTER」からLINEログインに対応したビジネスアカウントを作成。Application TypeはNATIVE_APPを選択。
```
例)swift5を使用する場合
config.xml
``
例)
Android Package Name : com.example.sample
Android Package Signature : 11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:gg:hh:ii:jj:kk
Android Scheme : com.example.sample://
cordova plugin add cordova-line-login-plugin
`Supported Platforms
- iOS (>=10.0)
- AndroidLINE SDK
このプラグインはLINEが提供するSDKを使用しています。これらの詳細はドキュメントを確認下さい。iOS or
AndroidUsage
$3
ionicでの使用例
`js
angular.module('starter', ['ionic'])
.run(function($ionicPlatform) {
・・・ // initialize
lineLogin.initialize({channel_id: "your_chanel_id"});
})
.controller("LineCtrl", function($scope) {
$scope.onLineLogin = function() {
// login...
lineLogin.login(
function(result) {
console.log(result); // {userID:12345, displayName:'user name', pictureURL:'thumbnail url'}
}, function(error) {
console.log(error);
});
}
$scope.onLineLoginWeb = function() {
// login with web...(iOS only)
lineLogin.loginWeb(
function(result) {
console.log(result); // {userID:12345, displayName:'user name', pictureURL:'thumbnail url'}
}, function(error) {
console.log(error);
});
}
$scope.onLineLogout = function() {
// logout...
lineLogin.logout(
function(result) {
console.log(result);
}, function(error) {
console.log(error);
});
}
$scope.onLineGetAccessToken = function() {
// get access token
lineLogin.getAccessToken(
function(result) {
// success
console.log(result); // {accessToken:'xxxxxxxx', expireTime: 123456789}
}, function(error) {
// failed
});
}
$scope.onLineVerifyAccessToken = function() {
// verify current access token
lineLogin.verifyAccessToken(
function() {
// success
}, function(error) {
// failed
});
}
$scope.onLineRefreshAccessToken = function() {
// refresh access token
lineLogin.verifyAccessToken(
function(accessToken) {
// success
}, function(error) {
// failed
});
}
});
`$3
errorコールバックでは以下の形式のエラーを返します
`
{
code: -1: パラメータが不正です, -2:SDKがエラーを返しました, -3: 不明なエラー
sdkErrorCode: SDKの返すエラーコード
description: エラーメッセージ
}
`capacitorで使うには
$3
`
$ npm install cordova-line-login-plugin
`$3
capcitorでAppDelegateとinfo.plistを上書きまたは値を追加する方法が見つからないため以下の対応をしてください。
iosディレクトリを作り直すたびに対応が必要となるためご注意ください。
In file ios/App/App/AppDelegate.swift add or replace the following:
`
+ import LineSDK
[...]
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
- return CAPBridge.handleOpenUrl(url, options)
+ if CAPBridge.handleOpenUrl(url, options) {
+ return LoginManager.shared.application(app, open: url)
+ } else {
+ return false
+ }
}
`Add the following in the ios/App/App/info.plist file:
`
+ CFBundleURLTypes
+
+
+ CFBundleTypeRole
+ Editor
+ CFBundleURLSchemes
+
+ line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER)
+
+
+
+ LSApplicationQueriesSchemes
+
+ lineauth2
+
``