Flutter分支管理和归因分析插件branch_sdk的使用

Flutter 分支管理和归因分析插件 branch_sdk 的使用


branch_sdk

该插件是 Branch SDK 的封装。


特性

  • 基本集成。
  • 安装归因。

注意:该插件目前仍处于 alpha 阶段,与 Branch SDK 的接口交互有限。但插件仍在积极开发中。提供的接口和功能已经可以用于生产环境。


开始使用

pubspec.yaml 文件中添加以下依赖:

dependencies:
  branch_sdk: ^1.0.0-alpha.5

然后运行 flutter pub get

对于 iOS,你需要进入 ios 文件夹并运行 pod install。确保你已安装 cocoapods

导入插件:

import 'package:branch_sdk/branch_sdk.dart';

使用方法

基本集成

根据你的平台选择,按照以下说明设置 Branch SDK。

iOS 设置

如官方文档所述,在 Info.plist 文件中添加以下内容:

<!-- App Key -->
<key>branch_key</key>
<string>key_live_or_test</string>
<!-- Register a URI Scheme -->
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>your_app_scheme</string>
    </array>
  </dict>
</array>

你可以从仪表板获取实时或测试密钥。如果你想同时设置测试和生产密钥,可以在 Info.plist 文件中的 branch_key 添加以下内容:

<key>branch_key</key>
<dict>
  <key>live</key>
  <string>live_key</string>
  <key>test</key>
  <string>test_key</string>
</dict>

要支持通用链接,请遵循这里的说明。

Android 设置

AndroidManifest.xml 文件中的 <application> 标签内添加以下内容:

<meta-data android:name="io.branch.sdk.BranchKey" android:value="key_live_abc" />
<meta-data android:name="io.branch.sdk.BranchKey.test" android:value="key_test_abc" />
<!-- Set to use Live or Test Key -->
<meta-data android:name="io.branch.sdk.TestMode" android:value="true" />

初始化

初始化 Branch SDK 可以通过以下方式完成:

import 'package:branch_sdk/branch_sdk.dart';

BranchSdk.init(debug: true); // 设置 debug 为 true 以使用测试密钥并启用日志记录。注意在 AndroidManifest.xml 中必须将 io.branch.sdk.TestMode 设置为 true 才能使 debug:true 生效。

为了保证此函数的成功执行,请确保你在应用程序的主函数中调用了以下内容:

WidgetsFlutterBinding.ensureInitialized();

验证你的集成可以通过以下方式完成:

import 'package:branch_sdk/branch_sdk.dart';

BranchSdk.init(debug: true);

BranchSdk.validateSDKIntegration(); // 记得在生产环境中删除此行。

其他信息

有关实际示例,请参见包示例部分。


示例代码

import 'dart:io';

import 'package:flutter/material.dart';
import 'dart:async';

import 'package:flutter/services.dart';
import 'package:branch_sdk/branch_sdk.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = 'Unknown';

  [@override](/user/override)
  void initState() {
    super.initState();
    initPlatformState();
    BranchSdk.init(
      debug: true,
      onInit: () {
        BranchSdk.validateSDKIntegration();
      },
    );
  }

  // 平台消息是异步的,所以我们在一个异步方法中进行初始化。
  Future<void> initPlatformState() async {
    String platformVersion;
    // 平台消息可能会失败,因此我们使用 try/catch PlatformException。
    // 我们还处理了消息可能返回 null 的情况。
    try {
      platformVersion = await BranchSdk.platformVersion ?? 'Unknown platform version';
    } on PlatformException {
      platformVersion = 'Failed to get platform version.';
    }

    // 如果小部件在异步平台消息还在飞行时被从树中移除,我们应该丢弃回复而不是调用
    // setState 来更新我们的不存在的外观。
    if (!mounted) return;

    setState(() {
      _platformVersion = platformVersion;
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Branch IO SDK'),
        ),
        body: Center(
          child: Text('Running on: $_platformVersion\n'),
        ),
      ),
    );
  }
}

更多关于Flutter分支管理和归因分析插件branch_sdk的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter分支管理和归因分析插件branch_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter项目中,进行分支管理和使用归因分析插件(如branch_sdk)可以帮助你有效地跟踪用户来源和进行版本控制。下面是一个关于如何在Flutter项目中集成和使用branch_sdk的示例代码案例,以及一些基本的分支管理实践。

1. 分支管理实践

在Flutter项目中,使用Git进行版本控制是一个最佳实践。以下是如何创建和管理Git分支的基本步骤:

  • 创建主分支(通常名为mainmaster):

    git init
    # 或者克隆一个远程仓库
    git clone <repository-url>
    
  • 创建并切换到新分支

    git checkout -b feature/new-feature
    
  • 在分支上开发功能: 进行你的Flutter开发。

  • 提交更改

    git add .
    git commit -m "描述你的更改"
    
  • 推送分支到远程仓库

    git push origin feature/new-feature
    
  • 合并分支(例如,将功能分支合并到主分支):

    # 切换到主分支
    git checkout main
    # 合并功能分支
    git merge feature/new-feature
    # 删除功能分支(可选)
    git branch -d feature/new-feature
    # 推送更改到远程仓库
    git push origin main
    

2. 集成和使用branch_sdk

branch_sdk是一个强大的插件,用于归因分析和深度链接。以下是如何在Flutter项目中集成和使用它的步骤:

a. 添加依赖

在你的pubspec.yaml文件中添加branch_sdk依赖:

dependencies:
  flutter:
    sdk: flutter
  branch_sdk: ^<latest-version>  # 替换为最新版本号

然后运行flutter pub get来安装依赖。

b. 配置Branch SDK

在你的main.dart文件或适当的初始化位置,配置Branch SDK:

import 'package:flutter/material.dart';
import 'package:branch_sdk/branch_sdk.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // 初始化Branch SDK
  await Branch.initSession(
    branchKey: 'your-branch-key', // 替换为你的Branch Key
    uriPrefix: '/prefix', // 可选,用于深度链接的URI前缀
  ).then((BranchUniversalObject _branchUniversalObject,
      List<BranchLinkProperties> _list) {
    // 处理初始化后的逻辑,如深度链接数据
    print('Branch initialized with data: $_branchUniversalObject, $_list');
  }).catchError((e) {
    print('Branch initialization failed: $e');
  });

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Branch SDK Example'),
        ),
        body: Center(
          child: Text('Check console for Branch SDK initialization status'),
        ),
      ),
    );
  }
}

c. 使用Branch SDK进行深度链接和归因分析

你可以使用Branch SDK创建和分享链接,以及处理打开链接时的数据。例如:

void _createAndShareLink() async {
  // 创建BranchUniversalObject
  BranchUniversalObject branchUniversalObject = BranchUniversalObject(
    canonicalIdentifier: 'content/123',
    title: 'Example Content',
    contentDescription: 'This is an example content',
    imageUrl: 'https://example.com/image.jpg',
  );

  // 创建BranchLinkProperties
  BranchLinkProperties branchLinkProperties = BranchLinkProperties()
    ..feature = 'sharing'
    ..channel = 'email';

  // 生成短链接
  String shortUrl = await branchUniversalObject.generateShortUrl(
    linkProperties: branchLinkProperties,
  );

  // 打印或分享短链接
  print('Generated short URL: $shortUrl');
  // 你可以使用URL Launcher插件或其他方法分享这个URL
}

总结

通过上述步骤,你可以在Flutter项目中有效地管理Git分支,并集成branch_sdk进行归因分析和深度链接。记得替换示例代码中的占位符(如your-branch-key)为你的实际值。这样,你就可以开始利用Branch SDK的强大功能来跟踪用户来源和优化你的应用推广策略了。

回到顶部