@coinflowlabs/ react-native-frainition - 欺诈
为React Industrial提供联合流量欺诈保护. 在Coinflow的原生iOS和Android欺诈之上的一通小桥 SDKs会返回一个单不透明的头来附加到Coinflow API的呼叫上.
安装
npm install @coinflowlabs/react-native-fraud
使用量
将您的应用根包成保护靴:
import {CoinflowProtectionProvider} from '@coinflowlabs/react-native-fraud';
export default function App() {
return (
<CoinflowProtectionProvider merchantId={merchantId} env="prod"> {/* 'prod' | 'sandbox' */}
<RootNavigator />
</CoinflowProtectionProvider>
);
}
负责时间, 附加单不透明标题 :
import {useCoinflowFraudHeaders} from '@coinflowlabs/react-native-fraud';
const getFraudHeaders = useCoinflowFraudHeaders();
const res = await fetch(chargeUrl, {headers: {...(await getFraudHeaders()), ...auth}});
// => {'x-device-id': '<opaque value>'}
或绝对通过 CoinflowFraud.initialize({merchantId, env}) 财务报告和审定财务报表
CoinflowFraud.getPurchaseHeaders()。 。 。 .
变化 merchantId 或者说 env 打开 CoinflowProtectionProvider 用新配置重新初始化 .
当您必须拨打 API 时, 请切换配置
CoinflowFraud.initialize({merchantId, env, force: true})。带有不同配置的非强制呼叫
被忽略.
也没打过电话 当本地模块没有链接时( Expo Go, web), getPurchaseHeaders()
返回时 {}。 。 。 .
本地设置
软件包自动链接一个将本地 SDKs 包裹的本地模块: CoinflowFraud iOS上显示
cash.coinflow:coinflow-fraud 安卓号.
- 展览 : 添加
"@coinflowlabs/react-native-fraud"改为plugins在您的应用程序配置。 插件 进行这些修改:- 它指向你的Podfile 在iOS SDK, 它不在可可Pods的后车厢.
- 它将会话提供商的舱载到iOS 15.1, 因为他们声明14. 0, 而目前是14 Xcode拒绝.
- 在Android上,它将信号SDKs的"马文回放"添加到你的应用程序上
android/build.gradle。 。 。 .npx expo run:android需要这一点,因为它与--configure-on-demand。 。 。 .
- 裸体反应原生( iOS) : 将此行添加到您的 Podfile 目标 :
然后在您的顶部添加这个pod 'CoinflowFraud', :git => 'https://github.com/coinflow-labs-us/coinflow-swift-fraud.git', :tag => 'v0.2.1'post_install do |installer|块 :
iOS构建需要Xcode 26或更后.installer.pods_project.targets.each do |target| target.build_configurations.each do |build_config| next unless build_config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 15.1 build_config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.1' end end - 机器人: 通常没有配置, 因为模块添加了信号 SDKs 的 Maven repos
自己来 将存储器集中到
settings.gradle结束dependencyResolutionManagement { repositoriesMode … }这是例外。 与FAIL_ON_PROJECT_REPOS建造失败,并且PREFER_SETTINGS复数被忽略 。 这些 应用程序添加 Coinflow 的cash.coinflow.fraud.repositories设置插件到已有的pluginManagement财务报告和审定财务报表plugins块android/settings.gradle它添加了设置中的重置器, ,然后模块宣布没有自己的寄存器,所以两种模式都正在构建。 插件在马文上 中央,这样pluginManagement必须列出mavenCentral()数字 :pluginManagement { repositories { gradlePluginPortal() mavenCentral() } } plugins { id("cash.coinflow.fraud.repositories") version "0.1.1" }
示例应用程序
example/ 是将根包入 CoinflowProtectionProvider 并附上
x-device-id 请求头。 它从npm安装此软件包.
cd example
cp example.env .env
npm install
npx expo run:ios # or: npx expo run:android
版式
src/是JS API,一个失败打开的包装器 围绕本地模块.ios/是斯威夫特桥到CoinflowFraud舱 (lib/swift-fraud) (中文(简体) ).android/是科特林桥cash.coinflow:coinflow-fraud(单位:千美元)lib/android-fraud) (中文(简体) ).app.plugin.js是 Expo 配置插件。 在Coinflow单列跑道内,测试台通过{"localSdkRoot": "../../.."}通过它,iOS从lib/swift-fraud和 Android 数据 解决 SDK 从mavenLocal()因此,第一次运行./gradlew publishToMavenLocal内lib/android-fraud。 。 。 .