nativescript-snapkit
SnapKit 登录
npm i --save nativescript-snapkit

NativeScript Snap Kit 插件

NPM version Twitter Follow

Snap Kit logo

什么!?

很高兴你问了。这个仓库实现了一个 NativeScript 插件,用于 Snapchat 的 Snap Kit SDK。在其第一版中,此插件仅公开了 '登录' 功能,称为 登录套件。请随意提出其他功能的 issue(Snap Kit SDK 的其他部分包括:创意套件、Bitmoji 套件和故事套件)。

安装

tns plugin add nativescript-snapkit

配置

前往 Snap Kit 开发者门户 并创建一个应用程序。

Android

设置 iOS 的文档 在此处 可用,但大部分已经由插件处理。您需要

  • 打开 App_Resources/AndroidManifest.xml 并添加 com.snapchat.kit.sdk.clientId 如下所示
  • 同时,也要添加 com.snapchat.kit.sdk.redirectUrl 如下所示
  • 最后,添加 com.snapchat.kit.sdk.SnapKitActivity 如下所示(确保调整 android:scheme!)。

iOS

设置 iOS 的文档 在此处 可用,但大部分已经由插件处理。您需要

iOS 启动连接

在 iOS 上使用登录套件的功能时,您需要在 require(而不是 import)插件 之前对 应用进行引导

不这样做将意味着 Snapchat 在登录后将不会重定向回您的应用程序。

演示应用程序

如果您想测试使用自己的 Snapchat 登录,那么 演示应用程序 是一个很好的起点。然而,它只允许使用用户 eddyverbruggen 登录,因此您需要根据上述说明更新其配置。

按照以下步骤安装演示应用程序

git clone https://github.com/EddyVerbruggen/nativescript-snapkit
cd nativescript-snapkit/src
npm i
# change the configuration, then:
npm run demo.ios # or demo.android

API(登录套件)

登录

login 函数接受一个 boolean 参数(默认 false),表示您是否希望插件检索 用户详情

import { LoginKit } from "nativescript-snapkit";

LoginKit.login(true)
.then(result => console.log(`Login successful, details: ${JSON.stringify(result)}`))
.catch(error => console.log(`Login failed. Details: ${error}`));

isLoggedIn

该函数接受与 login 相同的 boolean 参数(默认值为 false)。如果为 false,则此函数将返回一个 boolean。否则,如果用户确实已登录,则将返回 用户详情,否则如果未登录,则返回 false

import { LoginKit } from "nativescript-snapkit";

// use it either like this (no parameter, or 'false')
LoginKit.isLoggedIn()
.then(loggedIn => console.log(`User was logged in? ${loggedIn}`));

// or use it like this, to get the details (in case the user was indeed logged in)
LoginKit.isLoggedIn(true)
.then(result => {
if (!result) {
console.log(`User was not logged in.`);
} else {
console.log(`User was logged in. User details: ${JSON.stringify(result)}`)
}
});

登出

import { LoginKit } from "nativescript-snapkit";

LoginKit.logout()
.then(() => console.log("Logged out"));