Cordova SDK - 基本集成

文档

先决条件

在安装 Singular Cordova SDK 之前,请完成以下前提步骤,以确保集成过程顺利进行。

必要的先决条件:

  • 完成规划步骤:按照集成 Singular SDK 中的指南进行操作:规划和先决条件》中的指南。这些步骤对于任何 Singular SDK 集成都是强制性的。
  • 功能正常的 Cordova 应用程序:确保您有一个正常运行的 Cordova 项目,并为 iOS 和/或 Android 配置了必要的构建工具。
  • SDK 证书:从 Singular 平台的开发人员工具 > SDK 集成 > SDK 密钥中获取您的 Singular SDK密钥和 SDK Secret。

至关重要:请勿使用 Singular 报告 API 密钥。只能使用 SDK 集成页面上的 SDK 特定凭证。使用错误的凭证会导致数据无法到达 Singular。


安装

安装 Singular 插件

使用 Cordova CLI 将 Singular 插件添加到您的 Cordova 项目中。 该插件为 iOS 和 Android 的本地 Singular SDK 提供 JavaScript 绑定。

通过 Cordova CLI 安装

  1. 打开终端:导航至 Cordova 项目的根目录。
  2. 添加插件:运行以下命令安装 Singular SDK 插件:
    bash
    cordova plugin add singular_cordova_sdk
  3. 验证安装:通过检查config.xml 文件中的插件条目或运行以下命令,确认插件已添加:
    bash
    cordova plugin list

Ionic 框架集成

如果您使用 Ionic Framework 构建 Cordova 应用程序,请按照以下额外步骤正确集成 Singular SDK。

为 Ionic 安装插件

  1. 通过 Ionic CLI 安装:使用 Ionic Cordova 命令添加插件:
    bash
    ionic cordova plugin add singular_cordova_sdk
  2. 声明 Cordova 变量:在您的主 TypeScript 文件(通常为app.component.tshome.page.ts )中,在顶部声明 Cordova 变量:
    TypeScript
    declare var cordova;
  3. 在平台就绪时初始化:使用平台就绪事件确保在 SDK 初始化之前加载本地插件:
    TypeScript
    import { Component } from '@angular/core';
    import { Platform } from '@ionic/angular';
    
    declare var cordova;
    
    export class HomePage {
      constructor(public platform: Platform) {
        this.platform.ready().then(() => {
          // Initialize Singular SDK here (see SDK Integration section)
    
        });
      }
    }

为什么要平台就绪? platform.ready()承诺确保 Cordova 插件在您的代码尝试访问它们之前已完全加载。使用 Ionic 时,始终在此回调中初始化 Singular SDK。


平台配置

安卓配置

配置特定于 Android 的权限和设置,以启用核心 SDK 功能和属性跟踪。

添加所需的权限

在 Cordovaconfig.xml 文件中添加必要的 Android 权限,以启用归因、网络访问和安装推荐人跟踪。

  1. 打开 config.xml:导航至 Cordova 项目的根目录并打开config.xml 文件。
  2. 添加权限:<platform name="android"> 部分,添加以下权限:
    config.xml
    <platform name="android">
        <!-- Required for GAID collection and attribution -->
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest">
            <uses-permission android:name="com.google.android.gms.permission.AD_ID" />
        </edit-config>
    </platform>

对儿童应用程序很重要:如果您集成了儿童 SDK,请不要添加com.google.android.gms.permission.AD_ID权限。标准应用程序需要此权限,但针对 13 岁以下儿童的应用程序必须省略此权限,以符合 COPPA 规定。

其他权限(自动添加)

Singular Cordova 插件会自动添加以下权限,无需手动配置:

  • android.permission.INTERNET - 数据传输的网络访问
  • android.permission.ACCESS_NETWORK_STATE - 网络状态监控
  • BIND_GET_INSTALL_REFERRER_SERVICE - 安装推荐人跟踪

iOS 配置

iOS 配置由 Cordova 插件自动处理。iOS 项目无需额外的手动配置步骤。

CocoaPods 安装:为 iOS 构建时,Cordova 会自动运行pod install 以获取所需的依赖项。请确保您已在开发机器上安装了 CocoaPods。


SDK 集成

隐私合规性:在实施 Singular SDK 时,请遵守您所在运营地区的隐私法,包括 GDPR、CCPA、COPPA 等。有关指导,请参阅SDK 选择加入和选择退出实践

每次启动应用程序时都要初始化Singular SDK。SDK 初始化对所有 Singular 归因功能都至关重要,并可创建一个新会话,用于计算用户留存指标。

基本 SDK 初始化

使用 SDK 凭据创建SingularConfig 对象,并使用init() 方法初始化 SDK。这项工作应在应用程序生命周期内尽早完成。

初始化示例

  1. 获取凭据:登录Singular 账户,导航至 "开发工具" > "SDK 集成" > "SDK 密钥",找到 SDK 密钥和秘钥。
  2. 创建配置:使用凭据实例化SingularConfig 对象。
  3. 初始化 SDK:调用init() 启动 SDK。
JavaScript
// Create the Singular configuration object
var singularConfig = new cordova.plugins.SingularCordovaSdk.SingularConfig(
  "YOUR_SDK_KEY",
  "YOUR_SDK_SECRET"
);

// Initialize the Singular SDK
cordova.plugins.SingularCordovaSdk.init(singularConfig);

高级配置

在调用init() 之前,通过链式配置方法配置其他 SDK 功能。本示例演示了常用的配置选项,包括深度链接、日志记录和会话超时。

JavaScript
// Create configuration with credentials
var singularConfig = new cordova.plugins.SingularCordovaSdk.SingularConfig(
  "YOUR_SDK_KEY",
  "YOUR_SDK_SECRET"
);

// Enable debug logging (disable in production)
singularConfig.withLoggingEnabled();

// Set custom session timeout (default is 60 seconds)
singularConfig.withSessionTimeoutInSec(120);

// Configure deep linking handler
var linkHandler = function(data) {
  var deeplink = data.deeplink;
  var passthrough = data.passthrough;
  var isDeferred = data.isDeferred;

  console.log("Received deep link:", deeplink);
  console.log("Is deferred:", isDeferred);

  // Handle navigation based on deep link
  if (deeplink) {
    // Navigate to appropriate screen
  }
};
singularConfig.withSingularLink(linkHandler);

// Set custom user ID (if user is logged in)
singularConfig.withCustomUserId("user_12345");

// Initialize Singular
cordova.plugins.SingularCordovaSdk.init(singularConfig);

配置参考:有关可用配置选项的完整列表,请参阅《Cordova SDK 配置参考》。

元安装推荐人归属

配置 Meta(Facebook)安装推荐人归因,以跟踪来自 Facebook 和 Instagram 广告系列的安装。

截至 2025 年 6 月 18 日:Meta 的高级移动测量报告 (AMM)使大多数使用案例不再需要实施 Meta 安装 Referrer。如果您的应用程序已启用 AMM 报告,则不建议实施 Meta Install Referrer。

启用元安装推荐器

如果未启用 AMM 或需要使用 Meta Install Referrer 进行传统跟踪,请将您的 Facebook 应用程序 ID 添加到 SDK 配置中。

  1. 查找 Facebook 应用 ID:登录Facebook Developer 帐户并导航到应用程序的控制面板以查找应用程序 ID。
  2. 添加到配置:使用withFacebookAppId() 方法启用 Meta Install Referrer:
    JavaScript
    // Create configuration
    var singularConfig = new cordova.plugins.SingularCordovaSdk.SingularConfig(
      "YOUR_SDK_KEY",
      "YOUR_SDK_SECRET"
    );
    
    // Enable Meta Install Referrer
    singularConfig.withFacebookAppId("YOUR_FACEBOOK_APP_ID");
    
    // Initialize SDK
    cordova.plugins.SingularCordovaSdk.init(singularConfig);

查找 Facebook 应用程序 ID:有关查找 Facebook 应用程序 ID 的详细说明,请参阅在哪里可以找到应用程序的 Facebook 应用程序 ID