nativescript-facebook-account-kit
NativeScript 的 Facebook 账户工具插件。
npm i --save nativescript-facebook-account-kit

NativeScript 的 Facebook 账户工具插件(非官方)

此插件是围绕 Native 的 Facebook 账户工具的 iOS 和 Android 插件在 {N} 中的包装器。

参考 Facebook 的 文档 以了解账户工具的工作原理以及在 Facebook 开发者门户上如何设置。

安装

tns plugin add nativescript-facebook-account-kit

iOS

iOS 上,将以下内容添加到位于 /app/App_Resources/iOS 下的 Info.plist 文件中,该文件位于 <dict /> 内部。

    <key>FacebookAppID</key>
<string><!--Your app id from developer portal--></string>
<key>AccountKitClientToken</key>
<string><!--Client token from dev portal--></string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>ak<!--Your app id from developer portal--></string>
</array>
</dict>
</array>

Android

Android 上,将以下内容添加到 AndroidManifest.xml 中的 <application> 标签内。

	<meta-data android:name="com.facebook.accountkit.ApplicationName"
android:value="@string/app_name" />

<meta-data android:name="com.facebook.sdk.ApplicationId"
android:value="@string/FACEBOOK_APP_ID" />

<meta-data android:name="com.facebook.accountkit.ClientToken"
android:value="@string/ACCOUNT_KIT_CLIENT_TOKEN" />


<activity android:name="com.facebook.accountkit.ui.AccountKitActivity" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="ak<Your Facebook app id>" />
</intent-filter>
</activity>

将以下内容添加到位于 app/App_Resources/Android/src/main/res/values/strings.xml 下的 strings.xml 文件中。

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<string name="app_name">Your App Name </string>
<string name="title_activity_kimera">Your App name</string>
<string name="FACEBOOK_APP_ID">FACEBOOK_APP_ID</string>
<string name="ACCOUNT_KIT_CLIENT_TOKEN">ACCOUNT_KIT_CLIENT_TOKEM</string>
</resources>

账户工具和 Google Play 服务版本

插件将默认使用 Android 的 play-services-auth SDK 和 account-kit-sdk SDK 的此版本。如果您需要更改版本(例如,到最新版本),您可以在 app/App_Resources/Android/app.gradle 中添加项目扩展属性 googlePlayServicesVersionaccountKitVersion

project.ext {
googlePlayServicesVersion = "+"
accountKitVersion = "+"
}

用法

使用您所需的响应类型初始化插件,可以是 AuthorizationCodeAccessToken

import { FacebookAccountKit, AccountKitResponseType } from 'nativescript-facebook-account-kit';
const facebookAccountKit = new FacebookAccountKit(AccountKitResponseType.AuthorizationCode);
import { Color } from "tns-core-modules/color";

const options : AccountKitOptions = {
prefillPhoneNumber : "9XXXX12345",
prefillCountryCode : "91",
defaultCountryCode : "IN",
whitelistedCountryCodes : ["IN"],
blacklistedCountryCodes : [],
enableGetACall : true,
presentAnimated : false,
enableSendToFacebook : true,
primaryColor : new Color("orange")
};
this.facebookAccountKit.loginWithPhoneNumber(options).then(authCode => {
this.authCode = authCode;
console.log(authCode);
}, error => {
this.authCode = error.message;
console.error(error);
});

API

方法 描述 返回类型
loginWithPhoneNumber 使用带有许多选项的账户工具登录流程。 一个解析为授权代码或访问令牌的承诺。
loginWithEmail 使用账户工具电子邮件流程。 一个解析为授权代码或访问令牌的承诺。

许可证

Apache 许可证版本 2.0,2004 年 1 月