帮助中心
|
Unity SDK 集成
提示:
如果您想使用 Unity SDK 跟踪广告收入,可以借助我们的 SDK 到 SDK 集成,将数据发送到 Adjust 后端。
操作前须知
要使用该功能,请先为您的平台下载并设置对应的 Adjust SDK。按照下方链接中的说明操作,开始使用功能。
⚙️ iOS SDK v4.29.7 及更高版本 / Android SDK v4.29.1 及更高版本 / Unity SDK v4.29.6 及更高版本/Flutter SDK v4.29.2
请查看对应您所选平台的 Unity Mediation API 和展示事件文档,了解更多详情:
示例
Objective-C
iOS
@interface ViewController()
@property(nonatomic, strong) UMSImpressionListenerWithBlocks * listener;
@end
@implementation ViewController
- (void) viewDidLoad {
[super viewDidLoad];
self.listener = [[UMSImpressionListenerWithBlocks alloc] init];
self.listener.onImpressionBlock= ^ (NSString *adUnitId, UMSImpressionData *impressionData) {
if (impressionData) {
NSLog(@ "impressionData: %@", [impressionData getJsonRepresentation]);
// send impression data to Adjust
ADJAdRevenue *adjustAdRevenue = [[ADJAdRevenue alloc] initWithSource:ADJAdRevenueSourceUnity];
adjustAdRevenue.setRevenue([impressionData.revenue doubleValue], impressionData.currency);
// optional fields
adjustAdRevenue.setAdRevenueNetwork(impressionData.adSourceName);
adjustAdRevenue.setAdRevenueUnit(impressionData.getAdUnit());adjustAdRevenue.setAdRevenuePlacement(impressionData.adSourceInstance);
// track Adjust ad revenue
Adjust.trackAdRevenue(adjustAdRevenue);
} else {
NSLog(@ "Data does not exist due to not enabling User-Level Reporting");
}
};
[UMSImpressionEventPublisher subscribe: self.listener];
}
@end
Java
安卓
// implement an impression listener
final IImpressionListener impressionListener = new IImpressionListener() {
@Override
public void onImpression(@NonNull String adUnitId, @Nullable ImpressionData impressionData) {
// send impression data to Adjust
AdjustAdRevenue adjustAdRevenue = new AdjustAdRevenue(AdjustConfig.AD_REVENUE_UNITY);
adjustAdRevenue.setRevenue(impressionData.getPublisherRevenuePerImpression(),impressionData.getCurrency());
// optional fields
adjustAdRevenue.setAdRevenueNetwork(impressionData.getAdSourceName());
adjustAdRevenue.setAdRevenueUnit(impressionData.getAdUnitId());
adjustAdRevenue.setAdRevenuePlacement(impressionData.getAdSourceInstance());
// track Adjust ad revenue
Adjust.trackAdRevenue(adjustAdRevenue);
}
};
// subscribe the impression listener to the impression event publisher
ImpressionEventPublisher.subscribe(impressionListener);
// unsubscribe the impression listener from the impression event publisher
ImpressionEventPublisher.unsubscribe(impressionListener);
C#
Unity
static void OnImpression(object sender, ImpressionEventArgs e)
{
var impressionData = e.ImpressionData != null ?JsonUtility.ToJson(e.ImpressionData, true) : "null";
Debug.Log($"Impression event from ad unit id {e.AdUnitId} : {impressionData}");
// send impression data to Adjust
if (e.ImpressionData != null)
{
AdjustAdRevenue adjustAdRevenue = new AdjustAdRevenue(AdjustConfig.AdjustAdRevenueSourceUnity);
adjustAdRevenue.setRevenue(e.ImpressionData.PublisherRevenuePerImpression, e.ImpressionData.Currency);
// optional fields
adjustAdRevenue.setAdRevenueNetwork(e.ImpressionData.AdSourceName);
adjustAdRevenue.setAdRevenueUnit(e.ImpressionData.AdUnitId);
adjustAdRevenue.setAdRevenuePlacement(e.ImpressionData.AdSourceInstance);
// track Adjust ad revenue
Adjust.trackAdRevenue(adjustAdRevenue);
}
}