Tenjin SDK có thể thu thập dữ liệu doanh thu ở cấp độ hiển thị quảng cáo từ CloudX và gửi các sự kiện doanh thu đến Tenjin. Tích hợp này sẽ gửi dữ liệu liên quan đến doanh thu cho mỗi lần hiển thị quảng cáo được phân phối từ CloudX. Dưới đây là các bước để thực hiện tích hợp:
- Hãy cài đặt bộ công cụ phát triển phần mềm (SDK) CloudX iOS bằng cách làm theo hướng dẫn tích hợp: https://docs.cloudx.io/en/ios/integration
Vui lòng đảm bảo rằng bạn đã cài đặt phiên bản mới nhất của Tenjin iOS SDK (>= 1.17.0), phiên bản này bổ sung tính năng hỗ trợ CloudX thông qua danh mục TenjinSDK+CloudXILRD. - Chuyển dữ liệu doanh thu sang Tenjin từ hàm callback revenueListener (hoặc CloudXAdRevenueListener) của CloudX, bằng cách sử dụng đoạn mã mẫu sau đây.
Objective-C #
Objective-C
#import <TenjinSDK/TenjinSDK.h>
#import <TenjinSDK/TenjinSDK+CloudXILRD.h>
/**
Invoked when CloudX records an impression and reports revenue for the ad
*/
- (void)didPayRevenueForAd:(CloudXAd *)cloudXAd {
NSLog(@"%s", __PRETTY_FUNCTION__);
// Create JSON object for Tenjin
NSDictionary *impressionDict = @{
@"format": cloudXAd.adFormat ?: @"",
@"ad_unit_id": cloudXAd.adUnitId ?: @"",
@"network_name": cloudXAd.networkName ?: @"",
@"network_placement": cloudXAd.networkPlacement ?: @"",
@"placement": cloudXAd.placement ?: @"",
@"revenue": @(cloudXAd.revenue),
@"currency": @"USD"
};
// Convert to JSON string
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:impressionDict
options:0
error:&error];
if (jsonData && !error) {
NSString *jsonString = [[NSString alloc] initWithData:jsonData
encoding:NSUTF8StringEncoding];
// Send to Tenjin
[TenjinSDK cloudXImpressionFromJSON:jsonString];
NSLog(@"Sent CloudX impression to Tenjin: %@", jsonString);
} else {
NSLog(@"Error creating JSON: %@", error.localizedDescription);
}
}Swift #
Swift
import TenjinSDK
// Conform to CloudX's revenue listener protocol on your ad delegate
extension MyAdDelegate: CloudXAdRevenueListener {
func onAdRevenuePaid(_ cloudXAd: CloudXAd) {
let impressionDict: [String: Any] = [
"ad_format": cloudXAd.adFormat ?? "",
"ad_unit_id": cloudXAd.adUnitId ?? "",
"network_name": cloudXAd.networkName ?? "",
"network_placement": cloudXAd.networkPlacement ?? "",
"placement": cloudXAd.placement ?? "",
"revenue": cloudXAd.revenue,
"currency": "USD"
]
guard
let jsonData = try? JSONSerialization.data(withJSONObject: impressionDict, options: []),
let jsonString = String(data: jsonData, encoding: .utf8)
else {
print("Error creating CloudX impression JSON")
return
}
// Send to Tenjin
TenjinSDK.cloudXImpression(fromJSON: jsonString)
print("Sent CloudX impression to Tenjin: \(jsonString)")
}
}Gắn trình nghe vào từng đối tượng quảng cáo (banner, MREC, quảng cáo xen kẽ, quảng cáo có phần thưởng) trước khi tải quảng cáo, ví dụ:
bannerAd.revenueListener = self
Dưới đây là một ví dụ về việc nhập dữ liệu doanh thu theo mức độ hiển thị từ CloudX:
| Tham số | Có bắt buộc không? | Ví dụ |
| định dạng | Không | “banner”, “mrec”, “interstitial”, “rewarded” |
| ad_unit_id | Không | abc-123-banner |
| tên_mạng | Không | meta |
| vị trí_mạng | Không | 1234567890_9876543210 |
| vị trí | Không | màn hình chính |
| doanh thu | Có | 0.0123 |
| tiền tệ | Không | USD |
tham khảo: https://docs.cloudx.io/en/ios/integration