Cordova SDK - 方法参考
本综合参考资料记录了用于 Cordova 应用程序的 Singular SDK 中的所有可用方法。SDK 提供初始化、事件跟踪、收入报告、归因、数据隐私合规性和 SKAdNetwork 管理等功能。每种方法都附有说明、签名和实际使用示例,以帮助开发人员将 Singular SDK 功能集成到他们的 Cordova 应用程序中。
广告收入
Singular.adRevenue 方法
通过详细的广告数据信息跟踪广告收入事件。通过该方法,您可以报告应用程序中显示的广告所产生的收入,并使用各种参数对广告性能进行分类和分析。
签名
adRevenue(adData: Object): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Create ad data object with required fields
var adData = {
adPlatform: 'AdMob',
currency: 'USD',
revenue: 0.05,
adUnitId: 'ca-app-pub-1234567890123456',
adType: 'Rewarded',
adPlacementName: 'level_complete'
};
// Track ad revenue event
Singular.adRevenue(adData);
清除全局属性
Singular.clearGlobalProperties 方法
删除所有先前设置的全局属性。这在需要重置全局属性时非常有用,例如当用户注销应用程序时。
签名
clearGlobalProperties(): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Clear all global properties
Singular.clearGlobalProperties();
createReferrerShortLink
Singular.createReferrerShortLink 方法
创建带有推荐人信息的短链接,可用于共享和归属。此方法可生成可与用户共享的可跟踪链接,从而将安装和活动归因于特定的推荐来源。
签名
createReferrerShortLink(
url: string,
refName: string,
refId: string,
passthroughParams: Object,
resultHandler: Object
): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Create a short link for referral
var resultHandler = {
onSuccess: function(link) {
console.log('Generated short link:', link);
// Share the link with users
},
onError: function(error) {
console.error('Error creating short link:', error);
}
};
Singular.createReferrerShortLink(
'https://sample.sng.link/B4tbmv8fp',
'John Doe',
'aq239897',
{ channel: 'sms', campaign: 'summer_promo' },
resultHandler
);
自定义收入
Singular.customRevenue 方法
使用指定的事件名称、货币和金额跟踪自定义收入事件。这允许使用自定义事件名称进行更具体的收入跟踪。
签名
customRevenue(
eventName: string,
currency: string,
amount: number
): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Track a custom revenue event
Singular.customRevenue('premium_subscription', 'USD', 9.99);
customRevenueWithArgs
Singular.customRevenueWithArgs 方法
使用指定的事件名称、货币、金额和附加属性跟踪自定义收入事件。这允许使用自定义参数进行更详细的收入跟踪。
签名
customRevenueWithArgs(
eventName: string,
currency: string,
amount: number,
args: Object
): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Track a custom revenue event with attributes
Singular.customRevenueWithArgs(
'in_app_purchase',
'USD',
5.99,
{
product_id: 'com.app.gems_pack_small',
quantity: 1
}
);
事件
Singular.event 方法
跟踪具有指定名称的事件。使用该方法可跟踪应用程序中的用户操作和参与情况。
签名
event(eventName: string): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Track a simple event
Singular.event('level_completed');
eventWithArgs
Singular.eventWithArgs 方法
跟踪具有指定名称和附加自定义属性的事件。 使用此方法可跟踪具有详细参数的用户操作。
签名
eventWithArgs(
eventName: string,
args: Object
): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Track an event with additional parameters
Singular.eventWithArgs('level_completed', {
level_id: 5,
score: 12500,
time_spent: 120,
difficulty: 'medium'
});
获取全局属性
Singular.getGlobalProperties 方法
读取当前设置的所有全局属性。该方法接受一个回调函数,该函数接收一个包含所有已为 SDK 设置的全局属性的对象。
签名
getGlobalProperties(success: Function): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Get all global properties
Singular.getGlobalProperties(function(properties) {
console.log('Global properties:', properties);
});
getLimitDataSharing
Singular.getLimitDataSharing 方法
读取当前的数据共享限制状态。该方法接受一个回调函数,该函数接收一个布尔值,表示当前数据共享是否受限。
签名
getLimitDataSharing(success: Function): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Check if data sharing is limited
Singular.getLimitDataSharing(function(isLimited) {
if (isLimited) {
console.log('Data sharing is currently limited');
}
});
handlePushNotification
Singular.handlePushNotification 方法
处理推送通知有效载荷,以确定归属。当应用程序收到推送通知时,应调用此方法,以便 Singular 能正确归属该通知。此方法仅适用于 iOS。
签名
handlePushNotification(pushNotificationPayload: Object): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Handle a received push notification (iOS only)
if (device.platform === 'iOS') {
var userInfo = remoteMessage.data;
Singular.handlePushNotification(userInfo);
}
iapPurchase
SingularIAP 构造函数
创建应用程序内购买 (IAP) 对象,用于跟踪应用程序内购买的收入,并进行特定平台的收据验证。该构造函数可处理 iOS App Store 和 Android Play Store 交易中的购买数据,格式化数据以正确归属收入和验证收据。
签名
function SingularIAP(product: Object): SingularIAP
使用示例
var SingularIAP = require('./SingularIAP');
// Example for Android Play Store purchase
var androidProduct = {
currency: 'USD',
price: '$4.99',
id: 'com.app.premium_gems',
transaction: {
type: 'android-playstore',
receipt: 'eyJvcmRlcklkIjoiR1BBLjEyMzQ...',
signature: 'signature_string_here'
}
};
var androidIAP = new SingularIAP(androidProduct);
// Example for iOS App Store purchase
var iosProduct = {
currency: 'USD',
price: '$4.99',
id: 'com.app.premium_gems',
transaction: {
type: 'ios-appstore',
appStoreReceipt: 'MIITtQYJKoZIhvcNAQcCoIITpj...',
id: 'transaction_identifier_123'
}
};
var iosIAP = new SingularIAP(iosProduct);
// The resulting object contains:
// - ppc: product currency
// - r: revenue amount (parsed from price string)
// - is_revenue_event: true
// Platform-specific fields:
// Android: ptr, receipt, receipt_signature
// iOS: ptr, pti, pk
启动
Singular.init 方法
使用指定配置初始化 Singular SDK。此方法必须在其他 SDK 方法之前调用。配置对象应包括 API 密钥、保密信息和其他可选设置。
签名
init(singularConfig: SingularConfig): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
var SingularConfig = cordova.require('singular-cordova-sdk.SingularConfig');
// Create and configure the SDK
var config = new SingularConfig('YOUR_API_KEY', 'YOUR_SECRET');
// Initialize the SDK
Singular.init(config);
isAllTrackingStopped
Singular.isAllTrackingStopped 方法
检查是否已停止所有跟踪。该方法接受一个回调函数,该函数接收一个布尔值,表示当前的跟踪状态。
签名
isAllTrackingStopped(success: Function): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Check if tracking is stopped
Singular.isAllTrackingStopped(function(isStopped) {
if (isStopped) {
console.log('All tracking is currently stopped');
}
});
limitDataSharing
Singular.limitDataSharing 方法
设置数据共享限制状态。使用此方法可限制与第三方共享的数据,从而遵守隐私法规。
签名
limitDataSharing(value: boolean): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Enable data sharing limitation
Singular.limitDataSharing(true);
resumeAllTracking
Singular.resumeAllTracking 方法
在跟踪活动停止后恢复所有跟踪活动。当用户选择重新加入时,使用此方法可重新启用跟踪功能。
签名
resumeAllTracking(): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Resume tracking when user opts back in
Singular.resumeAllTracking();
收入
Singular.revenue 方法
使用指定的货币和金额跟踪收入事件。这是跟踪收入的基本方法,没有附加属性。
签名
revenue(
currency: string,
amount: number
): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Track a simple revenue event
Singular.revenue('USD', 9.99);
revenueWithArgs
Singular.revenueWithArgs 方法
使用指定的货币、金额和附加属性跟踪收入事件。这允许使用自定义参数进行更详细的收入跟踪。
签名
revenueWithArgs(
currency: string,
amount: number,
args: Object
): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Track a revenue event with attributes
Singular.revenueWithArgs(
'USD',
9.99,
{
product_id: 'premium_monthly',
transaction_id: 'txn_12345'
}
);
setCustomUserId
Singular.setCustomUserId 方法
为当前会话设置自定义用户 ID。这样就可以将 Singular 数据与自己的用户识别系统关联起来。
签名
setCustomUserId(userId: string): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Set custom user ID after login
Singular.setCustomUserId('user123456');
设置全局属性
Singular.setGlobalProperty 方法
设置一个全局属性,该属性将与所有后续事件一起发送。 这对于跟踪持久用户属性或应用程序状态非常有用。该方法接受一个回调函数,该函数接收一个表示成功的布尔值。
签名
setGlobalProperty(
key: string,
value: any,
overrideExisting: boolean,
success: Function
): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Set a global property
Singular.setGlobalProperty(
'user_tier',
'premium',
true,
function(success) {
if (success) {
console.log('Global property set successfully');
}
}
);
setLimitAdvertisingIdentifiers
Singular.setLimitAdvertisingIdentifiers 方法
控制是否限制广告标识符(IDFA/GAID)。 使用此方法可遵守隐私偏好和法规。
签名
setLimitAdvertisingIdentifiers(enabled: boolean): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Limit advertising identifiers
Singular.setLimitAdvertisingIdentifiers(true);
设置卸载令牌
Singular.setUninstallToken 方法
设置用于卸载跟踪的推送通知令牌。这样,Singular 就能通过监控推送失败来跟踪应用程序的卸载情况。
签名
setUninstallToken(token: string): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Set the push notification token for uninstall tracking
Singular.setUninstallToken('your-fcm-or-apns-token-here');
skanGetConversionValue
Singular.skanGetConversionValue 方法
读取当前 SKAdNetwork 转换值。该方法接受一个回调函数,以数字形式接收当前转换值。 该方法仅适用于 iOS。
签名
skanGetConversionValue(success: Function): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Get current SKAdNetwork conversion value (iOS only)
if (device.platform === 'iOS') {
Singular.skanGetConversionValue(function(value) {
console.log('Current conversion value:', value);
});
}
skanRegisterAppForAdNetworkAttribution
Singular.skanRegisterAppForAdNetworkAttribution 方法
为 SKAdNetwork 归属注册应用程序。应在应用程序生命周期的早期调用此方法,以启用 SKAdNetwork 跟踪。此方法仅适用于 iOS。
签名
skanRegisterAppForAdNetworkAttribution(): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Register for SKAdNetwork attribution (iOS only)
if (device.platform === 'iOS') {
Singular.skanRegisterAppForAdNetworkAttribution();
}
skanUpdateConversionValue
Singular.skanUpdateConversionValue 方法
更新 SKAdNetwork 转换值。该方法用于 SKAdNetwork 2.0-3.0,接受一个回调函数,该函数接收一个布尔值,表示更新是否成功。此方法仅限 iOS。
签名
skanUpdateConversionValue(
value: number,
success: Function
): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Update SKAdNetwork conversion value (iOS only)
if (device.platform === 'iOS') {
Singular.skanUpdateConversionValue(3, function(success) {
if (success) {
console.log('Conversion value updated successfully');
}
});
}
skanUpdateConversionValues
Singular.skanUpdateConversionValues 方法
用精细值、粗略值和锁定状态更新 SKAdNetwork 4.0 转换值。该方法适用于 iOS 16.1+ 并接受一个回调函数,该函数接收一个布尔值,表示成功。此方法仅适用于 iOS。
签名
skanUpdateConversionValues(
value: number,
coarse: number,
lock: boolean,
success: Function
): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Update SKAdNetwork 4.0 conversion values (iOS 16.1+)
if (device.platform === 'iOS') {
Singular.skanUpdateConversionValues(
5, // fine value (0-63)
1, // coarse value (0=low, 1=medium, 2=high)
false, // lock
function(success) {
if (success) {
console.log('Conversion values updated successfully');
}
}
);
}
stopAllTracking
Singular.stopAllTracking 方法
停止所有跟踪活动。使用该方法可在用户选择退出或符合隐私保护规定时禁用跟踪。
签名
stopAllTracking(): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Stop tracking when user opts out
Singular.stopAllTracking();
trackingOptIn
Singular.trackingOptIn 方法
表示用户已选择接受跟踪。当用户明确同意跟踪和数据收集时调用此方法。
签名
trackingOptIn(): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// User has opted in to tracking
Singular.trackingOptIn();
trackingUnder13
Singular.trackingUnder13 方法
表示用户未满 13 周岁。调用此方法可遵守 COPPA 和其他针对 13 岁以下用户的规定。
签名
trackingUnder13(): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Notify Singular the user is under 13 years old
Singular.trackingUnder13();
unsetCustomUserId
Singular.unsetCustomUserId 方法
删除之前设置的自定义用户 ID。当用户注销或不想再将事件与当前用户 ID 关联时,调用此方法。
签名
unsetCustomUserId(): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Clear custom user ID when user logs out
Singular.unsetCustomUserId();
unsetGlobalProperty
Singular.unsetGlobalProperty 方法
删除先前设置的全局属性。如果不想再通过事件发送特定全局属性,请调用此方法。
签名
odedeunsetGlobalProperty(key: string): void
使用示例
var Singular = cordova.require('singular-cordova-sdk');
// Remove a global property
Singular.unsetGlobalProperty('user_tier');