Flutter苹果搜索广告集成插件apple_search_ads的使用
Flutter苹果搜索广告集成插件apple_search_ads的使用
特性
- 使用OAuth 2.0认证与Apple Search Ads API进行交互。
- 生成基于JWT的客户端密钥。
开始使用
在你的pubspec.yaml
文件中添加以下依赖:
dependencies:
apple_search_ads: ^0.0.7
Apple Search Ads API - 私钥和公钥生成
本指南将指导你如何生成私钥、提取公钥,并将其上传到Apple Search Ads账户。这对于通过Apple Search Ads API安全地管理你的搜索广告账户至关重要。
前提条件
- OpenSSL: 需要在你的机器上安装OpenSSL。
- macOS/UNIX: OpenSSL预装在系统中。
- Windows: 需要下载并安装OpenSSL。
步骤1: 生成私钥
使用椭圆曲线数字签名算法(ECDSA)生成私钥,运行以下命令:
openssl ecparam -genkey -name prime256v1 -noout -out private-key.pem
参数
name
: 指定曲线名称。对于ECDSA算法使用prime256v1
。out
: 存储生成密钥的文件名(例如private-key.pem
)。
示例输出
生成的private-key.pem
文件应类似于以下内容:
-----BEGIN EC PRIVATE KEY-----
---YOUR-PRIVATE-KEY----
-----END EC PRIVATE KEY-----
重要提示:始终确保你的私钥安全且不被泄露。如果私钥被泄露,你需要重新生成私钥和客户端密钥,并重新上传到Apple Search Ads账户。
步骤2: 提取公钥
从私钥中提取公钥,使用以下命令:
openssl ec -in private-key.pem -pubout -out public-key.pem
参数
in
: 私钥文件名(例如private-key.pem
)。out
: 提取公钥后的存储文件名(例如public-key.pem
)。
示例输出
打开public-key.pem
文件,其内容应如下所示:
-----BEGIN PUBLIC KEY-----
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOuKrT6zrIYzVdp/BzGrfTNoiJBdG/bn8
8yFSdfjl8e5QAS9KkNHkOiMZJo5D8gIKSCbYJffb4JzQlMYNhXzZbD2CBZ71gjTy
UVAlPDSBniSgthzUn8nlTJKLxPbJ5Tkkg3k06YZJWnkV
-----END PUBLIC KEY-----
步骤3: 上传公钥
- 从搜索广告界面,导航至
账户设置 > API
。 - 将
public-key.pem
文件的内容(包括BEGIN
和END
行)粘贴到公钥字段中。 - 点击保存。
保存后,会显示一组凭证(包括clientId
、teamId
和keyId
)。使用这些凭证创建客户端密钥。
凭证示例
clientId: SEARCHADS.---
teamId: SEARCHADS.---
keyId: ---
如果需要编辑公钥,可以转到账户设置 > API > 编辑
。
步骤4: 存储密钥对
将你的私钥(例如private-key.pem
)和公钥(例如public-key.pem
)复制到工作目录中妥善保管。始终确保这些文件的安全。
更多详细信息,请参阅Apple开发者文档。
使用示例
import 'package:apple_search_ads/apple_search_ads.dart';
Future<void> main() async {
final authenticator = AppleSearchAdsAuthenticator(
clientId: "YOUR_CLIENT_ID",
teamId: "YOUR_TEAM_ID",
orgId: "YOUR_ORG_ID",
keyId: "YOUR_KEY_ID",
keyContent: """
-----BEGIN EC PRIVATE KEY-----
YOUR_PRIVATE_KEY_CONTENT
-----END EC PRIVATE KEY-----
""",
verbose: true,
);
final accessToken = await authenticator.authenticate();
if (accessToken != null) {
print("Authenticated successfully with access token: $accessToken");
} else {
print("Failed to authenticate");
}
}
更多关于Flutter苹果搜索广告集成插件apple_search_ads的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter苹果搜索广告集成插件apple_search_ads的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,下面是一个关于如何在Flutter项目中集成和使用apple_search_ads
插件的示例代码案例。这个插件允许你获取Apple Search Ads的归因数据,这对于追踪广告效果非常有用。
步骤 1: 添加依赖
首先,你需要在pubspec.yaml
文件中添加apple_search_ads
依赖。
dependencies:
flutter:
sdk: flutter
apple_search_ads: ^x.y.z # 请替换为最新版本号
然后运行flutter pub get
来安装依赖。
步骤 2: 配置iOS项目
由于apple_search_ads
是iOS特定的插件,你需要在Xcode中进行一些配置来启用Apple Search Ads归因。
- 打开Xcode,选择你的项目。
- 在项目的
Info.plist
文件中,添加以下键和值(如果尚未添加):
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>YOUR_AD_NETWORK_IDENTIFIER</string>
</dict>
<!-- 添加其他广告网络标识符,如果有的话 -->
</array>
将YOUR_AD_NETWORK_IDENTIFIER
替换为实际的广告网络标识符,例如com.apple.iad.network
。
步骤 3: 使用apple_search_ads插件
在你的Flutter代码中,你可以这样使用apple_search_ads
插件来获取归因数据。
import 'package:flutter/material.dart';
import 'package:apple_search_ads/apple_search_ads.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String? attributionData;
@override
void initState() {
super.initState();
_initAttribution();
}
Future<void> _initAttribution() async {
try {
// 检查Apple Search Ads归因数据
final AttributionResult result = await AppleSearchAds.attribution;
setState(() {
attributionData = 'Campaign: ${result.campaignId}, Ad Group: ${result.adGroupId}, Keyword: ${result.keyword}';
});
} catch (e) {
setState(() {
attributionData = 'Failed to get attribution data: $e';
});
}
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Apple Search Ads Attribution'),
),
body: Center(
child: Text(attributionData ?? 'Loading attribution data...'),
),
),
);
}
}
解释
- 依赖安装:在
pubspec.yaml
文件中添加apple_search_ads
依赖。 - iOS配置:在Xcode的
Info.plist
文件中添加广告网络标识符。 - 获取归因数据:在Flutter代码中,使用
AppleSearchAds.attribution
方法来获取归因数据,并在UI中显示。
这个示例代码展示了如何集成apple_search_ads
插件并在Flutter应用中显示归因数据。请注意,实际的归因数据(如Campaign ID、Ad Group ID和Keyword)将取决于你的Apple Search Ads活动。