Code Monkey home page Code Monkey logo

line-sdk-unity's Introduction

LINE SDK for Unity

Overview

This repo contains the LINE SDK for Unity. It allows you to use LINE Login and LINE API in your Unity games easier.

Features

The LINE SDK for Unity provides the following features.

User authentication

This feature allows users to log in to your service with their LINE accounts. With the help of the LINE SDK for Unity, it has never been easier to integrate LINE Login into your app. Your users will automatically log in to your app without entering their LINE credentials if they are already logged in to LINE on their iOS/Android devices. This offers a great way for users to get started with your app without having to go through a registration process.

Utilizing user data with OpenID support

Once the user authorizes, you can get the user’s LINE profile. You can utilize the user's information registered in LINE without building your user system.

The LINE SDK supports the OpenID Connect 1.0 specification. You can get ID tokens that contain the user’s LINE profile when you retrieve the access token.

Using the SDK

Prerequisites

  • iOS 13.0 or later as the deployment target.
  • Android minSdkVersion set to 24 or higher (Android 7.0 or later).
  • Unity 2020.3.15 or later.

To use the LINE SDK with your game, follow the steps below.

  • Create a channel.
  • Integrate LINE Login into your Unity project.
  • Make API calls from your game using the SDK or from the server-side.

For more information, refer to the LINE SDK for Unity guide on the LINE Developers site.

Trying the starter app

To have a quick look at the features of the LINE SDK, try our starter app by following the steps below:

  1. Clone the repository.

    git clone https://github.com/line/line-sdk-unity.git

  2. Open the Unity project under "LINE_SDK_Unity" folder.

  3. Export the scene to either iOS or Android, and deploy it to your device and run.

On iOS, you need CocoaPods installed to integrate the SDK to the exported project. For more information, see the "Setting up project" guide.

Contributing

If you believe you have discovered a vulnerability or have an issue related to security, please DO NOT open a public issue. Instead, send us an email to [email protected].

For contributing to this project, please see CONTRIBUTING.md.

line-sdk-unity's People

Contributors

aaron-chu avatar dependabot[bot] avatar jerrymig avatar onevcat avatar plateaukao avatar syleeeee avatar tsairene avatar wouter-veeken avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

line-sdk-unity's Issues

Request to Change the Timing of SetupSDK() Call in LineSDK.

Is it a security issue?

No, this is not a security issue.

What did you do?

I am implementing a feature to change the channelID based on the env from an external class.

What did you expect?

I expected to be able to change the channelID after LineSDK.Awake() is called.

What happened actually?

Currently, SetupSDK() is called immediately after LineSDK.Awake(), which prevents me from implementing the feature as intended. When I try to implement it like LineSDK.Instance.channelID = _lineChannelId; from an external class, I get the following error: Exception: LINE SDK channel ID is not set.

Your environment?

I am using the latest versions of all packages, including the LINE SDK.

Sample project

Suggestion

Could you consider changing the calling of SetupSDK() from LineSDK.Awake() to LineSDK.Start()?
This change would allow for the channelID to be changed after LineSDK.Awake() is called, and prevent the error Exception: LINE SDK channel ID is not set. from occurring.


        void Awake() {
            if (instance == null) {
                instance = this;
            } else if (instance != this) {
                Destroy(gameObject);
            }
            DontDestroyOnLoad(gameObject);
        }

        void Start()
        {
            SetupSDK();
        }
LineSDK.Instance.channelID = _lineChannelId;

void Awake() {
if (instance == null) {
instance = this;
} else if (instance != this) {
Destroy(gameObject);
}
DontDestroyOnLoad(gameObject);
SetupSDK();
}

LineSDK.Instance.CurrentAccessToken throws an exception on Android.

Is it a security issue?

No

What did you do?

Access LineSDK.Instance.CurrentAccessToken on Android. Works well on iOS.

What did you expect?

Get acccess token or null.

What happened actually?

"UnityEngine.AndroidJavaException: java.util.NoSuchElementException: response data is null. Please check result by isSuccess before."

Your environment?

Unity 2021.3.14f1, LINE SDK 1.2.0, Android.

Sample project

N/A.

error CS0619: 'PBXProject.GetUnityTargetName()' is obsolete

Is it a security issue?

No

What did you do?

I am not an actual reporter, just escalate this issue.
https://www.line-community.me/question/5eb4e142851f7402cd9712aa

PBXProject.GetUnityTargetName() seems to be already removed,
https://docs.unity3d.com/ScriptReference/iOS.Xcode.PBXProject.GetUnityTargetName.html

but I found 2 usage in this project.
https://github.com/line/line-sdk-unity/search?q=GetUnityTargetName&unscoped_q=GetUnityTargetName

What did you expect?

The obsoleted method call will be removed.

What happened actually?

PBXProject.GetUnityTargetName() is used, and it caused an error.

Your environment?

Ref : https://www.line-community.me/question/5eb4e142851f7402cd9712aa

Sample project

It would be appreciated if you can provide a link to or update a sample project that we can download and reproduce the issue.

Regarding the status of Privacy Manifest compatibility.

We have subscribed to the channel in our app, and in our development, we are using the Line SDK for Unity.
However, we have noticed that the latest version available, 1.3.2, does not seem to have PrivacyManifest support.

It appears that Line SDK for iOS Swift is already compatible, but I would like to know when Line SDK for Unity will be supported (an estimated timeframe would be fine),
if it is possible to provide that information.

Thank you in advance.

[Unity 2019.4.10f1] Get an error when exporting to Xcode.

最初に、バージョンについて説明します | First, I will describe the version

LINE SDK for Unity : 1.1.4
Unity Hub : 2.4.2
Unity Editor : 2019.4.10f1
Xcode : 12.4
Mac OS : Big Sur (11.2)

私が行った操作 | The operation I did

新規でUnityプロジェクトを作成し、LINE SDK for Unityのパッケージをロードし、iOS用にビルドしました。
I created a new Unity project, loaded the LINE SDK for Unity package, and built it for iOS.

私が期待した動作 | The behavior I expected

UnityからビルドしてXcodeプロジェクトが起動するのか普通だと思います。
I think it's normal to build from Unity and launch an Xcode project.

発生した現象 | Phenomenon that occurred

その結果、ビルドはエラーが出て中断されました。
Result, the build was interrupted with an error.

以下はその際のエラーです。
The following is the error at that time.

Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
    �[33mWARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
    Consider adding the following to ~/.profile:

    export LANG=en_US.UTF-8
    �[0m
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2

[!] Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as the default, you may safely remove it from your repos directory via `pod repo remove master`. To suppress this warning please add `warn_for_unused_master_specs_repo => false` to your Podfile.

UnityEngine.Debug:LogError(Object)
Line.LineSDK.Editor.ShellCommand:Run(String, String) (at Assets/LineSDK/Editor/CommandRunner.cs:58)
Line.LineSDK.Editor.CocoaPodsInstalling:OnPostprocessBuild(BuildTarget, String) (at Assets/LineSDK/Editor/CocoaPods/CocoaPodsInstalling.cs:71)
UnityEditor.BuildPlayerWindow:BuildPlayerAndRun() (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindow.cs:136)
Error building Player: Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2
    �[33mWARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
    Consider adding the following to ~/.profile:

    export LANG=en_US.UTF-8
    �[0m
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2

[!] Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as the default, you may safely remove it from your repos directory via `pod repo remove master`. To suppress this warning please add `warn_for_unused_master_specs_repo => false` to your Podfile.
Build completed with a result of 'Failed' in 37 seconds (36876 ms)
UnityEditor.BuildPlayerWindow:BuildPlayerAndRun() (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindow.cs:136)
UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002af] in /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:194 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:95 
UnityEditor.BuildPlayerWindow:BuildPlayerAndRun() (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindow.cs:136)

仮の解決方法?? | Temporary solution??

Unityで書き出し先に指定したフォルダにはXcodeのプロジェクトが書き出されていました。
The Xcode project was exported to the folder specified as the export destination in Unity.

そのパスを指定してpod installを実行することでLINE SDKをCocoaPodsで導入できました。
I was able to install the LINE SDK with CocoaPods by running pod install with that path.

実機で実行できました。
I was able to execute it on the actual machine.

更なる問題 | Further problems

一時的な解決策が分かったので既存のプロジェクトに導入しようとチャレンジしました。
I found a temporary solution, so I tried to introduce it into an existing project.

ただしpod installしてもXcodeのビルドはエラーが出ました。
However, even with pod install, I got an error when building Xcode.

こちらが新規プロジェクトの場合のPodfileです。
Here is the Podfile for a new project.

platform :ios, '10.0'

target 'Unity-iPhone' do
    use_frameworks!
    pod 'LineSDKSwift/ObjC', '~> 5.1'
end

target 'UnityFramework' do
    use_frameworks!
    pod 'LineSDKSwift/ObjC', '~> 5.1'
end

こちらが既存のプロジェクトに追加した場合のPodfileです。
Here is the Podfile when added to an existing project.

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'

target 'UnityFramework' do
  pod 'Firebase/Analytics', '7.0.0'
  pod 'Firebase/Auth', '7.0.0'
  pod 'Firebase/Core', '7.0.0'
  pod 'Firebase/Crashlytics', '7.0.0'
  pod 'Firebase/Database', '7.0.0'
  pod 'Firebase/DynamicLinks', '7.0.0'
  pod 'Firebase/Messaging', '7.0.0'
  pod 'LineSDKSwift/ObjC', '~> 5.1'
end

Xcodeに出力されたエラーはこちらです。
Here is the error output to Xcode.

Undefined symbol: nominal type descriptor for Foundation.Locale
Undefined symbol: (extension in Foundation):Swift.StringProtocol.range<A where A1: Swift.StringProtocol>(of: A1, options: __C.NSStringCompareOptions, range: Swift.Range<Swift.String.Index>?, locale: Foundation.Locale?) -> Swift.Range<Swift.String.Index>?
Undefined symbol: (extension in Foundation):Swift.StringProtocol.rangeOfCharacter(from: Foundation.CharacterSet, options: __C.NSStringCompareOptions, range: Swift.Range<Swift.String.Index>?) -> Swift.Range<Swift.String.Index>?
Undefined symbol: Swift.String.index(_: Swift.String.Index, offsetBy: Swift.Int, limitedBy: Swift.String.Index) -> Swift.String.Index?
Undefined symbol: Swift.String.startIndex.getter : Swift.String.Index
Undefined symbol: protocol witness table for Swift.String.Index : Swift.Comparable in Swift
Undefined symbol: (extension in Swift):Swift.Collection.drop(while: (A.Element) throws -> Swift.Bool) throws -> A.SubSequence
Undefined symbol: protocol conformance descriptor for Foundation.Data : Swift.Collection in Foundation
Undefined symbol: type metadata accessor for Foundation.JSONDecoder.KeyDecodingStrategy
Undefined symbol: enum case for Foundation.JSONDecoder.KeyDecodingStrategy.convertFromSnakeCase(Foundation.JSONDecoder.KeyDecodingStrategy.Type) -> Foundation.JSONDecoder.KeyDecodingStrategy
Undefined symbol: dispatch thunk of Foundation.JSONDecoder.keyDecodingStrategy.setter : Foundation.JSONDecoder.KeyDecodingStrategy
Undefined symbol: Foundation.URLRequest.httpMethod.setter : Swift.String?
Undefined symbol: static Swift.Array.+= infix(inout [A], [A]) -> ()
Undefined symbol: Swift.Dictionary.isEmpty.getter : Swift.Bool
Undefined symbol: static Foundation.CharacterSet.urlQueryAllowed.getter : Foundation.CharacterSet
Undefined symbol: Foundation.CharacterSet.remove(charactersIn: Swift.String) -> ()
Undefined symbol: Foundation.URLComponents.percentEncodedQuery.getter : Swift.String?
Undefined symbol: method descriptor for static Swift.CaseIterable.allCases.getter : A.AllCases
Undefined symbol: associated type descriptor for Swift.CaseIterable.AllCases
Undefined symbol: protocol descriptor for Swift.CaseIterable
Undefined symbol: type metadata accessor for Foundation.URLQueryItem
Undefined symbol: Foundation.URLQueryItem.name.getter : Swift.String
Undefined symbol: _swift_projectBox
Undefined symbol: Foundation.URL.path.getter : Swift.String
Undefined symbol: Foundation.URL.host.getter : Swift.String?
Undefined symbol: nominal type descriptor for Swift.Dictionary.Iterator
Undefined symbol: nominal type descriptor for Swift.Int32
Undefined symbol: Swift.Dictionary.makeIterator() -> [A : B].Iterator
Undefined symbol: Swift.Array.removeAll(keepingCapacity: Swift.Bool) -> ()
Undefined symbol: Foundation.Data.base64EncodedString(options: __C.NSDataBase64EncodingOptions) -> Swift.String
Undefined symbol: Swift.String.init(repeating: Swift.String, count: Swift.Int) -> Swift.String
Undefined symbol: metaclass for Foundation.JSONDecoder
Undefined symbol: Foundation.JSONDecoder.deinit
Undefined symbol: static (extension in Foundation):Swift.String.Encoding.ascii.getter : (extension in Foundation):Swift.String.Encoding
Undefined symbol: associated conformance descriptor for Swift.CaseIterable.Swift.CaseIterable.AllCases: Swift.Collection
Undefined symbol: protocol conformance descriptor for Foundation.Date : Swift.Comparable in Foundation
Undefined symbol: Foundation.Date.init(timeIntervalSince1970: Swift.Double) -> Foundation.Date
Undefined symbol: static (extension in Swift):Swift.Comparable.>= infix(A, A) -> Swift.Bool
Undefined symbol: _swift_getAtKeyPath
Undefined symbol: type metadata accessor for Swift.KeyPath
Undefined symbol: Swift.KeyedDecodingContainer.nestedUnkeyedContainer(forKey: A) throws -> Swift.UnkeyedDecodingContainer
Undefined symbol: Swift.Array.init() -> [A]
Undefined symbol: dispatch thunk of Swift.UnkeyedDecodingContainer.isAtEnd.getter : Swift.Bool
Undefined symbol: nominal type descriptor for Swift.IndexingIterator
Undefined symbol: Swift.IndexingIterator.next() -> A.Element?
Undefined symbol: Swift.Array.startIndex.getter : Swift.Int
Undefined symbol: type metadata accessor for Swift.ArraySlice
Undefined symbol: Foundation.URLRequest.httpBody.setter : Foundation.Data?
Undefined symbol: protocol descriptor for Swift.ExpressibleByUnicodeScalarLiteral
Undefined symbol: type metadata for Swift.String.Index
Undefined symbol: associated conformance descriptor for Swift.ExpressibleByExtendedGraphemeClusterLiteral.Swift.ExpressibleByExtendedGraphemeClusterLiteral.ExtendedGraphemeClusterLiteralType: Swift._ExpressibleByBuiltinExtendedGraphemeClusterLiteral
Undefined symbol: protocol descriptor for Swift.ExpressibleByExtendedGraphemeClusterLiteral
Undefined symbol: associated conformance descriptor for Swift.ExpressibleByStringLiteral.Swift.ExpressibleByStringLiteral.StringLiteralType: Swift._ExpressibleByBuiltinStringLiteral
Undefined symbol: (extension in Swift):Swift.ExpressibleByExtendedGraphemeClusterLiteral< where A.ExtendedGraphemeClusterLiteralType == A.UnicodeScalarLiteralType>.init(unicodeScalarLiteral: A.ExtendedGraphemeClusterLiteralType) -> A
Undefined symbol: protocol witness table for Swift.String : Swift._ExpressibleByBuiltinUnicodeScalarLiteral in Swift
Undefined symbol: (extension in Swift):Swift.ExpressibleByStringLiteral< where A.ExtendedGraphemeClusterLiteralType == A.StringLiteralType>.init(extendedGraphemeClusterLiteral: A.ExtendedGraphemeClusterLiteralType) -> A
Undefined symbol: protocol witness table for Swift.String : Swift._ExpressibleByBuiltinStringLiteral in Swift
Undefined symbol: dispatch thunk of Swift.Encoder.singleValueContainer() -> Swift.SingleValueEncodingContainer
Undefined symbol: dispatch thunk of Swift.SingleValueDecodingContainer.decode(Swift.String.Type) throws -> Swift.String
Undefined symbol: protocol witness table for Swift.String : Swift._ExpressibleByBuiltinExtendedGraphemeClusterLiteral in Swift
Undefined symbol: Swift.KeyedEncodingContainer.encode(_: Swift.Bool, forKey: A) throws -> ()
Undefined symbol: static Foundation.JSONEncoder.OutputFormatting.prettyPrinted.getter : Foundation.JSONEncoder.OutputFormatting
Undefined symbol: protocol witness table for Swift.String : Swift.Decodable in Swift
Undefined symbol: Swift.Bool.init(Swift.String) -> Swift.Bool?
Undefined symbol: Swift.KeyedEncodingContainer.encodeIfPresent(_: Swift.UInt?, forKey: A) throws -> ()
Undefined symbol: Swift.KeyedDecodingContainer.decodeIfPresent(_: Swift.UInt.Type, forKey: A) throws -> Swift.UInt?
Undefined symbol: nominal type descriptor for Swift.PartialRangeUpTo
Undefined symbol: type metadata accessor for Swift.PartialRangeFrom
Undefined symbol: type metadata accessor for Swift.PartialRangeUpTo
Undefined symbol: protocol conformance descriptor for Swift.PartialRangeUpTo<A> : Swift.RangeExpression in Swift
Undefined symbol: (extension in Foundation):Swift.String.init(data: __shared Foundation.Data, encoding: (extension in Foundation):Swift.String.Encoding) -> Swift.String?
Undefined symbol: protocol descriptor for CoreFoundation._CFObject
Undefined symbol: nominal type descriptor for Swift.Unmanaged
Undefined symbol: method descriptor for Swift.ExpressibleByExtendedGraphemeClusterLiteral.init(extendedGraphemeClusterLiteral: A.ExtendedGraphemeClusterLiteralType) -> A
Undefined symbol: (extension in Foundation):Swift.StringProtocol.replacingOccurrences<A, B where A1: Swift.StringProtocol, B1: Swift.StringProtocol>(of: A1, with: B1, options: __C.NSStringCompareOptions, range: Swift.Range<Swift.String.Index>?) -> Swift.String
Undefined symbol: protocol conformance descriptor for Swift.ClosedRange<A> : Swift.RangeExpression in Swift
Undefined symbol: Foundation.Data.subscript.getter : <A where A: Swift.RangeExpression, A.Bound: Swift.FixedWidthInteger>(A) -> Foundation.Data
Undefined symbol: Foundation.Data.init(bytes: Swift.UnsafeRawPointer, count: Swift.Int) -> Foundation.Data
Undefined symbol: protocol witness table for Swift.UInt8 : Swift.CustomStringConvertible in Swift
Undefined symbol: method descriptor for Foundation.CustomNSError.errorUserInfo.getter : [Swift.String : Any]
Undefined symbol: type metadata accessor for Foundation.JSONEncoder.OutputFormatting
Undefined symbol: method descriptor for Foundation.LocalizedError.helpAnchor.getter : Swift.String?
Undefined symbol: method descriptor for Foundation.LocalizedError.recoverySuggestion.getter : Swift.String?
Undefined symbol: (extension in Foundation):Swift.StringProtocol.components<A where A1: Swift.StringProtocol>(separatedBy: A1) -> [Swift.String]
Undefined symbol: method descriptor for Swift.Error._getEmbeddedNSError() -> Swift.AnyObject?
Undefined symbol: (extension in Foundation):Swift.StringProtocol.addingPercentEncoding(withAllowedCharacters: Foundation.CharacterSet) -> Swift.String?
Undefined symbol: method descriptor for Swift.Error._domain.getter : Swift.String
Undefined symbol: method descriptor for Foundation.JSONDecoder.decode<A where A: Swift.Decodable>(_: A.Type, from: Foundation.Data) throws -> A
Undefined symbol: (extension in Foundation):Foundation.LocalizedError.recoverySuggestion.getter : Swift.String?
Undefined symbol: (extension in Foundation):Foundation.LocalizedError.failureReason.getter : Swift.String?
Undefined symbol: protocol conformance descriptor for (extension in Foundation):Swift.String.Encoding : Swift.CustomStringConvertible in Foundation
Undefined symbol: method lookup function for Foundation.JSONDecoder
Undefined symbol: protocol conformance descriptor for [A : B] : Swift.Collection in Swift
Undefined symbol: Swift.Dictionary.init() -> [A : B]
Undefined symbol: Swift.Dictionary.init<A where A1: Swift.Sequence, A1.Element == (A, B)>(uniqueKeysWithValues: __owned A1) -> [A : B]
Undefined symbol: (extension in Swift):Swift.Error._userInfo.getter : Swift.AnyObject?
Undefined symbol: (extension in Foundation):Swift.Error< where A: Foundation.CustomNSError>._code.getter : Swift.Int
Undefined symbol: (extension in Foundation):Swift.Error< where A: Foundation.CustomNSError>._domain.getter : Swift.String
Undefined symbol: protocol descriptor for Foundation.CustomNSError
Undefined symbol: type metadata for Swift.AnyObject

Error deprecated function in Unity 2019.3

What did you do?

Open cloned this repo By Unity 2019.3.
below error happend.

Assets/LineSDK/Editor/CocoaPods/CocoaPodsInstalling.cs(77,51): error CS0619: 'PBXProject.GetUnityTargetName()' is obsolete: 'This function is deprecated. There are two targets now, call GetUnityMainTargetGuid() - for app or GetUnityFrameworkTargetGuid() - for source/plugins to get Guid instead of calling to TargetGuidByName(GetUnityTargetName()).'

Your environment?

Unity 2019.3.7f1
LINE SDK 1.1.1

Error on Android:Failed resolution of: Lcom/google/gson/Gson;

Is it a security issue?

No

What did you do?

Unity 2018.4.7f1

1 Import line_sdk_unity_1.1.4.unitypackage to a empty unity project.
2 Switch platform to Andorid.
3 open "Main" scene and replace Channel ID on LineSDK object.
4 Build apk with mini api level21.
5 Run apk in sumsung SM-G9600

What did you expect?

The build Run with no error

What happened actually?

2020-09-07 11:29:50.762 5604-5624/? E/Unity: AndroidJavaException: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/gson/Gson;
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/gson/Gson;
        at com.linecorp.linesdk.unitywrapper.LineSdkWrapper.<init>(LineSdkWrapper.kt:21)
        at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
        at com.unity3d.player.UnityPlayer.c(Unknown Source:0)
        at com.unity3d.player.UnityPlayer$e$2.queueIdle(Unknown Source:72)
        at android.os.MessageQueue.next(MessageQueue.java:395)
        at android.os.Looper.loop(Looper.java:181)
        at com.unity3d.player.UnityPlayer$e.run(Unknown Source:32)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.gson.Gson" on path: DexPathList[[zip file "/data/app/com.chm.linetest-letwctzDNm2HWtnsrXKO3A==/base.apk"],nativeLibraryDirectories=[/data/app/com.chm.linetest-letwctzDNm2HWtnsrXKO3A==/lib/arm, /data/app/com.chm.linetest-letwctzDNm2HWtnsrXKO3A==/base.apk!/lib/armeabi-v7a, /system/lib]]
    	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClas

Your environment?

Build from 2018.4.7f1
LineSDK 1.1.4

Sample project

https://drive.google.com/file/d/1wvDOGwkAolomlllUePsXElTznq4VCu3O/view?usp=sharing

how to share and get all friend ids?

Hello, I have less experience in accessing the SDK, and now I want to obtain a list of friend ids and realize the sharing function. It seems that there is no such interface in the
line-sdk-unity. What should I do? Do I need to extend the SDK by myself? Thanks for the answer~

In the line app authentication activity, rotate screen to landscape, can't back to our app after login success.

After called Login, will evoke line app to authenticate, out app is portrait, so the authentication activity is portrait, if rotate screen to landscape, it can't back to our app after login success.

Logs below.

03-20 19:13:14.935 13771-13771/? D/LineSdkWrapperActivity: [Scope{code='profile'}]
03-20 19:13:14.937 1081-4547/? I/ActivityManager: START u0 {cmp=com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity (has extras)} from uid 10247 on display 0
03-20 19:13:14.943 1081-4547/? V/WindowManager: addAppToken: AppWindowToken{25819b5d token=Token{3e6d5134 ActivityRecord{3db76c07 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity t7256}}} to stack=1 task=7256 at 15
03-20 19:13:14.945 15485-15696/? V/RenderScript: 0x8a1cf000 Launching thread(s), CPUs 4
03-20 19:13:14.952 13771-13771/? I/AppsFlyer_4.8.11: onBecameForeground
03-20 19:13:14.955 175-175/? W/SurfaceFlinger: couldn't log to binary event log: overflow.
03-20 19:13:14.957 13771-13771/? I/AppsFlyer_4.8.11: Last Launch attempt: 2019/03/20 11:12:55.317 +0000;
Last successful Launch event: 2019/03/20 11:12:56.247 +0000;
Sending launch (+19636 ms)
03-20 19:13:14.970 1081-8044/? V/WindowManager: Adding window Window{3a419059 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.unitywrapper.activity.LineSdkWrapperActivity} at 10 of 30 (before Window{2a2c9405 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity})
03-20 19:13:15.008 1081-1108/? I/ActivityManager: Config changes=480 {1.0 440mcc?mnc zh_CN ?layoutDir sw360dp w598dp h335dp 480dpi nrml land finger -keyb/v/h -nav/h s.446}
03-20 19:13:15.009 1081-1081/? V/ActivityManager: Display changed displayId=0
03-20 19:13:15.037 4482-4482/? W/AndroidIME: ajy: Upgrade from old InputMethodSubtype: AsciiCapable,EmojiCapable to new InputMethodSubtype: AsciiCapable,EmojiCapable
03-20 19:13:15.078 1081-1523/? I/InputReader: Reconfiguring input devices. changes=0x00000004
03-20 19:13:15.078 1081-1523/? I/InputReader: Device reconfigured: id=4, name='touch_dev', size 1080x1920, orientation 1, mode 1, display id 0
03-20 19:13:15.108 13771-13847/? I/OpenGLRenderer: Initialized EGL, version 1.4
03-20 19:13:15.110 13771-15847/? I/AppsFlyer_4.8.11: sendTrackingWithEvent from activity: com.moon.mahjong.task.QP2UNITY
03-20 19:13:15.110 13771-15847/? I/AppsFlyer_4.8.11: Trying to fetch GAID..
03-20 19:13:15.169 13771-15847/? W/ResourcesManager: Asset path '/system/framework/com.android.media.remotedisplay.jar' does not exist or contains no resources.
03-20 19:13:15.170 13771-15847/? W/ResourcesManager: Asset path '/system/framework/com.android.location.provider.jar' does not exist or contains no resources.
03-20 19:13:15.351 4482-4482/? W/AndroidIME: ajy: Upgrade from old InputMethodSubtype: AsciiCapable,EmojiCapable to new InputMethodSubtype: AsciiCapable,EmojiCapable
03-20 19:13:15.448 1081-1159/? W/ActivityManager: Activity pause timeout for ActivityRecord{b78742d u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity t7256}
03-20 19:13:16.723 1081-11483/? I/ActivityManager: Process com.google.android.tts (pid 15602) has died
03-20 19:13:16.723 1081-11483/? W/ActivityManager: Scheduling restart of crashed service com.google.android.tts/.service.GoogleTTSService in 82890ms
03-20 19:13:16.752 1081-4656/? I/ActivityManager: Process com.google.process.gapps (pid 15053) has died
03-20 19:13:16.795 1081-4761/? W/ActivityManager: getTasks: caller 10242 does not hold GET_TASKS; limiting output
03-20 19:13:16.812 1081-4547/? W/ActivityManager: getTasks: caller 10242 does not hold GET_TASKS; limiting output
03-20 19:13:16.977 1081-1166/? W/WindowManager: Window freeze timeout expired.
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{2dc7435b u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{3e7a7161 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{2dd30865 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{1997cf77 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{6b87bd2 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{35d7a111 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{23375339 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{438b580 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{2391c0e1 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{e870c55 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{2502c8f2 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{a83421 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{2a2c9405 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}
03-20 19:13:16.977 1081-1166/? W/WindowManager: Force clearing orientation change: Window{3a419059 u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.unitywrapper.activity.LineSdkWrapperActivity}
03-20 19:13:16.978 1081-1166/? W/WindowManager: Force clearing orientation change: Window{3567ebae u0 com.huoys.royalcasinoonline/com.viking.BuYuDLD.Launcher}
03-20 19:13:16.978 1081-1166/? W/WindowManager: Force clearing orientation change: Window{3eef0e2b u0 com.android.systemui.ImageWallpaper}
03-20 19:13:16.994 1081-1166/? I/WindowManager: Screen frozen for +2s17ms due to Window{2dc7435b u0 com.huoys.royalcasinoonline/com.linecorp.linesdk.auth.internal.LineAuthenticationActivity}

I have no idea how to fixed it. Please help. Thanks!

Support for WebGL platform?

Is it a security issue?

If you believe you have discovered a vulnerability or have an issue related to security, please DO NOT open a public issue. Instead, send us a mail to [email protected].

What did you do?

Please describe what you did before you encounter the issue.

What did you expect?

Please describe what you did expect to happen.

What happened actually?

Please describe what happened actually.

Your environment?

Some information of the environment in which the issue happened. LINE SDK version, Unity version, Android version, iOS version, etc.

Sample project

It would be appreciated if you can provide a link to or update a sample project that we can download and reproduce the issue.

Module 'LineSDKObjC' not found on Xcode Build

Enviroment :
Unity 2019.4.9f1 and 2019.3.15f1(same error)
Xcode12.0
LineSDK for Unity 1.1.4
IOS13.0 and above
iPhone11

Discription:
When I build application made by unity with this SDK, I receive this error.
"/Applications/UNITY/Completed/LineLoginTest2/Libraries/Plugins/iOS/LineSDK/LineSDKWrapper.m:29:9: Module 'LineSDKObjC' not found"

on LineSDKWrapper.m 29L.

I found a issue about same error,
#18
but in this issue,this error seems to be fixed by developer, ..but I am recieving error now.

what should I do?

Can't use my own custom Nonce in Unity API.

Is it a security issue?

no

What did you do?

I have project that require to integrate between LineLogin and Firebase Auth.

What did you expect?

I want to take IdToken and AccessToken from LineLogin and register to Firebase Auth with OpenID Connect. But Firebase OAuthProvider require rawNonce (Nonce string haven't hashed by SHA256) and Firebase API will hash rawNonce to check nonce inside IdToken is valid.

What happened actually?

Underline LineLogin API creates Nonce for openid scope one each request, but nonce was hidden, not completely hidden but there isn't any option to pass Custom Nonce from Unity API to Wrapper API. I don't have any experiment on Java and Object-C to modify on my own, so can Line Developers expose Custom Nonce on Unity API, or there is another way that I don't know

Your environment?

LINE SDK version: 5-8-1
Unity version: 2022.3.5

English is not my native language, so I really apologize if there are somethings doesn't clear.

Bot_prompt did not work in my project !

Is it a security issue?

If you believe you have discovered a vulnerability or have an issue related to security, please DO NOT open a public issue. Instead, send us a mail to [email protected].

What did you do?

I use Login Function from LineSDK with LoginOption In this picture below
image

And I've set Linked OA in my linelogin Channel
image

What did you expect?

When use Line Login, the add linebot as a friend option show up

What happened actually?

but when the authorization screen show up. the option to add my linebot as a friend's option didn't show.
image

Am I do something wrong? Thanks a lot

Or I think is because my lineBot is not an official account, so that this doesn't work?

Your environment?

LINE SDK : I think is the newest version,
Unity version : 2019.4.19f1,
On Android device

Sample project

It would be appreciated if you can provide a link to or update a sample project that we can download and reproduce the issue.

Unexpected JSON Format String Returned Instead of JWT String When Using LINE SDK

Is it a security issue?

No

What did you do?

I tried to obtain the idToken using the LINE SDK.

What did you expect?

Being able to obtain the idToken as a JWT string itself.

What happened actually?

When obtaining the idToken, instead of a JWT string, a converted JSON format string was returned.
In previous versions, a JWT string was returned
#31

Your environment?

  • line-sdk-unity 1.3.1
  • unity 2022.3.13f1
  • Pixel 7 Pro/Android 14

Sample project

private async UniTask<string> GetLineCredential()
{
    string credential = null;
    LineSDK.Instance.Login(new[] { "profile", "openid", "email" }, result =>
    {
        result.Match(
            success =>
            {
                var idTokenRaw = success.AccessToken.IdTokenRaw;
                if (string.IsNullOrEmpty(idTokenRaw))
                {
                    throw new GetCredentialFatalException("scopeに`openid`を含めてください");
                
                var match = Regex.Match(idTokenRaw, @"""rawString"":\s*""([^""]*)""");
                if (match.Success)
                {
                    credential = match.Groups[1].Value;
                }
                else
                {
                    throw new GetCredentialFatalException("idTokenの取得に失敗しました");
                }
            },
            error => throw new GetCredentialFatalException(
                $"LineSDKの認証に失敗しました \n code {error.Code}: {error.Message}"));
    })
    await UniTask.WaitUntil(() => credential != null);
    return credential;
}

Android Build fail: Execution failed for task ':transformClassesAndResourcesWithProguardForRelease'.

Is it a security issue?

no

What did you do?

I create a empty unity project, import ‘line_sdk_unity_1.1.6.unitypackage’, and add "implementation 'androidx.legacy:legacy-support-v4:1.0.0'" in 'mainTemplate.gradle'. Then set 'minifyEnabled true' and 'useProguard true'.
Then build, it show : Gradle build failed.
if don't add "implementation 'androidx.legacy:legacy-support-v4:1.0.0'" or set 'useProguard false', it will build success.

What did you expect?

My project need add "implementation 'androidx.legacy:legacy-support-v4:1.0.0'" and set 'useProguard true'.
I hope it can build success.

What happened actually?

I added my log as an attachment

Your environment?

Some information of the environment in which the issue happened. LINE SDK version, Unity version, Android version, iOS version, etc.
LINE SDK version: line_sdk_unity_1.1.6.unitypackage
Unity version: unity 2017.4.30f1
Android version: Minimum API Level 17, Target API Level 29, Build Gradle: 3.2.0

Sample project

it's a empty unity project, then import ‘line_sdk_unity_1.1.6.unitypackage’ and modify mainTemplate.gradle
mainTemplate.txt
log.txt

Supplementary notes: my actually project also add other SDK. For example appsflyer, firebase, facebook, gms, etc.

iOS Build: Undefined symbols for architecture armv7 after import facebook sdk 7.18

Is it a security issue?

No

What did you do?

Create fresh unity project using unity 2018.2.21f1
Fill in random facebook app id and random channel id for Line SDK Object
Build iOS with target 10.0 minimum
Using xcproject to build test project

What did you expect?

The build success with no error

What happened actually?

Warning about Could not find auto-linked library

ld: warning: Could not find auto-linked library 'swiftCoreFoundation'
ld: warning: Could not find auto-linked library 'swiftObjectiveC'
ld: warning: Could not find auto-linked library 'swiftFoundation'
ld: warning: Could not find auto-linked library 'swiftMetal'
ld: warning: Could not find auto-linked library 'swiftDarwin'
ld: warning: Could not find auto-linked library 'swiftUIKit'
ld: warning: Could not find auto-linked library 'swiftCore'
ld: warning: Could not find auto-linked library 'swiftCoreGraphics'
ld: warning: Could not find auto-linked library 'swiftDispatch'
ld: warning: Could not find auto-linked library 'swiftQuartzCore'
ld: warning: Could not find auto-linked library 'swiftCoreImage'

And an error

ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Only Line build OK
Only Facebook Build OK

Your environment?

Build from Unity 2018.2.21f1
XCode 10.1
Build target iOS 10.0
Facebook SDK 7.18.0
LineSDK 1.0.0

Sample project

https://drive.google.com/file/d/1dK10JyyRc71djlggGO5TL5Eu-GBFosSt/view?usp=sharing
Included Unity project and xcode project build folder

Error : No variants found for 'unityLibrary'. Check build files to ensure at least one variant exists.

Is it a security issue?

No

What did you do?

I create a new unity project and follow the steps in the document to integrate sdk.
Exporting as an android project and open it with Android studio.

What did you expect?

Exporting android project , and build into apk to test my integration.

What happened actually?

I got "No variants found for 'unityLibrary'. Check build files to ensure at least one variant exists." Error.

Your environment?

Unity 2020.3.18f1
line_sdk_unity_1.1.6
Android Studio 4.1.1

Sample project

Here is the download link : https://drive.google.com/file/d/1lybB9JR6NHY7kK0QuwOxNoRS3OP6I5zx/view?usp=sharing

Error, unable to process

Channel Id: 1656533567

The developer platform Android package name has been configured, but you cannot log in. If the code is changed to the package name in the example, you can log in normally, please help determine the reason.

image
image

Android Build: Configuration with name 'compileClasspath' not found. See the Console for details.

Is it a security issue?

No 👍

What did you do?

Create fresh unity project., and just try apk build with line sdk + player service resolver

What did you expect?

build complete, and make smile. 😢

What happened actually?

i got Build failure dialog 'comepileClasspath' not found.
and unity console stack trace.


CommandInvokationFailure: Gradle build failed.
C:/Program Files/Unity/Hub/Editor/2019.3.7f1/Editor/Data/PlaybackEngines/AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

stderr[

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':launcher:lintVitalRelease'.

Configuration with name 'compileClasspath' not found.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 6s
]
stdout[

Configure project :launcher
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\28.0.3\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-28\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\28.0.3\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-28\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only

Configure project :unityLibrary
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\28.0.3\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-28\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\28.0.3\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-28\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only

Task :unityLibrary:preBuild UP-TO-DATE
Task :launcher:preBuild UP-TO-DATE
Task :unityLibrary:preReleaseBuild UP-TO-DATE
Task :launcher:prepareLintJar UP-TO-DATE
Task :unityLibrary:checkReleaseManifest UP-TO-DATE
Task :unityLibrary:processReleaseManifest
Task :unityLibrary:compileReleaseAidl NO-SOURCE
Task :unityLibrary:packageReleaseRenderscript NO-SOURCE
Task :unityLibrary:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE
Task :unityLibrary:generateReleaseResValues UP-TO-DATE
Task :unityLibrary:generateReleaseResources UP-TO-DATE
Task :unityLibrary:packageReleaseResources UP-TO-DATE
Task :launcher:preReleaseBuild
Task :launcher:compileReleaseAidl NO-SOURCE
Task :launcher:compileReleaseRenderscript NO-SOURCE
Task :launcher:checkReleaseManifest UP-TO-DATE
Task :launcher:generateReleaseBuildConfig UP-TO-DATE
Task :launcher:generateReleaseSources UP-TO-DATE
Task :launcher:mainApkListPersistenceRelease UP-TO-DATE
Task :launcher:generateReleaseResValues UP-TO-DATE
Task :launcher:generateReleaseResources UP-TO-DATE
Task :unityLibrary:generateReleaseRFile UP-TO-DATE
Task :unityLibrary:prepareLintJar UP-TO-DATE
Task :unityLibrary:generateReleaseSources UP-TO-DATE
Task :unityLibrary:javaPreCompileRelease UP-TO-DATE
Task :launcher:mergeReleaseResources UP-TO-DATE
Task :launcher:createReleaseCompatibleScreenManifests UP-TO-DATE
Task :unityLibrary:compileReleaseJavaWithJavac UP-TO-DATE
Task :unityLibrary:bundleLibCompileRelease UP-TO-DATE
Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE
Task :unityLibrary:mergeReleaseShaders UP-TO-DATE
Task :unityLibrary:compileReleaseShaders UP-TO-DATE
Task :unityLibrary:generateReleaseAssets UP-TO-DATE
Task :launcher:processReleaseManifest
Task :launcher:javaPreCompileRelease UP-TO-DATE
Task :unityLibrary:packageReleaseAssets
Task :unityLibrary:bundleLibRuntimeRelease UP-TO-DATE
Task :unityLibrary:processReleaseJavaRes NO-SOURCE
Task :unityLibrary:bundleLibResRelease UP-TO-DATE
Task :unityLibrary:mergeReleaseJniLibFolders UP-TO-DATE
Task :unityLibrary:transformNativeLibsWithMergeJniLibsForRelease UP-TO-DATE
Task :unityLibrary:transformNativeLibsWithIntermediateJniLibsForRelease UP-TO-DATE
Task :launcher:processReleaseResources
Task :launcher:compileReleaseJavaWithJavac UP-TO-DATE
Task :launcher:compileReleaseSources UP-TO-DATE
Task :launcher:lintVitalRelease FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings
32 actionable tasks: 6 executed, 26 up-to-date
]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <88091cc0f6184c3ca77702906799aea5>:0)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <88091cc0f6184c3ca77702906799aea5>:0)
UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <88091cc0f6184c3ca77702906799aea5>:0)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action1[T] progress, System.String error) (at <88091cc0f6184c3ca77702906799aea5>:0) UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action1[T] progress) (at <88091cc0f6184c3ca77702906799aea5>:0)
Rethrow as GradleInvokationException: Gradle build failed
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <88091cc0f6184c3ca77702906799aea5>:0)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <88091cc0f6184c3ca77702906799aea5>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <88091cc0f6184c3ca77702906799aea5>:0)
Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown.
UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, System.Exception ex) (at <88091cc0f6184c3ca77702906799aea5>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <88091cc0f6184c3ca77702906799aea5>:0)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <88091cc0f6184c3ca77702906799aea5>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <88091cc0f6184c3ca77702906799aea5>:0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <78f1ad0f25c84e3ca853e639f50d95f5>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Your environment?

  • unity 2019.3.7.f1
  • android : api 19++
  • imported library : play service resolver, linesdk
  • open jdk

Sample project

https://drive.google.com/file/d/1j8H_SDQdTPLxdQmklMAdQDpcHrAsQBHJ/view?usp=sharing

Get user's email from IDToken?

Is there anyway I could get user's email from this SDK?

Is it a security issue?

If you believe you have discovered a vulnerability or have an issue related to security, please DO NOT open a public issue. Instead, send us a mail to [email protected].

What did you do?

Please describe what you did before you encounter the issue.

What did you expect?

Please describe what you did expect to happen.

What happened actually?

Please describe what happened actually.

Your environment?

Some information of the environment in which the issue happened. LINE SDK version, Unity version, Android version, iOS version, etc.

Sample project

It would be appreciated if you can provide a link to or update a sample project that we can download and reproduce the issue.

Issues with unity 2018.2.0f2

Is it a security issue?

If you believe you have discovered a vulnerability or have an issue related to security, please DO NOT open a public issue. Instead, send us a mail to [email protected].

What did you do?

If you build from unity 2018.2.0f2 version, gradle version does not match and error occurs

* What went wrong:
A problem occurred evaluating root project 'gradleOut'.
> Failed to apply plugin [id 'com.android.application']
   > Minimum supported Gradle version is 4.6. Current version is 4.2.1. If using the gradle wrapper, try editing the distributionUrl in /Users/even/Desktop/Works/09.temp/Unity/LineSample/Temp/gradleOut/gradle/wrapper/gradle-wrapper.properties to gradle-4.6-all.zip

What did you expect?

build done.

What happened actually?

Because Unity has a low version of the built-in gradle, causing errors.

In the mainTemplate.gradle, the bottom part and the Gradle version are associated.

classpath 'com.android.tools.build:gradle:3.2.0'

Therefore, when I lowered the version to 3.0.1 and built it, the following error occurred.

* What went wrong:
A problem occurred evaluating root project 'gradleOut'.
> Could not find method bundle() for arguments [build_xk52861as5j4z8iqm3807vyd$_run_closure3$_closure12@6e2d1c43] on object of type com.android.build.gradle.AppExtension.

I removed the bottom part of mainTemplate.gradle and rebuilt it.

bundle {
    language {
        enableSplit = false
    }
    density {
        enableSplit = false
    }
    abi {
        enableSplit = true
    }
}

This time, the following error occurred.

stderr [
Exception in thread "main" java.lang.IllegalStateException: Expected a load for Landroid / view / View $ OnClickListener; to set up parameter 1 for com / linecorp / linesdk / widget / LoginButton $$ Lambda $ 3 but got -1
at com.google.common.base.Preconditions.checkState (Preconditions.java:756)
at com.google.devtools.build.android.desugar.LambdaDesugaring $ InvokedynamicRewriter.attemptAllocationBeforeArgumentLoads (LambdaDesugaring.java:535)
at com.google.devtools.build.android.desugar.LambdaDesugaring $ InvokedynamicRewriter.visitInvokeDynamicInsn (LambdaDesugaring.java:420)
at org.objectweb.asm.MethodVisitor.visitInvokeDynamicInsn (Unknown Source)
at org.objectweb.asm.MethodVisitor.visitInvokeDynamicInsn (Unknown Source)
at org.objectweb.asm.ClassReader.a (Unknown Source)
at org.objectweb.asm.ClassReader.b (Unknown Source)
at org.objectweb.asm.ClassReader.accept (Unknown Source)
at org.objectweb.asm.ClassReader.accept (Unknown Source)
at com.google.devtools.build.android.desugar.Desugar.desugarClassesInInput (Desugar.java:401)
at com.google.devtools.build.android.desugar.Desugar.desugarOneInput (Desugar.java:326)
at com.google.devtools.build.android.desugar.Desugar.desugar (Desugar.java:280)
at com.google.devtools.build.android.desugar.Desugar.main (Desugar.java:584)

The above error is found in the android repository(LINK), but I do not know how to fix it in Unity.

What exactly is the correct minimum version to support?
Is not Gradle version 4.6 or lower?
(I may be forced to update the version of Gradle built into Unity to 4.6, but I do not want to do that because it is not generally recommended.)

Your environment?

macOS(Mojave) 10.14.4
unity 2018.2.0f2

Sample project

It would be appreciated if you can provide a link to or update a sample project that we can download and reproduce the issue.

When building line-sdk-unity 1.4.0 with Unity 2021.3.37, a build error occurs due to duplicate registration of xcframework, resulting in a "duplicate output file" error.

Is it a security issue?

No

What did you do?

When building line-sdk-unity 1.4.0 with Unity 2021.3.37, a build error occurs.
Unity 2021.3.37 includes xcframework support, which seems to be causing file duplication.

Here is a part of the error that occurs

unexpected duplicate tasks
duplicate output file

(ProjectPath)/Xcode/DerivedData/Unity-iPhone-cvuxrfxovekkikcqqiqjlzycrysy/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/BuildProductsPath/Release-iphoneos/2BAC3286-CC10-3FAA-BB02-6F84A3D39864.bcsymbolmap' on task: ProcessXCFramework (ProjectPath)/iOS/Libraries/Plugins/iOS/LineSDK/LineSDKObjC.xcframework /Users/violet/Library/Developer/Xcode/DerivedData/Unity-iPhone-cvuxrfxovekkikcqqiqjlzycrysy/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/BuildProductsPath/Release-iphoneos/LineSDKObjC.framework

This phenomenon also occurs in a project that only includes the LineSDK.

When setting the environment to iOS and performing an Archive on the Xcode project generated by executing "Build," an Unexpected duplicate tasks error occurs.

What did you expect?

I hope that the duplicate registration of xcframework will not occur and that the build will be successful.

This phenomenon may be due to an issue with Unity's handling of xcframework.

I was able to confirm that the build succeeds by adding the following code:

In FrameworkAdding.cs, I confirmed that removing the LineSDKObjC.xcframework, which Unity seems to be adding, with the following code allows it to work correctly:

private const string frameworkXcodePath = "Frameworks/Plugins/iOS/LineSDK/vendor";

// Get the GUID of the source framework without adding it to the project.
var frameworkXcodeSourcePath = Path.Combine(frameworkXcodePath, frameworkName);
string sourceFrameworkGuid = proj.FindFileGuidByProjectPath(frameworkXcodeSourcePath);
Debug.Log("Framework GUID: " + sourceFrameworkGuid);

// Remove the source framework from the project if it exists.
if (!string.IsNullOrEmpty(sourceFrameworkGuid)) {
	proj.RemoveFileFromBuild(appTargetGuid, sourceFrameworkGuid);
	proj.RemoveFrameworkFromProject(appTargetGuid, frameworkName);
	proj.RemoveFile(sourceFrameworkGuid);
}

I would like to confirm if this approach is correct.

What happened actually?

When building line-sdk-unity 1.4.0 with Unity 2021.3.37, the following build errors occur
unexpected duplicate tasks
duplicate output file

Your environment?

Apple MacBook Pro M1 2021
macOS 13.6.4 ventura
line-sdk-unity 1.4.0 with Unity 2021.3.37

Sample project

Module 'LineSDKObjC' not found

I using unity 2019.3.10f1 and Cocoapods
Build iOS with target 10.0 minimum
But Xcode is build failed
Error Message
Module 'LineSDKObjC' not found

My environment
Build from Unity 2019.3.10f1
XCode 11.4.1
Build target iOS 10.0
LineSDK 1.1.1

Gradle build failed. linesdk:5.1.1

pelase help me. I was able to build without problems until yesterday.

  • What went wrong:
    [2023-06-22T21:00:41Z - Unity] Could not determine the dependencies of task ':launcher:collectReleaseDependencies'.
    [2023-06-22T21:00:41Z - Unity] > Could not resolve all task dependencies for configuration ':launcher:releaseRuntimeClasspath'.
    [2023-06-22T21:00:41Z - Unity] > Could not find com.linecorp:linesdk:5.1.1.
    [2023-06-22T21:00:41Z - Unity] Searched in the following locations:
    [2023-06-22T21:00:41Z - Unity] - https://dl.google.com/dl/android/maven2/com/linecorp/linesdk/5.1.1/linesdk-5.1.1.pom
    [2023-06-22T21:00:41Z - Unity] - https://jcenter.bintray.com/com/linecorp/linesdk/5.1.1/linesdk-5.1.1.pom
    [2023-06-22T21:00:41Z - Unity] - file:/BUILD_PATH/pXXXXXXXXXX-release-android/unityFiles/PIA/Library/Bee/Android/Prj/IL2CPP/Gradle/unityLibrary/libs/linesdk-5.1.1.jar
    [2023-06-22T21:00:41Z - Unity] - file:/BUILD_PATH/XXXXXXXX-release-android/unityFiles/PIA/Library/Bee/Android/Prj/IL2CPP/Gradle/unityLibrary/libs/linesdk.jar
    [2023-06-22T21:00:41Z - Unity] - https://maven.google.com/com/linecorp/linesdk/5.1.1/linesdk-5.1.1.pom
    [2023-06-22T21:00:41Z - Unity] - file:/BUILD_PATH/XXXXXXXXX-release-android/unityFiles/PIA/Assets/GeneratedLocalRepo/Firebase/m2repository/com/linecorp/linesdk/5.1.1/linesdk-5.1.1.pom
    [2023-06-22T21:00:41Z - Unity] - file:/BUILD_PATH/.m2/repository/com/linecorp/linesdk/5.1.1/linesdk-5.1.1.pom
    [2023-06-22T21:00:41Z - Unity] - https://repo.maven.apache.org/maven2/com/linecorp/linesdk/5.1.1/linesdk-5.1.1.pom
    [2023-06-22T21:00:41Z - Unity] Required by:
    [2023-06-22T21:00:41Z - Unity] project :launcher > project :unityLibrary

xCode 15.3 - The signature of “LineSDKObjC.xcframework” cannot be verified.

Is it a security issue?

No

What did you do?

Try to build iOS on xCode 15.3

What did you expect?

Build successfully

What happened actually?

xCode gives an error
The signature of “LineSDKObjC.xcframework” cannot be verified.

Your environment?

Unity 2022.3.19
xCode 15.3.1
(No problems with xCode 14.3)

Sample project

I use sample project from this repository

Enquiry for LINE API implementation for Unity WebGL

First of all, sorry for creating issue here, as I can't think of anywhere else to get this answered. As I read through issue #11, there is no plan of putting up WebGL support from this sdk.

My question is, if I wanted to implement Line API for Unity WebGL, which approach the would the devs suggest us to implement Line API in our Unity WebGL Game if there is no direct sdk for it.

Is it a security issue?

no

What did you do?

Trying to implement LINE API login for Unity WebGL Games

What did you expect?

Approaches or direction should we go if we wanted to implement it

What happened actually?

Your environment?

Unity 2020.3.12f1

Sample project

Compile fails with Android platform build

Is it a security issue?

NO.

What did you do?

Compile with Android platform build on Unity Editor.

What did you expect?

Compile succeeds with Android build.

What happened actually?

Compile fails with Android build.
The error message is:

Assets/LineSDK/Editor/Carthage/CarthageInstalling.cs(22,19): error CS0234: The type or namespace name `iOS' does not exist in the namespace `UnityEditor'. Are you missing an assembly reference?

This file must be specified with #if UNITY_IOS ... #endif
https://github.com/line/line-sdk-unity/blob/master/LINE_SDK_Unity/Assets/LineSDK/Editor/Carthage/CarthageInstalling.cs

Your environment?

  • LINE SDK for Unity 1.0.1
  • Unity 2017.4.29f1
  • Android minSdkVersion 21, compileSdkVersion 28, and targetSdkVersion 28

Sample project

none.

Execution failed for task ':launcher:checkReleaseDuplicateClasses'.

Is it a security issue?

No.

What did you do?

Import Line SDK Latest(1.1.3) & Import Google Player Service

if gpgs is included in the project then problem arises.

What did you expect?

Build Complete (Android Platform)

What happened actually?

i got error message.

Error Log

CommandInvokationFailure: Gradle build failed.
C:/Program Files/Unity/Hub/Editor/2019.4.1f1/Editor/Data/PlaybackEngines/AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

stderr[

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':launcher:checkReleaseDuplicateClasses'.

1 exception was raised by workers:
java.lang.RuntimeException: Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.IResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.IResultReceiver$Stub found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.IResultReceiver$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.ResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.ResultReceiver$1 found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.ResultReceiver$MyResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)

Go to the documentation to learn how to Fix dependency resolution errors.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 33s
]
stdout[

Configure project :launcher
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\28.0.3\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-28\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\28.0.3\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-28\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only

Configure project :unityLibrary
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\28.0.3\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-28\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\28.0.3\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-28\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only

Task :launcher:preBuild UP-TO-DATE
Task :unityLibrary:preBuild UP-TO-DATE
Task :unityLibrary:GooglePlayGamesManifest.plugin:preBuild UP-TO-DATE
Task :unityLibrary:GooglePlayGamesManifest.plugin:preReleaseBuild UP-TO-DATE
Task :unityLibrary:preReleaseBuild UP-TO-DATE
Task :launcher:prepareLintJar
Task :unityLibrary:GooglePlayGamesManifest.plugin:checkReleaseManifest
Task :unityLibrary:checkReleaseManifest
Task :unityLibrary:processReleaseManifest
Task :unityLibrary:GooglePlayGamesManifest.plugin:processReleaseManifest
Task :unityLibrary:packageReleaseRenderscript NO-SOURCE
Task :unityLibrary:GooglePlayGamesManifest.plugin:compileReleaseAidl NO-SOURCE
Task :unityLibrary:GooglePlayGamesManifest.plugin:packageReleaseRenderscript NO-SOURCE
Task :unityLibrary:GooglePlayGamesManifest.plugin:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:GooglePlayGamesManifest.plugin:generateReleaseResValues
Task :unityLibrary:GooglePlayGamesManifest.plugin:generateReleaseResources
Task :unityLibrary:generateReleaseBuildConfig
Task :unityLibrary:compileReleaseAidl NO-SOURCE
Task :unityLibrary:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:generateReleaseResValues
Task :unityLibrary:generateReleaseResources
Task :unityLibrary:GooglePlayGamesManifest.plugin:packageReleaseResources
Task :unityLibrary:packageReleaseResources
Task :unityLibrary:prepareLintJar
Task :unityLibrary:generateReleaseSources
Task :unityLibrary:prepareLintJarForPublish
Task :unityLibrary:mergeReleaseShaders
Task :unityLibrary:compileReleaseShaders
Task :unityLibrary:generateReleaseAssets
Task :unityLibrary:GooglePlayGamesManifest.plugin:generateReleaseRFile
Task :unityLibrary:GooglePlayGamesManifest.plugin:generateReleaseBuildConfig
Task :unityLibrary:GooglePlayGamesManifest.plugin:prepareLintJar
Task :unityLibrary:GooglePlayGamesManifest.plugin:generateReleaseSources
Task :unityLibrary:GooglePlayGamesManifest.plugin:javaPreCompileRelease
Task :unityLibrary:packageReleaseAssets
Task :launcher:preReleaseBuild
Task :launcher:compileReleaseAidl NO-SOURCE
Task :launcher:compileReleaseRenderscript NO-SOURCE
Task :launcher:checkReleaseManifest
Task :launcher:generateReleaseBuildConfig
Task :launcher:generateReleaseSources
Task :launcher:mainApkListPersistenceRelease
Task :launcher:generateReleaseResValues
Task :launcher:generateReleaseResources
Task :unityLibrary:GooglePlayGamesManifest.plugin:compileReleaseJavaWithJavac
Task :unityLibrary:GooglePlayGamesManifest.plugin:bundleLibCompileRelease
Task :unityLibrary:GooglePlayGamesManifest.plugin:prepareLintJarForPublish
Task :unityLibrary:GooglePlayGamesManifest.plugin:mergeReleaseShaders
Task :unityLibrary:GooglePlayGamesManifest.plugin:compileReleaseShaders
Task :unityLibrary:GooglePlayGamesManifest.plugin:generateReleaseAssets
Task :unityLibrary:GooglePlayGamesManifest.plugin:packageReleaseAssets
Task :unityLibrary:GooglePlayGamesManifest.plugin:bundleLibRuntimeRelease
Task :unityLibrary:GooglePlayGamesManifest.plugin:processReleaseJavaRes NO-SOURCE
Task :unityLibrary:GooglePlayGamesManifest.plugin:bundleLibResRelease
Task :unityLibrary:GooglePlayGamesManifest.plugin:mergeReleaseJniLibFolders
Task :unityLibrary:generateReleaseRFile
Task :unityLibrary:GooglePlayGamesManifest.plugin:transformNativeLibsWithMergeJniLibsForRelease
Task :unityLibrary:GooglePlayGamesManifest.plugin:transformNativeLibsWithIntermediateJniLibsForRelease
Task :unityLibrary:javaPreCompileRelease
Task :unityLibrary:compileReleaseJavaWithJavac
Task :unityLibrary:bundleLibCompileRelease
Task :unityLibrary:bundleLibRuntimeRelease
Task :unityLibrary:processReleaseJavaRes NO-SOURCE
Task :unityLibrary:bundleLibResRelease
Task :unityLibrary:mergeReleaseJniLibFolders
Task :unityLibrary:transformNativeLibsWithMergeJniLibsForRelease
Task :unityLibrary:transformNativeLibsWithIntermediateJniLibsForRelease
Task :launcher:mergeReleaseResources
Task :launcher:javaPreCompileRelease
Task :launcher:createReleaseCompatibleScreenManifests
Task :launcher:processReleaseManifest
Task :launcher:processReleaseResources
Task :launcher:compileReleaseJavaWithJavac
Task :launcher:compileReleaseSources
Task :launcher:lintVitalRelease
Task :launcher:mergeReleaseShaders
Task :launcher:compileReleaseShaders
Task :launcher:generateReleaseAssets
Task :launcher:mergeReleaseAssets
Task :launcher:validateSigningRelease
Task :launcher:signingConfigWriterRelease
Task :launcher:checkReleaseDuplicateClasses FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings
57 actionable tasks: 57 executed
]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at :0)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at :0)
UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at :0)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action1[T] progress, System.String error) (at <d7067458867d436a825598eb5e44cdf0>:0) UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action1[T] progress) (at :0)
Rethrow as GradleInvokationException: Gradle build failed
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at :0)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0)
Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown.
UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, System.Exception ex) (at :0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at :0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at :0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at :0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Your environment?

Android Target Build
Unity 2019.4.1f1
Line SDK 1.3.3
GooglePlayGamesPlugin-0.10.09

Sample project

https://drive.google.com/file/d/1tG4-VQ2hte9HI-7u2i5-gFU08a-ZgRft/view?usp=sharing

Write latest release version to Doxyfile?

Hello!
I have a question (request) about the version being displayed in the docs header.

Currently 1.0 is displayed in the header of the SDK docs.
https://developers.line.biz/en/reference/unity-sdk/

Screen Shot 2021-06-28 at 17 38 34

This value originates from this setting in Doxyfile:

PROJECT_NUMBER = 1.0

When changing PROJECT_NUMBER to another value and then running doxygen, it will be reflected to the header.
In this screenshot you can see the result of setting PROJECT_NUMBER to v1.1.6.

Screen Shot 2021-06-28 at 17 40 04

Would it be possible to somehow automatically set PROJECT_NUMBER to the latest release version (currently 1.1.6)?
https://github.com/line/line-sdk-unity/releases

Thank you very much! 🙇

Failed Login due to CryptoError in LINE SDK on Unity

Is it a security issue?

No

What did you do?

I attempted to log in using the LINE SDK to obtain the idToken."

What did you expect?

I expected to be able to obtain the idToken.

What happened actually?

The following error message was displayed, resulting in a failed login.

CryptoError: Verification failed for key: \Payload.<computed 0x0000000100efe348 (Optional<String>)>. Got: nil, value not exist

Your environment?

  • line-sdk-unity 1.3.1
  • unity 2022.3.13f1
  • iPhone8/iOS 16.7.2

Sample project

I tested by partially modifying the login implementation included in the demo scene.
The changes included adding 'openid' and 'email' to scopes, and outputting the idToken to the log.

    public void Login() {
        var scopes = new string[] {"profile", "openid", "email"};
        LineSDK.Instance.Login(scopes, result => {
            result.Match(
                value => {
                    Debug.Log($"Login success: {value.AccessToken.IdTokenRaw}");
                    StartCoroutine(UpdateProfile(value.UserProfile));
                    UpdateRawSection(value.AccessToken.IdTokenRaw);
                },
                error => {
                    UpdateRawSection(error);
                }
            );
        });
    }

IMG_0014

Class not found when unmarshalling: com.linecorp.linesdk.auth.LineAuthenticationConfig

Hello.

We're getting this error on the attempt to login with {"profile", "openid"} scopes.

Line app shows popup with this text
"Error
An unknown error occured"

Login callback onMatchedError returns error Message:
"login is canceled"

When I check the errors on ADB logcat, i see these exceptions at the moment when Login is called:

11-03 18:41:33.027 2992 6578 E Parcel : Class not found when unmarshalling: com.linecorp.linesdk.auth.LineAuthenticationConfig 11-03 18:41:33.027 2992 6578 E Parcel : java.lang.ClassNotFoundException: com.linecorp.linesdk.auth.LineAuthenticationConfig 11-03 18:41:33.027 2992 6578 E Parcel : at java.lang.Class.classForName(Native Method) 11-03 18:41:33.027 2992 6578 E Parcel : at java.lang.Class.forName(Class.java:453) 11-03 18:41:33.027 2992 6578 E Parcel : at android.os.Parcel.readParcelableCreator(Parcel.java:2905) 11-03 18:41:33.027 2992 6578 E Parcel : at android.os.Parcel.readParcelable(Parcel.java:2859) 11-03 18:41:33.027 2992 6578 E Parcel : at android.os.Parcel.readValue(Parcel.java:2762) 11-03 18:41:33.027 2992 6578 E Parcel : at android.os.Parcel.readArrayMapInternal(Parcel.java:3131) 11-03 18:41:33.027 2992 6578 E Parcel : at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:273) 11-03 18:41:33.027 2992 6578 E Parcel : at android.os.BaseBundle.unparcel(BaseBundle.java:226) 11-03 18:41:33.027 2992 6578 E Parcel : at android.os.BaseBundle.getString(BaseBundle.java:1118) 11-03 18:41:33.027 2992 6578 E Parcel : at android.content.Intent.getStringExtra(Intent.java:7807) 11-03 18:41:33.027 2992 6578 E Parcel : at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:509) 11-03 18:41:33.027 2992 6578 E Parcel : at com.android.server.am.ActivityStarter.startActivityLocked(ActivityStarter.java:454) 11-03 18:41:33.027 2992 6578 E Parcel : at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:1375) 11-03 18:41:33.027 2992 6578 E Parcel : at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6295) 11-03 18:41:33.027 2992 6578 E Parcel : at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6144) 11-03 18:41:33.027 2992 6578 E Parcel : at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:121) 11-03 18:41:33.027 2992 6578 E Parcel : at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:4024) 11-03 18:41:33.027 2992 6578 E Parcel : at android.os.Binder.execTransact(Binder.java:705) 11-03 18:41:33.027 2992 6578 E Parcel : Caused by: java.lang.ClassNotFoundException: com.linecorp.linesdk.auth.LineAuthenticationConfig 11-03 18:41:33.027 2992 6578 E Parcel : at java.lang.Class.classForName(Native Method) 11-03 18:41:33.027 2992 6578 E Parcel : at java.lang.BootClassLoader.findClass(ClassLoader.java:1355) 11-03 18:41:33.027 2992 6578 E Parcel : at java.lang.BootClassLoader.loadClass(ClassLoader.java:1415) 11-03 18:41:33.027 2992 6578 E Parcel : at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 11-03 18:41:33.027 2992 6578 E Parcel : ... 18 more 11-03 18:41:33.027 2992 6578 E Parcel : Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 11-03 18:41:33.039 2992 3480 E Watchdog: !@Sync 26038 [2020-11-03 18:41:33.039] 11-03 18:41:33.806 11411 20842 E GOS:SeDex: failed to getSystemService() 11-03 18:41:33.806 11411 20842 E GOS:SeDex: mDesktopModeManager is null 11-03 18:41:33.806 11411 20842 E GOS:SeDex: mDesktopModeManager is null 11-03 18:41:33.823 2992 3689 E Parcel : Class not found when unmarshalling: p0.a.a.a.t2.l.r0.a$b 11-03 18:41:33.823 2992 3689 E Parcel : java.lang.ClassNotFoundException: p0.a.a.a.t2.l.r0.a$b 11-03 18:41:33.823 2992 3689 E Parcel : at java.lang.Class.classForName(Native Method) 11-03 18:41:33.823 2992 3689 E Parcel : at java.lang.Class.forName(Class.java:453) 11-03 18:41:33.823 2992 3689 E Parcel : at android.os.Parcel.readParcelableCreator(Parcel.java:2905) 11-03 18:41:33.823 2992 3689 E Parcel : at android.os.Parcel.readParcelable(Parcel.java:2859) 11-03 18:41:33.823 2992 3689 E Parcel : at android.os.Parcel.readValue(Parcel.java:2762) 11-03 18:41:33.823 2992 3689 E Parcel : at android.os.Parcel.readArrayMapInternal(Parcel.java:3131) 11-03 18:41:33.823 2992 3689 E Parcel : at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:273) 11-03 18:41:33.823 2992 3689 E Parcel : at android.os.BaseBundle.unparcel(BaseBundle.java:226) 11-03 18:41:33.823 2992 3689 E Parcel : at android.os.BaseBundle.getString(BaseBundle.java:1118) 11-03 18:41:33.823 2992 3689 E Parcel : at android.content.Intent.getStringExtra(Intent.java:7807) 11-03 18:41:33.823 2992 3689 E Parcel : at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:509) 11-03 18:41:33.823 2992 3689 E Parcel : at com.android.server.am.ActivityStarter.startActivityLocked(ActivityStarter.java:454) 11-03 18:41:33.823 2992 3689 E Parcel : at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:1375) 11-03 18:41:33.823 2992 3689 E Parcel : at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6295) 11-03 18:41:33.823 2992 3689 E Parcel : at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6144) 11-03 18:41:33.823 2992 3689 E Parcel : at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:121) 11-03 18:41:33.823 2992 3689 E Parcel : at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:4024) 11-03 18:41:33.823 2992 3689 E Parcel : at android.os.Binder.execTransact(Binder.java:705) 11-03 18:41:33.823 2992 3689 E Parcel : Caused by: java.lang.ClassNotFoundException: p0.a.a.a.t2.l.r0.a$b 11-03 18:41:33.823 2992 3689 E Parcel : at java.lang.Class.classForName(Native Method) 11-03 18:41:33.823 2992 3689 E Parcel : at java.lang.BootClassLoader.findClass(ClassLoader.java:1355) 11-03 18:41:33.823 2992 3689 E Parcel : at java.lang.BootClassLoader.loadClass(ClassLoader.java:1415) 11-03 18:41:33.823 2992 3689 E Parcel : at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 11-03 18:41:33.823 2992 3689 E Parcel : ... 18 more 11-03 18:41:33.823 2992 3689 E Parcel : Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 11-03 18:41:33.887 20017 20858 E GameTools: GameToolsIntentService : KillMySelf request ignored 11-03 18:41:34.329 19228 19228 E ViewRootImpl: sendUserActionEvent() returned. 11-03 18:41:34.450 2992 3061 E WindowManager: win=Window{9ad7f88 u0 jp.naver.line.android/jp.naver.line.android.urlscheme.service.oauth.OAuthWebLoginServiceActivity EXITING} destroySurfaces: appStopped=false win.mWindowRemovalAllowed=true win.mRemoveOnExit=true win.mViewVisibility=0, caller=com.android.server.wm.AppWindowToken.destroySurfaces:748 com.android.server.wm.AppWindowToken.destroySurfaces:732 com.android.server.wm.WindowState.onExitAnimationDone:5523 com.android.server.wm.WindowStateAnimator.stepAnimationLocked:553 com.android.server.wm.DisplayContent.lambda$-com_android_server_wm_DisplayContent_21292:465 11-03 18:41:41.972 20870 20870 E Zygote : isWhitelistProcess - Process is Whitelisted 11-03 18:41:41.973 20870 20870 E libpersona: scanKnoxPersonas

Package name, signature and channel ID seem to be in place. How can we get more detailed log on why the request was cancelled? Is ClassNotFoundException could be the cause for it, or it's just only about some configuration missing?

I can also provide our channel ID if you need it.

Thank you.

Only supports Unity 2019.3, other new versions 2019.4 (inclusive) and above, cannot be used

Is it a security issue?

If you believe you have discovered a vulnerability or have an issue related to security, please DO NOT open a public issue. Instead, send us a mail to [email protected].

What did you do?

Using the LINE SDK in versions other than Unity 2019.3

What did you expect?

Versions other than Unity 2019.3 use the LINE SDK

What happened actually?

Unable to activate LINE verification function

What happened actually?

I can generate APK normally in versions other than unity 2019.3, but the verification screen cannot be jumped out after executing the program

Your environment?

LINE SDK version 1.1.6
Unity version can only be used in 2019.3, other versions cannot be used
Android version 10
iOS version, etc. 15

Sample project

https://drive.google.com/file/d/1EUZvjr43hU_ryYySo5FVy1l8aD8-_iX1/view?usp=sharing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.