Flutter苹果搜索广告集成插件apple_search_ads的使用

发布于 1周前 作者 itying888 来自 Flutter

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: 上传公钥

  1. 从搜索广告界面,导航至账户设置 > API
  2. public-key.pem文件的内容(包括BEGINEND行)粘贴到公钥字段中。
  3. 点击保存。

保存后,会显示一组凭证(包括clientIdteamIdkeyId)。使用这些凭证创建客户端密钥。

凭证示例

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

1 回复

更多关于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归因。

  1. 打开Xcode,选择你的项目。
  2. 在项目的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...'),
        ),
      ),
    );
  }
}

解释

  1. 依赖安装:在pubspec.yaml文件中添加apple_search_ads依赖。
  2. iOS配置:在Xcode的Info.plist文件中添加广告网络标识符。
  3. 获取归因数据:在Flutter代码中,使用AppleSearchAds.attribution方法来获取归因数据,并在UI中显示。

这个示例代码展示了如何集成apple_search_ads插件并在Flutter应用中显示归因数据。请注意,实际的归因数据(如Campaign ID、Ad Group ID和Keyword)将取决于你的Apple Search Ads活动。

回到顶部