javascript - 如何在相应操作系统上的 Nativescript 中集成平台依赖的 SDK

标签 javascript ios paypal nativescript braintree

我想尝试将 Braintree SDK 集成到现有的 NativeScript 移动应用程序中。由于 SDK 仅适用于其原生平台,因此我考虑使用 NS-Marshalling 在相应的操作系统上执行平台相关的 SDK。

因为我很确定它不会那么容易,所以我考虑了两种可能性: 实现依赖于相应语言(例如 iOS - Objective-C/Swift)的模块平台,就像在 Braintree 方面(https://developers.braintreepayments.com/start/hello-client/ios/v3)提到的那样,并从 NativeScript 中集成它们的平台依赖(我把它想象成一个模块,我说使用这个列表对象,我收到“支付成功”或“支付失败”的响应)。 OS-Dependend 模块将完成剩下的工作(评估、SDK 交互等)。

另一种方法是将每一段代码编码到 JS 模块中并执行依赖于 JS 模块的平台。我缺少的只是集成模块的可能性,因为我不知道应该如何通过 JavaScript 导入和访问“-Library(我什至认为这是不可能的)。

您如何看待这种方法?是否有可能以一种或另一种方式做到这一点?

最佳答案

您可以在 NativeScript 中使用原生库(例如 CocoaPodsdynamic and static libraries for iOS*.aar and *.jar for Android)并通过 JavaScript/TypeScript 访问它们。在我看来,最好的方法是创建一个 NativeScript plugin并使用数据转换 (marshalling for iOS) 通过 JavaScript/TypeScript 公开所需的功能 (和 here the respective article for Android)

根据 Android 的推荐,您也可以 add dependencies to a library through the gradle file

关于javascript - 如何在相应操作系统上的 Nativescript 中集成平台依赖的 SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45633405/

相关文章:

javascript - 不同时区不同设备上的 Unix 时间

Javascript 隐藏 div(是 :empty) issue

ios - Facebook 图形 API 浏览器 : get friends of friends

iphone - 从 MySQL 或其他数据库存储和检索数据

php - PayPal IPN 的自动销售税?

javascript - vue-tables-2 中未考虑自定义模板

javascript - 使用 .dropdown() 实现错误下拉菜单 - $ 不是函数

ios - 如何在模拟器上检测iPhone 6(6 Plus)

PayPal Payments Pro - 英国客户的沙盒 API

php - 为什么 PayPal 间歇性地给出 SSL 错误?