Flutter联盟营销插件insert_affiliate_flutter_sdk的使用
Flutter联盟营销插件insert_affiliate_flutter_sdk的使用
插件概述
Insert Affiliate Flutter SDK 是为Flutter应用程序设计的,旨在与 Insert Affiliate平台 轻松集成。该插件简化了iOS应用中带有应用内购买(In-App Purchases)的联盟营销,使开发者能够为联盟跟踪和货币化创建无缝的用户体验。
功能特性
- 唯一设备ID: 创建一个唯一ID以匿名方式将购买与用户关联起来进行跟踪。
- 联盟标识符管理: 基于用户特定链接设置和检索联盟标识符。
- 应用内购买初始化: 简单地重新初始化应用内购买,并可以选择使用联盟标识符进行验证。
开始使用
要开始使用 Insert Affiliate Flutter SDK,请遵循以下步骤:
安装
在项目的 pubspec.yaml
文件中添加以下依赖项:
dependencies:
flutter:
sdk: flutter
insert_affiliate_flutter_sdk: <最新版本>
shared_preferences: <最新版本>
http: <最新版本>
然后在终端运行以下命令以获取所需的包:
$ flutter pub get
基本用法
导入SDK
在主Dart文件中导入SDK:
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:insert_affiliate_flutter_sdk/insert_affiliate_flutter_sdk.dart';
在Main.dart中初始化
确保在应用程序生命周期的早期初始化 Insert Affiliate Flutter SDK,通常是在 Main.dart
文件中完成。
import 'package:insert_affiliate_flutter_sdk/insert_affiliate_flutter_sdk.dart';
late final InsertAffiliateFlutterSDK insertAffiliateSdk;
void main() async {
// 确保Flutter已初始化后再运行异步代码
WidgetsFlutterBinding.ensureInitialized();
// 重要:您的深度链接平台(例如Branch.io)以及收据验证平台(如果使用第三方平台如RevenueCat/Iaptic),必须在Insert Affiliate SDK之前初始化。
// 初始化Insert Affiliate SDK
insertAffiliateSdk = InsertAffiliateFlutterSDK(
companyCode: "{{ your_company_code }}",
);
runApp(MyApp());
}
- 将
{{ your_company_code }}
替换为您Insert Affiliate账户关联的唯一公司代码。您可以在仪表板的设置中找到此代码。
应用内购买设置 [必需]
Insert Affiliate需要一个收据验证平台来验证应用内购买。您必须选择我们的支持合作伙伴之一:
选项1:RevenueCat集成
代码设置
- 安装RevenueCat SDK - 首先,按照RevenueCat SDK安装指南设置应用内购买和订阅。
- 修改初始化代码 - 更新您初始化深度链接(例如Branch.io)和RevenueCat的文件,包含对
insertAffiliateSdk.returnInsertAffiliateIdentifier()
的调用。这确保每次应用启动或深度链接点击时都会传递Insert Affiliate标识符到RevenueCat。 - 实现示例
import 'dart:async';
import 'package:purchases_flutter/purchases_flutter.dart';
import 'package:insert_affiliate_flutter_sdk/insert_affiliate_flutter_sdk.dart';
class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
_initializeAsyncDependencies();
}
Future<void> _initializeAsyncDependencies() async {
// 第一步:初始化RevenueCat
await _initializeRevenueCat();
// 第二步:处理初始联盟标识符
handleAffiliateIdentifier();
// 第三步:监听深度链接(以Branch.io为例)
_branchStreamSubscription = FlutterBranchSdk.listSession().listen((data) {
if (data.containsKey("+clicked_branch_link") && data["+clicked_branch_link"] == true) {
final referringLink = data["~referring_link"];
insertAffiliateSdk.setInsertAffiliateIdentifier(referringLink);
// 处理深度链接点击后的联盟标识符
handleAffiliateIdentifier();
}
}, onError: (error) {
print('listSession error: ${error.toString()}');
});
}
void handleAffiliateIdentifier() {
insertAffiliateSdk.returnInsertAffiliateIdentifier().then((value) {
if (value != null && value.isNotEmpty) {
Purchases.logIn(value); // 使用联盟ID登录到RevenueCat
}
});
}
}
Webhook设置
接下来,您需要设置一个Webhook,以便我们可以直接与RevenueCat通信以跟踪联盟购买。
-
转到RevenueCat并创建一个新的Webhook:
- URL:
https://api.insertaffiliate.com/v1/api/revenuecat-webhook
- 授权头: 使用您Insert Affiliate仪表板中的值(您将在步骤4中获取此值)
- URL:
-
- 导航到验证设置
- 将应用内购买验证方法设置为
RevenueCat
-
返回您的Insert Affiliate仪表板:
- 查找
RevenueCat Webhook Authentication Header
值 - 复制此值
- 将其作为授权头值粘贴到RevenueCat Webhook配置中
- 查找
选项2:Iaptic集成
首先,完成AIP购买Flutter库的设置。然后修改您的 main.dart
文件:
import 'package:in_app_purchase/in_app_purchase.dart';
import 'package:insert_affiliate_flutter_sdk/insert_affiliate_flutter_sdk.dart';
late final InsertAffiliateFlutterSDK insertAffiliateSdk;
class _MyAppState extends State<MyApp> {
final InAppPurchase _iap = InAppPurchase.instance;
@override
void initState() {
super.initState();
_purchaseStream.listen((List<PurchaseDetails> purchaseDetailsList) {
_listenToPurchaseUpdated(purchaseDetailsList);
});
}
void _listenToPurchaseUpdated(List<PurchaseDetails> purchaseDetailsList) async {
for (var purchaseDetails in purchaseDetailsList) {
if (purchaseDetails.status == PurchaseStatus.purchased) {
final jsonIapPurchase = {
'transactionReceipt': purchaseDetails.verificationData.localVerificationData,
'orderId': purchaseDetails.purchaseID,
'purchaseToken': purchaseDetails.verificationData.serverVerificationData,
'signature': purchaseDetails.verificationData.localVerificationData,
'applicationUsername': await insertAffiliateSdk.returnInsertAffiliateIdentifier(),
};
final isValid = await insertAffiliateSdk.validatePurchaseWithIapticAPI(
jsonIapPurchase,
"{{ your_iaptic_app_id }}",
"{{ your_iaptic_app_name }}",
"{{ your_iaptic_public_key }}"
);
// 可选:根据需要处理 `isValid` 的结果
}
}
}
}
替换以下内容:
{{ your_iaptic_app_id }}
为您的Iaptic App ID{{ your_iaptic_app_name }}
为您的Iaptic App Name{{ your_iaptic_public_key }}
为您的Iaptic公钥
深度链接设置 [必需]
Insert Affiliate需要一个深度链接平台来为您的联盟创建链接。我们的平台可以与任何深度链接提供商配合使用,您只需遵循以下步骤:
- 创建深度链接 在您选择的第三方平台上创建深度链接,并在联盟注册时将其传递给我们。
- 处理深度链接点击 在您的应用中通过传递点击的链接:
insertAffiliateSdk.setInsertAffiliateIdentifier(data["~referring_link"]);
使用Branch.io进行深度链接
要使用Branch.io设置深度链接,请按照以下步骤操作:
- 在Branch中创建深度链接并在联盟注册时传递给我们。
- 示例:创建联盟。
- 修改
Main.dart
中的深度链接处理逻辑- 在设置好Branch集成后,在iOS应用中添加以下代码以初始化Insert Affiliate SDK:
import 'package:flutter_branch_sdk/flutter_branch_sdk.dart'; import 'package:insert_affiliate_flutter_sdk/insert_affiliate_flutter_sdk.dart'; late final InsertAffiliateFlutterSDK insertAffiliateSdk; class _MyAppState extends State<MyApp> { late StreamSubscription<Map> _branchStreamSubscription; @override void initState() { super.initState(); _branchStreamSubscription = FlutterBranchSdk.listSession().listen((data) { if (data.containsKey("+clicked_branch_link") && data["+clicked_branch_link"] == true) { insertAffiliateSdk.setInsertAffiliateIdentifier(data["~referring_link"]); } }, onError: (error) { print('Branch session error: ${error.toString()}'); }); } }
- 在设置好Branch集成后,在iOS应用中添加以下代码以初始化Insert Affiliate SDK:
其他功能
1. 事件跟踪(测试版)
InsertAffiliateFlutter SDK 现在包括一个事件跟踪的测试版功能。使用事件跟踪来记录关键用户行为,例如注册、购买或推荐。这有助于:
- 理解用户行为。
- 衡量营销活动的有效性。
- 激励联盟对于最终用户采取的指定操作(不仅仅是应用内购买)。
在此阶段,我们无法保证此功能完全防篡改或防操纵。
使用 trackEvent
要跟踪事件,请使用 trackEvent
函数。确保首先设置联盟标识符;否则,事件跟踪将无法工作。以下是示例:
import 'package:insert_affiliate_flutter_sdk/insert_affiliate_flutter_sdk.dart';
ElevatedButton(
onPressed: () {
insertAffiliateSdk.trackEvent(eventName: "yourEventIdentifier")
.then((_) => print('Event tracked successfully!'))
.catchError((error) => print('Error tracking event: $error'));
},
child: Text("Track Test Event"),
);
2. 短码(测试版)
什么是短码?
短码是联盟可以用来推广产品或订阅的独特10个字符的字母数字标识符。这些代码非常适合影响者或合作伙伴,比长URL更容易分享。
示例用例:一位影响者在其TikTok视频描述中推广了一个订阅,短码为 “JOIN123456”。当用户在您的应用中输入此代码时,应用会将订阅跟踪回该影响者以进行佣金支付。
更多详细信息,请访问Insert Affiliate短码文档。
设置短码
使用 setShortCode
方法将短码与联盟关联起来。这适用于用户通过输入字段、弹出窗口或其他UI元素输入短码的场景。
短码必须满足以下条件:
- 恰好 10个字符长。
- 包含仅 字母和数字(字母数字字符)。
- 替换
{{ user_entered_short_code }}
为用户通过您选择的输入方法输入的短码,即输入字段/弹出窗口元素。
示例集成
以下是用户可以通过输入短码并与联盟帐户关联的示例SwiftUI实现:
late final InsertAffiliateFlutterSDK insertAffiliateSdk;
ElevatedButton(
onPressed: () => insertAffiliateSdk.setShortCode("B2SC6VRSKQ"),
child: Text("Set Short Code"),
)
示例用法
设置联盟标识符(用于跟踪):
InsertAffiliateSwift.setInsertAffiliateIdentifier(referringLink: "your_affiliate_link")
更多关于Flutter联盟营销插件insert_affiliate_flutter_sdk的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter联盟营销插件insert_affiliate_flutter_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
insert_affiliate_flutter_sdk
是一个用于在 Flutter 应用中集成联盟营销功能的插件。通过该插件,开发者可以轻松地在应用中集成联盟营销链接,跟踪用户的点击和转化,从而为应用带来额外的收入来源。
以下是如何使用 insert_affiliate_flutter_sdk
的基本步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 insert_affiliate_flutter_sdk
的依赖。
dependencies:
flutter:
sdk: flutter
insert_affiliate_flutter_sdk: ^1.0.0 # 请根据实际情况使用最新版本
然后运行 flutter pub get
来获取依赖。
2. 初始化 SDK
在你的 Flutter 应用启动时,通常是在 main.dart
文件中,初始化 insert_affiliate_flutter_sdk
。
import 'package:flutter/material.dart';
import 'package:insert_affiliate_flutter_sdk/insert_affiliate_flutter_sdk.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 SDK
await InsertAffiliateFlutterSdk.init(
apiKey: 'YOUR_API_KEY',
appId: 'YOUR_APP_ID',
userId: 'YOUR_USER_ID', // 可选
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Affiliate Demo',
home: HomeScreen(),
);
}
}
3. 创建联盟营销链接
你可以使用 InsertAffiliateFlutterSdk
提供的 API 来创建联盟营销链接。
class HomeScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Affiliate Demo'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
// 创建联盟营销链接
String affiliateLink = await InsertAffiliateFlutterSdk.createAffiliateLink(
productId: 'PRODUCT_ID',
campaignId: 'CAMPAIGN_ID', // 可选
);
// 打开链接或分享链接
print('Affiliate Link: $affiliateLink');
// 你可以使用 url_launcher 等插件打开链接
},
child: Text('Create Affiliate Link'),
),
),
);
}
}
4. 跟踪点击和转化
insert_affiliate_flutter_sdk
会自动跟踪用户的点击和转化。你可以通过后台管理界面查看相关的统计数据。
5. 处理回调(可选)
你可以设置回调函数来处理用户的点击和转化事件。
InsertAffiliateFlutterSdk.setClickCallback((clickData) {
print('User clicked on affiliate link: $clickData');
});
InsertAffiliateFlutterSdk.setConversionCallback((conversionData) {
print('User converted: $conversionData');
});