先决条件
在安装 Singular Cordova SDK 之前,请完成以下先决条件步骤,以确保集成过程顺利。
必备先决条件:
- 完成规划步骤:请遵循《集成 Singular SDK:规划与先决条件》中的指南。这些步骤是任何 Singular SDK 集成的必备条件。
- 可运行的 Cordova 应用:请确保您拥有一个可运行的 Cordova 项目,并已为 iOS 和/或 Android 配置了必要的构建工具。
- SDK 凭据:请从 Singular 平台的“开发者工具 > SDK 集成 > SDK 密钥”中获取您的 Singular SDK 密钥和 SDK 密钥。
重要提示:请勿使用 Singular 报告 API 密钥。仅使用 SDK 集成页面中提供的 SDK 专用凭据。使用错误的凭据将导致数据无法传输至 Singular。
安装
安装 Singular 插件
使用 Cordova CLI 将 Singular 插件添加到您的 Cordova 项目中。 该插件为 iOS 和 Android 原生 Singular SDK 提供了 JavaScript 绑定。 iOS 和 Android。
通过 Cordova CLI 安装
- 打开终端:导航至您的 Cordova 项目的 根目录。
-
添加插件:运行以下命令安装
Singular SDK 插件:
cordova plugin add singular_cordova_sdk -
验证安装:通过检查
config.xml文件中的插件条目, 或运行以下命令,确认插件已成功添加:cordova plugin list
Ionic Framework 集成
如果您正在使用 Ionic Framework 构建 Cordova 应用,请按照以下 额外步骤正确集成 Singular SDK。
安装 Ionic 插件
-
通过 Ionic CLI 安装:使用 Ionic Cordova 命令
添加插件:
ionic cordova plugin add singular_cordova_sdk -
声明 Cordova 变量:在您的主 TypeScript
文件(通常为
app.component.ts或home.page.ts)顶部声明 Cordova 变量:declare var cordova; -
在 platform ready 事件中初始化:使用 platform
ready 事件,确保在 SDK 初始化之前加载原生插件:
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) }); } }
为何要使用 platformReady? platform.ready() promise 确保在您的
代码尝试访问 Cordova 插件之前,这些插件已完全加载。在使用 Ionic 时,请务必在此回调中初始化 Singular SDK
。
平台配置
Android 配置
配置 Android 专属权限和设置,以启用 SDK 核心 功能及归因追踪。
添加必需权限
在 Cordova 的
config.xml 文件中添加必要的 Android 权限,以启用归因、网络访问和
安装来源追踪。
-
打开 config.xml:导航至 Cordova
项目的根目录,并打开
config.xml文件。 -
添加权限:在
<platform name="android">部分中,添加以下 权限:<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。此操作应
在应用生命周期中尽早完成。
初始化示例
- 获取凭证:登录您的 Singular账户 并导航至 开发者工具 > SDK集成 > SDK密钥 以查找您的SDK密钥和密钥密文。
-
创建配置:使用您的凭据实例化一个
SingularConfig对象。 -
初始化 SDK:调用
init()方法启动 SDK。
// 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 功能。本示例演示了常见的配置
选项,包括深度链接、日志记录和会话超时。
// 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 安装来源归因
配置 Meta(Facebook)安装来源归因,以追踪 来自 Facebook 和 Instagram 广告活动的安装。
截至 2025 年 6 月 18 日:Meta 的 高级移动测量报告 (AMM) 已使大多数 用例无需再实现 Meta 安装来源追踪。如果您的应用已启用 AMM 报告, 则不建议实现 Meta 安装来源追踪。
启用 Meta 安装来源
如果未启用 AMM,或者您需要 Meta 安装来源追踪功能进行旧版追踪, 请在 SDK 配置中添加您的 Facebook 应用 ID。
- 查找 Facebook App ID:登录您的 Facebook 开发者账户 并导航至应用仪表盘以查找 App ID。
-
添加至配置:使用
withFacebookAppId()方法启用 Meta Install Referrer:// 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 App ID:有关查找 Facebook App ID 的详细说明, 请参阅 “在哪里可以找到应用的 Facebook App ID?”
高级配置
Google Ads iOS 集成转化测量必备
如果您的应用运行针对 iOS 14.5 及以上版本用户的 Google Ads 广告系列,则需要执行额外的 SDK 配置步骤以支持 iOS 集成转化 测量 (ICM)。这包括:
- 集成 Google 的设备端测量 (ODM) SDK
- 更新至 Singular iOS SDK v12.8.1 及以上版本(Unity 版本需 v5.5.0 及以上,Flutter/Cordova 版本需 v1.8.0 及以上,React Native 版本需 v3.9.0 及以上)
-
添加
-ObjC链接器标志,并在SingularConfig中启用enableOdmWithTimeoutInterval
注意:启用enableOdmWithTimeoutInterval 会延迟 SDK
的初始化,并可能推迟深度链接回调。请在初始 SDK 实现阶段完成此配置,
以避免后续返工。