flash_data_finder 0.0.8 icon indicating copy to clipboard operation
flash_data_finder: ^0.0.8 copied to clipboard

bytedance DataFinder flutter plugin Support Android and iOS Platform

作者gaoyong
创建时间2020-11-30 12:56:02

data_finder #

字节跳动数据漫游者的基础分析产品数据发现者DataFinder的Flutter插件

介绍 #

data_finder是一个flutter plugin,为满足在使用flutter开发的App上使用字节跳动提供的数据漫游者的基础分析产品数据发现者DataFinder而开发的一个flutter plugin,目前支持Android, iOS两个平台

主要功能 #

  • 设备注册/激活
    • 初始化dataFinder
    • 用户登录后设置登录用户uuid
  • 手动上报用户行为日志
    • 上报行为埋点

安装 #

  • 在项目的pubspec.yaml中在增加下面配置:data_finder: ^0.0.7
  • 然后在项目根目录(pubspec.yaml 所在的目录)执行命令:flutter pub get

使用方法 #

  • 设备注册/激活
  
  //初始化SDK
  //备注:204291为申请的appId
  DataFinder.start("204291", channel: "App Store", showLog: true)

  //登录态变化调用(设置uuid)
  //备注:sf180为系统自身的uid
  DataFinder.setUserUniqueID("sf180")

  • 手动上报用户行为日志
  
   DataFinder.onEventV3("event_name", params: {
      "params1": "value1",
      "params2": "value2",
   }

初始化dataFinder

方法名称: DataFinder.start

参数说明:

参数名称说明类型默认值
appId在dataFinder后台申请的appId(应用列表中的应用ID)String-
channel渠道名称,iOS一般默认App StoreStringapp
showLog是否在控制台输出日志,可用于观察用户行为日志上报情况boolfalse

示例:

  //初始化SDK
  //备注:204291为申请的appId
  DataFinder.start("204291", channel: "App Store", showLog: true)

用户登录后设置登录用户uuid

方法名称: DataFinder.setUserUniqueID

参数说明:

参数名称说明类型默认值
userUniqueID自己的账号体系ID, 并保证其唯一性String-

示例:

  //登录态变化调用(设置uuid)
  //备注:sf180为系统自身的uid
  DataFinder.setUserUniqueID("sf180")

上报行为埋点

方法名称: DataFinder.onEventV3

参数说明:

参数名称说明类型默认值
event事件名称String-
params事件属性,一个事件可以对应多个属性Map

示例:

  DataFinder.onEventV3("event_name", params: {
      "params1": "value1",
      "params2": "value2",
   }

示例程序

iOS平台配置 #

  • 修改Podfile文件

    在/Users/gaoyong/Documents/work/data_finder/example/ios/Podfile 文件中增加:

    source 'https://github.com/bytedance/cocoapods_sdk_source_repo.git'
    

    因为RangersAppLog5.6.3 现在(2020/12/08)还有bug,这里强制使用5.6.1

    pod 'RangersAppLog','5.6.1'
    
    pre_install do |installer|
      # workaround for https://github.com/CocoaPods/CocoaPods/issues/3289
      Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
    end
    

    示例程序

  • 执行pod install --repo-update

    在/Users/gaoyong/Documents/work/data_finder/example/ 目录下执行

    pod install --repo-update
    

Android平台配置 #

  • 无需配置

配置的其他问题 #

  • 理论上按上面的配置就可以正常工作了,如果出现其他问题可能会因为版本或者环境问题导致,可先阅读一下DataFinder的提供的应用接入文档

  • 因为现在没有涉及URL Scheme,所以上面没有配置,如果有需要参考接入文档,iOS添加URL SchemeAndroid添加url scheme

  • 如果在接入过程中遇到其他问题欢迎大家提交issue,或者pr

执行示例程序 #

如果希望执行一下该项目的示例程序的话看看效果的话,clone 或者 fork 该项目到本地硬盘后,cd 到 ../data_finder/example 目录下后,如果想看一下Android的效果,则cd至android 目录(../data_finder/example/android)执行 flutter run, 如果想看一下iOS的效果,用xcode 打开../data_finder/example/ios/Runner.xcworkspace, 编译执行即可

在ios上测试使用的命令 #

  • flutter build ios --no-codesign
  • flutter run

开发过程中遇到的问题及处理办法 #

  • [!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target Runner to Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig or include the Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig in your build configuration (Flutter/Release.xcconfig).

    处理办法:参考文档

  • [!] The 'Pods-Runner' target has transitive dependencies that include statically linked binaries: (RangersAppLog)

    处理办法:修改/Users/gaoyong/Documents/work/data_finder/example/ios/Podfile 注释掉 use_frameworks! 将use_frameworks! 修改为 #use_frameworks!

  • [!] Automatically assigning platform iOS with version 9.0 on target Runner because no platform was specified. Please specify a platform for this target in your Podfile. See https://guides.cocoapods.org/syntax/podfile.html#platform.

    处理办法:修改/Users/gaoyong/Documents/work/data_finder/example/ios/Podfile 打开注释 # platform :ios, '9.0' 将# platform :ios, '9.0' 修改为 platform :ios, '9.0'

  • Command PhaseScriptExecution failed with a nonzero exit code

    处理办法:Runner project > Info > Configurations 设置错误,正确的设置方法,参考这个设置和验证方式

  • Flutter/Debug.xcconfig:2: could not find included file 'Generated.xcconfig' in search paths

    处理办法:https://stackoverflow.com/questions/54321180/error-could-not-find-included-file-generated-xcconfig-in-search-paths-in-tar 另:如果没有设置签名,则执行 flutter build ios --no-codesign

备注 #

- *上面文档中提到的目录/Users/gaoyong/Documents/work/data_finder/example 仅为示例,实际场景应该是开发者自己的项目根目录(即含有pubspec.yaml文件的目录)*  
0
likes
110
pub points
0%
popularity

Publisher

unverified uploader

bytedance DataFinder flutter plugin Support Android and iOS Platform

Repository (GitHub)

Documentation

API reference

License

Icon for licenses.MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on flash_data_finder