更新记录

1.0.3(2026-11-13)

  • 初始化增加 features,可关掉登录、分享或手动事件。关掉后再调返回 95112
  • iOS 初始化补了 initializeSDK。事件结果增加 attStatus
  • Info.plist 增加 Facebook 的 SKAdNetwork ID

平台兼容性

uni-app(4.27)

Vue2 Vue3 Vue3插件版本 Chrome Safari app-vue app-nvue Android Android插件版本 iOS iOS插件版本 鸿蒙
- √ 1.0.3 - - - - 5.0 1.0.3 13 1.0.3 -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(4.27)

Chrome Safari Android Android插件版本 iOS iOS插件版本 鸿蒙 微信小程序
× × 5.0 1.0.3 13 1.0.3 × ×

fz-facebook

1.0.3

登录、分享、App Events。仅 App。不展示广告。广告 ID 和自动事件默认关。

Android com.facebook.android:facebook-login:18.3.0。iOS FBSDKCoreKit / FBSDKLoginKit / FBSDKShareKit 18.0.3。

拷到 uni_modules 后打自定义基座。改 App ID、scheme 或原生代码要重打。不要写 App Secret。

环境

项 要求
HBuilderX 4.27+
工程 uni-app Vue3、uni-app x 的 App
Android minSdk 21
iOS 13.0+

配置

页面里的 App ID 要和下面两处相同。还是 YOUR_APP_ID 时初始化失败。

utssdk/app-android/res/values/strings.xml

字段 示例
facebook_app_id 123456789012345
fb_login_protocol_scheme fb123456789012345

utssdk/app-ios/Info.plist

字段 示例
FacebookAppID 123456789012345
CFBundleURLSchemes fb123456789012345

Android 包名 com.example.fzunitestapp,主 Activity io.dcloud.PandoraEntry。Bundle ID、包名、Key Hash 填到 Meta 后台。

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android | openssl sha1 -binary | openssl base64

自定义基座换了签名,用那把证书再算一次。

用法

import {
  initFacebook,
  loginFacebook,
  logFacebookEvent,
  logFacebookPurchase,
  shareFacebook,
  setFacebookAdvertiserTracking
} from '@/uni_modules/fz-facebook'

await initFacebook({
  appId: '123456789012345',
  clientToken: '客户端 token',
  displayName: 'fz-uni-test-app',
  features: { login: true, share: false, appEvents: true },
  autoLogAppEvents: false,
  advertiserIdCollection: false
})

const session = await loginFacebook({ permissions: 'public_profile,email' })

await logFacebookEvent({
  name: 'fb_mobile_complete_registration',
  valueToSum: null,
  paramsJson: '{"fb_registration_method":"facebook"}'
})

await logFacebookPurchase({
  amount: '9.99',
  currency: 'USD',
  paramsJson: '{"fb_content_id":"sku_demo"}'
})

await shareFacebook({
  contentType: 'link',
  url: 'https://developers.facebook.com',
  quote: '',
  hashtag: '',
  imagePath: null,
  mode: 'automatic'
})

await setFacebookAdvertiserTracking(true)

示例页 pages/facebook/facebook。各方法的参数在 utssdk/index.d.ts。

标准事件:fb_mobile_complete_registration、fb_mobile_content_view、fb_mobile_add_to_cart、fb_mobile_add_to_wishlist、fb_mobile_initiated_checkout、fb_mobile_search。购买用 logFacebookPurchase。

错误码

码 含义
95101 App ID、Client Token、权限或用户 ID 不合法
95102 未初始化,或 App ID / scheme 还是占位符、与页面不一致
95103 没有前台页面
95104 上一次登录或分享还没结束
95105 用户取消登录
95106 登录失败
95107 非 App 端
95108 SDK 或原生调用失败
95109 事件名、参数、金额或币种不合法
95110 用户取消分享
95111 分享框打不开,或图片、链接无效
95112 这项能力在 initFacebook 里被关掉了

失败 reject,errSubject 为 fz-facebook。

自定义基座 + 真机。登录能回到 App,说明 scheme、包名、Key Hash 是对的。事件到 Events Manager 里看。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

Android 使用 INTERNET 与 AD_ID。iOS 在请求广告跟踪时使用 NSUserTrackingUsageDescription。登录回调需要 fb{AppID} URL Scheme。

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

登录只返回用户同意授权的资料和 token。分享把用户选中的链接或图片交给 Facebook 分享框。事件在宿主调用 logFacebookEvent 或 logFacebookPurchase 后发往 Meta。默认不采集广告 ID,只有 setFacebookAdvertiserTracking(true) 且用户同意后才采集。不读通讯录。不要把 App Secret 放进客户端。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

不展示开屏、插屏或横幅。宿主调用后,通过 Meta App Events 记录事件,用于衡量广告效果。

暂无用户评论。