1.2.11 • Published 4 years ago

cordova-line-login-plugin v1.2.11

Weekly downloads
68
License
-
Repository
github
Last release
4 years ago

cordova-line-login-plugin

LineSDKを使用してLINEログインを簡単に実装するためのcordovaプラグイン。  

機能はログイン、ログアウト、アクセストークンの取得・検証・リフレッシュを行う。使用している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を選択。

ios

  1. 「LINE DEVELOPERS」より「iOS Bundle ID」「iOS Scheme」を設定。
  2. swift5を使用する場合、config.xmlにバージョン指定(デフォルトはswift4)
  3. 当プラグインをインストール。
  4. プログラムの実装
例)swift5を使用する場合
config.xml  
<platform name="ios">
  <preference name="UseSwiftLanguageVersion" value="5" />
</platform>

android

  1. 「LINE DEVELOPERS」より「Android Package Name」「Android Package Signature」「Android Scheme」を設定。
  2. 当プラグインをインストール。
  3. プログラムの実装
例)  
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://

Requirement

https://github.com/akofman/cordova-plugin-add-swift-support

Installation

cordova plugin add cordova-line-login-plugin

Supported Platforms

  • iOS (>=10.0)
  • Android

LINE SDK

このプラグインはLINEが提供するSDKを使用しています。これらの詳細はドキュメントを確認下さい。iOS or Android

Usage

Example

ionicでの使用例

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
        });
    }

  });

Error Code

errorコールバックでは以下の形式のエラーを返します

{
  code: -1: パラメータが不正です, -2:SDKがエラーを返しました, -3: 不明なエラー
  sdkErrorCode: SDKの返すエラーコード
  description: エラーメッセージ
}

capacitorで使うには

install

$ npm install cordova-line-login-plugin

iOS configuration

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:

+ <key>CFBundleURLTypes</key>
+ <array>
+     <dict>
+         <key>CFBundleTypeRole</key>
+         <string>Editor</string>
+         <key>CFBundleURLSchemes</key>
+         <array>
+             <string>line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+         </array>
+     </dict>
+ </array>
+ <key>LSApplicationQueriesSchemes</key>
+ <array>
+     <string>lineauth2</string>
+ </array>
1.2.11

4 years ago

1.2.10

4 years ago

1.2.9

4 years ago

1.2.8

4 years ago

1.2.7

4 years ago

1.2.6

4 years ago

1.2.5

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.7.0

5 years ago

0.3.4

6 years ago