TradPlus

    お知らせ

    この機能はBetaサービスです。改善のためのご意見やお問い合わせはAirbridge CSMまでお願いします。正式サービスではより良い機能を実装できるよう努めてまいります。

    Airbridge supports the SDK integration with TradPlus. With the integration, you can import ad revenue data from TradPlus to Airbridge.

    SDK Integration

    Click the link below and install the TradPlus SDK.

    Send TradPlus data to Airbridge

    Configure data callbacks in the TradPlus SDK to send ad revenue data to the Airbridge SDK.

    Android SDK (v4)

    1234567891011121314151617181920212223242526272829
    TradPlusSdk.setGlobalImpressionListener { tpAdInfo ->
        if (tpAdInfo != null) {
            val adPlatform = "TradPlus"
            val adNetwork = tpAdInfo.adSourceName
            val adUnit = tpAdInfo.tpAdUnitId
            val adFormat = tpAdInfo.format
            val currency = "USD"
            val revenue = tpAdInfo.ecpm.toDouble() / 1000
    
            Airbridge.trackEvent(
                AirbridgeCategory.AD_IMPRESSION,
                mapOf(
                    AirbridgeAttribute.ACTION to adNetwork,
                    AirbridgeAttribute.LABEL to adFormat,
                    AirbridgeAttribute.VALUE to revenue,
                    AirbridgeAttribute.AD_PARTNERS to mapOf(
                        "tradPlus" to mapOf(
                            "ad_platform" to adPlatform,
                            "ad_network" to adNetwork,
                            "ad_unit" to adUnit,
                            "ad_format" to adFormat,
                            "value" to revenue
                        )
                    ),
                    AirbridgeAttribute.CURRENCY to currency
                )
            )
        }
    }
    12345678910111213141516171819202122232425262728293031323334
    TradPlusSdk.setGlobalImpressionListener(new GlobalImpressionManager.GlobalImpressionListener() {
        @Override
        public void onImpressionSuccess(TPAdInfo tpAdInfo) {
    
            if (tpAdInfo != null) {
                String adPlatform = "TradPlus";
                String adNetwork = tpAdInfo.adSourceName;
                String adUnit = tpAdInfo.tpAdUnitId;
                String adFormat = tpAdInfo.format;
                String currency = "USD";
                double revenue = Double.parseDouble(tpAdInfo.ecpm) / 1000;
    
    
                Airbridge.trackEvent(
                    AirbridgeCategory.AD_IMPRESSION,
                    new HashMap() {{
                        put(AirbridgeAttribute.ACTION, adNetwork);
                        put(AirbridgeAttribute.LABEL, adFormat);
                        put(AirbridgeAttribute.VALUE, revenue);
                        put(AirbridgeAttribute.AD_PARTNERS, new HashMap() {{
                            put("tradPlus", new HashMap() {{
                                put("ad_platform", adPlatform);
                                put("ad_network", adNetwork);
                                put("ad_unit", adUnit);
                                put("ad_format", adFormat);
                                put("value", revenue);
                            }});
                        }});
                        put(AirbridgeAttribute.CURRENCY, currency);
                    }}
                );
            }
        }
    });

    Android SDK (Previous)

    123456789101112131415161718192021222324252627282930
    TradPlusSdk.setGlobalImpressionListener { tpAdInfo ->
        if (tpAdInfo != null) {
            val adPlatform = "TradPlus"
            val adNetwork = tpAdInfo.adSourceName
            val adUnit = tpAdInfo.tpAdUnitId
            val adFormat = tpAdInfo.format
            val currency = "USD"
            val revenue = tpAdInfo.ecpm.toDouble() / 1000
    
            val event = Event("airbridge.adImpression")
    
            val tradPlus = mutableMapOf<String, Any?>()
            tradPlus["ad_platform"] = adPlatform
            tradPlus["ad_network"] = adNetwork
            tradPlus["ad_unit"] = adUnit
            tradPlus["ad_format"] = adFormat
            tradPlus["value"] = revenue
    
            val adPartners = mapOf("tradPlus" to tradPlus)
            event.action = adNetwork
            event.label = adFormat
            event.value = revenue
            event.semanticAttributes = mutableMapOf(
                "adPartners" to adPartners,
                "currency" to currency
            )
    
            Airbridge.trackEvent(event)
        }
    }
    12345678910111213141516171819202122232425262728293031323334353637
    TradPlusSdk.setGlobalImpressionListener(new GlobalImpressionManager.GlobalImpressionListener() {
        @Override
        public void onImpressionSuccess(TPAdInfo tpAdInfo) {
    
            if (tpAdInfo != null) {
                String adPlatform = "TradPlus";
                String adNetwork = tpAdInfo.adSourceName;
                String adUnit = tpAdInfo.tpAdUnitId;
                String adFormat = tpAdInfo.format;
                String currency = "USD";
                double revenue = Double.parseDouble(tpAdInfo.ecpm) / 1000;
    
                Event event = new Event("airbridge.adImpression");
    
                Map<String, Object> tradPlus = new HashMap<>();
                tradPlus.put("ad_platform", adPlatform);
                tradPlus.put("ad_network", adNetwork);
                tradPlus.put("ad_unit", adUnit);
                tradPlus.put("ad_format", adFormat);
                tradPlus.put("value", revenue);
    
                Map<String, Object> adPartners = new HashMap<>();
                adPartners.put("tradPlus", tradPlus);
    
                Map<String, Object> semanticAttributes = new HashMap<>();
                semanticAttributes.put("adPartners", adPartners);
                semanticAttributes.put("currency", currency);
    
                event.setAction(adNetwork);
                event.setLabel(adFormat);
                event.setValue(revenue);
                event.setSemanticAttributes(semanticAttributes);
    
                Airbridge.trackEvent(event);
            }
        }
    });

    iOS SDK (v4)

    123456789101112131415161718192021222324252627
    let adPlatform = "TradPlus"
    guard let adNetwork = adInfo["adNetworkName"] as? String else { return }
    guard let adUnit = adInfo["adunit_id"] as? String else { return }
    guard let adFormat = adInfo["adType"] as? String else { return }
    let currency = "USD"
    
    guard let ecpm = adInfo["ecpm"] as? String else { return }
    let revenue = NSNumber(value: (Float(ecpm) ?? 0) / 1000.0)
    
    Airbridge.trackEvent(
    	category: AirbridgeCategory.AD_IMPRESSION,
    	semanticAttributes: [
    		AirbridgeAttribute.ACTION: adNetwork,
    		AirbridgeAttribute.LABEL: adFormat,
    		AirbridgeAttribute.VALUE: revenue,
    		AirbridgeAttribute.AD_PARTNERS: [
    			"tradPlus": [
    				"ad_platform": adPlatform,
    				"ad_network": adNetwork,
    				"ad_unit": adUnit,
    				"ad_format": adFormat,
    				"value": revenue
    			]
    		],
    		AirbridgeAttribute.CURRENCY: currency
    	]
    )
    12345678910111213141516171819202122232425
    - (void)tradPlusAdImpression:(NSDictionary *)adInfo
    {
        NSString* adPlatform = @"TradPlus";
        NSString* adNetwork = adInfo[@"adNetworkName"];
        NSString* adUnit = adInfo[@"adunit_id"];
        NSString* adFormat = adInfo[@"adType"];
        NSString* currency = @"USD";
        NSNumber *revenue = [NSNumber numberWithFloat: [adInfo[@"ecpm"] floatValue]/1000.0];
        
        [Airbridge trackEventWithCategory:AirbridgeCategory.AD_IMPRESSION semanticAttributes:@{
            AirbridgeAttribute.ACTION: adNetwork,
            AirbridgeAttribute.LABEL: adFormat,
            AirbridgeAttribute.VALUE: revenue,
            AirbridgeAttribute.AD_PARTNERS: @{
                @"tradPlus": @{
                    @"ad_platform": adPlatform,
                    @"ad_network": adNetwork,
                    @"ad_unit": adUnit,
                    @"ad_format": adFormat,
                    @"value": revenue
                }
            },
            @"currency": currency
        }];
    }

    iOS SDK (Previous)

    1234567891011121314151617181920212223242526272829
    let adPlatform = "TradPlus"
    guard let adNetwork = adInfo["adNetworkName"] as? String else { return }
    guard let adUnit = adInfo["adunit_id"] as? String else { return }
    guard let adFormat = adInfo["adType"] as? String else { return }
    let currency = "USD"
    
    guard let ecpm = adInfo["ecpm"] as? String else { return }
    let revenue = NSNumber(value: (Float(ecpm) ?? 0) / 1000.0)
    
    let event = ABInAppEvent()
    
    event?.setCategory("airbridge.adImpression")
    event?.setAction(adNetwork)
    event?.setLabel(adFormat)
    event?.setValue(revenue)
    event?.setSemantics([
        "adPartners": [
            "tradPlus": [
                "ad_platform": adPlatform,
                "ad_network": adNetwork,
                "ad_unit": adUnit,
                "ad_format": adFormat,
                "value": revenue
            ]
        ],
        "currency": currency
    ])
    
    event?.send()
    1234567891011121314151617181920212223242526272829
    - (void)tradPlusAdImpression:(NSDictionary *)adInfo
    {
        NSString* adPlatform = @"TradPlus";
        NSString* adNetwork = adInfo[@"adNetworkName"];
        NSString* adUnit = adInfo[@"adunit_id"];
        NSString* adFormat = adInfo[@"adType"];
        NSString* currency = @"USD";
        NSNumber *revenue = [NSNumber numberWithFloat: [adInfo[@"ecpm"] floatValue]/1000.0];
        
        ABInAppEvent* event = [[ABInAppEvent alloc] init];
        [event setCategory:@"airbridge.adImpression"];
        [event setAction:adNetwork];
        [event setLabel:adFormat];
        [event setValue:revenue];
        [event setSemantics:@{
            @"adPartners": @{
                @"tradPlus": @{
                    @"ad_platform": adPlatform,
                    @"ad_network": adNetwork,
                    @"ad_unit": adUnit,
                    @"ad_format": adFormat,
                    @"value": revenue
                }
            },
            @"currency": currency
        }];
    
        [event send];
    }

    Unity SDK (v4)

    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
    TradplusAds.Instance().AddGlobalAdImpression(OnGlobalAdImpression);
    
    // ...
    
    void OnGlobalAdImpression(Dictionary<string, object> adInfo)
    {
        string adPlatform = "TradPlus";
        var adNetwork = "";
        var adUnit = "";
        var adFormat = "";
    #if UNITY_IOS
        adNetwork = adInfo["adNetworkName"] as string;
        adUnit = adInfo["adunit_id"] as string;
        adFormat = adInfo["adType"] as string;
    #else
        adNetwork = adInfo["adSourceName"] as string;
        adUnit = adInfo["tpAdUnitId"] as string;
        adFormat = adInfo["format"] as string;
    #endif
        var currency = "USD";
        var revenue = double.Parse(adInfo["ecpm"] as string, System.Globalization.CultureInfo.InvariantCulture) / 1000;
    
        Airbridge.TrackEvent(
            category: AirbridgeCategory.AD_IMPRESSION,
            semanticAttributes: new Dictionary<string, object>()
            {
                { AirbridgeAttribute.ACTION, adUnit },
                { AirbridgeAttribute.LABEL, adFormat },
                { AirbridgeAttribute.VALUE, revenue },
                {
                    AirbridgeAttribute.AD_PARTNERS, new Dictionary<string, object>()
                    {
                        {
                            "tradPlus", new Dictionary<string, object>()
                            {
                                { "ad_platform", adPlatform },
                                { "ad_network", adNetwork },
                                { "ad_unit", adUnit },
                                { "ad_format", adFormat },
                                { "value", revenue },
                            }
                        }
                    }
                },
                { AirbridgeAttribute.CURRENCY, currency }
            }
        );
    }

    Unity SDK (Previous)

    123456789101112131415161718192021222324252627282930313233343536373839404142
    TradplusAds.Instance().AddGlobalAdImpression(OnGlobalAdImpression);
    
    // ...
    
    void OnGlobalAdImpression(Dictionary<string, object> adInfo)
    {
        string adPlatform = "TradPlus";
        var adNetwork = "";
        var adUnit = "";
        var adFormat = "";
    #if UNITY_IOS
        adNetwork = adInfo["adNetworkName"] as string;
        adUnit = adInfo["adunit_id"] as string;
        adFormat = adInfo["adType"] as string;
    #else
        adNetwork = adInfo["adSourceName"] as string;
        adUnit = adInfo["tpAdUnitId"] as string;
        adFormat = adInfo["format"] as string;
    #endif
        var currency = "USD";
        var revenue = double.Parse(adInfo["ecpm"] as string, System.Globalization.CultureInfo.InvariantCulture) / 1000;
            
        AirbridgeEvent @event = new AirbridgeEvent("airbridge.adImpression");
    
        var tradPlus = new Dictionary<string, object>();
        tradPlus["ad_platform"] = adPlatform;
        tradPlus["ad_network"] = adNetwork;
        tradPlus["ad_unit"] = adUnit;
        tradPlus["ad_format"] = adFormat;
        tradPlus["value"] = revenue;
    
        var adPartners = new Dictionary<string, object>();
        adPartners["tradPlus"] = tradPlus;
    
        @event.SetAction(adUnit);
        @event.SetLabel(adFormat);
        @event.SetValue(revenue);
        @event.AddSemanticAttribute("adPartners", adPartners);
        @event.AddSemanticAttribute("currency", currency);
    
        AirbridgeUnity.TrackEvent(@event);
    }