{"id":28491476,"url":"https://github.com/line/line-sdk-android","last_synced_at":"2025-07-04T23:30:53.029Z","repository":{"id":33482669,"uuid":"154099498","full_name":"line/line-sdk-android","owner":"line","description":"LINE SDK for Android lets you integrate LINE into your Android app to create a more engaging experience for your users.","archived":false,"fork":false,"pushed_at":"2025-05-08T05:25:02.000Z","size":997,"stargazers_count":142,"open_issues_count":20,"forks_count":47,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-06-08T08:07:26.485Z","etag":null,"topics":["line","line-login","line-sdk"],"latest_commit_sha":null,"homepage":"https://developers.line.biz/en/docs/android-sdk/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/line.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-10-22T06:57:34.000Z","updated_at":"2025-06-07T10:51:41.000Z","dependencies_parsed_at":"2023-01-15T01:15:18.777Z","dependency_job_id":"7699bf4a-f138-41ca-96ce-b6369886c6b2","html_url":"https://github.com/line/line-sdk-android","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/line/line-sdk-android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/line%2Fline-sdk-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/line%2Fline-sdk-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/line%2Fline-sdk-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/line%2Fline-sdk-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/line","download_url":"https://codeload.github.com/line/line-sdk-android/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/line%2Fline-sdk-android/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263635514,"owners_count":23492211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["line","line-login","line-sdk"],"created_at":"2025-06-08T08:07:27.071Z","updated_at":"2025-07-04T23:30:53.019Z","avatar_url":"https://github.com/line.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"sdklogo.png\" width=\"355\" height=\"97\"\u003e\n\n[![Maven Central](https://img.shields.io/maven-central/v/com.linecorp.linesdk/linesdk.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.linecorp.linesdk%22%20AND%20a:%22linesdk%22)\n\n# Overview #\nThe LINE SDK for Android provides a modern way of implementing LINE APIs. The features included in this SDK will help you develop an Android app with engaging and personalized user experience.\n\n# Features #\nThe LINE SDK for Android provides the following features.\n\n### User authentication ##\nThis feature allows users to log in to your service with their LINE accounts. With the help of the LINE SDK for Android, 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 Android devices. This offers a great way for users to get started with your app without having to go through a registration process.\n\n### Utilizing user data with OpenID support ###\nOnce the user is authorized, you can get the user’s LINE profile. You can utilize the user's information registered in LINE without building your user system.\n\nThe 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.\n\n# Setup #\n### Pre-request\nCreate your own LINE Channel and follow the instructions [here](https://developers.line.biz/en/docs/android-sdk/integrate-line-login/) to link your app to your channel.\n\n#### Package signatures\n\nPackage signatures are crucial for enhancing authentication interactions between your app and the LINE app. This field is optional; however, you can configure it by referring to the [Set Package Signatures section](https://developers.line.biz/en/docs/line-login-sdks/android-sdk/integrate-line-login/#set-package-signatures) on the [LINE Developers site](https://developers.line.biz).\n\n### Gradle\n\nAdd mavenCentral to your repositories if it's not added yet.\n\n```gradle\nrepositories {\n    ...\n\tmavenCentral()\n}\n```\n\nImport line-sdk dependency\n\n```\ndependencies {\n    implementation 'com.linecorp.linesdk:linesdk:$linesdk_version'\n    ...\n}\n\n```\n\n\n# Quickstart\n\nA pre-defined LINE login button is provided. You can add it to the user interface of your app to provide your users with a quick way to log in as below\n\n### Add login buton to layout xml\n\n\n```xml\n\u003ccom.linecorp.linesdk.widget.LoginButton\n    android:id=\"@+id/line_login_btn\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\" /\u003e\n```\n\n### Use it in code\n```java\nLoginButton loginButton = rootView.findViewById(R.id.line_login_btn);\n\n// if the button is inside a Fragment, this function should be called.\nloginButton.setFragment(this); \n\n// replace the string to your own channel id.\nloginButton.setChannelId(\"the channel id you created\");\n\n// configure whether login process should be done by LINE App, or by WebView.\nloginButton.enableLineAppAuthentication(true);\n\n// set up required scopes. \nloginButton.setAuthenticationParams(new LineAuthenticationParams.Builder()\n        .scopes(Arrays.asList(Scope.PROFILE))\n        .build()\n);\n\n// A delegate for delegating the login result to the internal login handler. \nprivate LoginDelegate loginDelegate = LoginDelegate.Factory.create();\nloginButton.setLoginDelegate(loginDelegate);\n\nloginButton.addLoginListener(new LoginListener() {\n    @Override\n    public void onLoginSuccess(@NonNull LineLoginResult result) {\n        Toast.makeText(getContext(), \"Login success\", Toast.LENGTH_SHORT).show();\n    }\n\n    @Override\n    public void onLoginFailure(@Nullable LineLoginResult result) {\n        Toast.makeText(getContext(), \"Login failure\", Toast.LENGTH_SHORT).show();\n    }\n});\n\n```\n\n### Handle errors due to incorrect package signatures\n\nIn the `onLoginFailure` callback, `result.responseCode` will be `AUTHENTICATION_AGENT_ERROR` if the package signatures configured in the LINE Channel are incorrect.\n\nTo resolve this issue, you can either clear the package signatures field or configure it with the correct package signatures.\n\nFor more information, refer to the [LINE SDK for Android guide](https://developers.line.biz/en/docs/android-sdk/) on the [LINE Developers site](https://developers.line.biz).\n\n\n# Try the starter app\nTo have a quick look at the features of the LINE SDK, try our starter app by following the steps below:\n\n1. Clone the repository.\n\n    ```git clone https://github.com/line/line-sdk-android.git```\n\n1. Build the starter app.\n\n    `./gradlew app:assembleDebug`\n\nThe starter app apk file will be built as `app/build/outputs/apk/debug/app-debug.apk`.\n\n# Contributing\n\nIf 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 [dl_oss_dev@linecorp.com](mailto:dl_oss_dev@linecorp.com).\n\nFor contributing to this project, please see [CONTRIBUTING.md](https://github.com/line/line-sdk-android/blob/master/CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fline%2Fline-sdk-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fline%2Fline-sdk-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fline%2Fline-sdk-android/lists"}