LogoLogo
My AppsLive demoNewsArticles
  • Introduction
  • 📌Product updates: 2025
    • 2024
    • 2023
  • Getting Started
    • Registration
    • Adding a space
    • Adding an app to the space
  • Basic Events & Custom Events
  • Integration
    • Expert Tips
      • What to track
      • Payments & Anti-cheat
      • Check your integration
    • Integration of SDK 2.0+
      • SDK Integration
        • Android
        • iOS
        • macOS
        • Windows
        • Web
          • Web SDK Integration
          • Web SDK Releases
        • Unity
        • Unreal Engine
        • Godot Engine
      • Automatic payment tracking
        • App Store
        • Google Play
      • Setting up Events
        • Basic methods
        • Secondary methods
        • User profile
        • Anticheat methods
        • Track sessions
      • Push notifications
        • Android
        • iOS
        • Windows (UWP)
        • Unity
          • Android
          • iOS
          • Windows (UWP/WSA)
        • Unreal Engine
      • A/B testing
        • Description of A/B testing on the SDK side
        • Working with A/B tests in the devtodev interface
        • A/B testing examples
    • Integration of SDK 1.0+ (deprecated)
      • SDK Integration
        • iOS
        • Android
        • Windows 8.1 and 10
        • Web
        • Unity
        • Mac OS
        • Adobe Air
        • UE4
      • Setting up Events
        • Basic methods
        • Secondary methods
        • User profile
        • Anti-cheat Methods
      • Push Notifications
        • IOS
        • Android
        • Windows 8.1 and Windows 10
        • Unity
        • Abode Air
        • UE4
    • Test Devices
    • Server API
      • Data API 2.0
      • Subscription API
      • Push API
        • IOS
        • Android
        • Windows UWP
        • Windows
      • Raw Export
      • Labels API
      • Data API
    • Import historical data via API
    • Data Export
      • Data Export to Cloud Storage (BigQuery / Amazon S3)
  • 3rd Party Sources
    • Attribution Trackers
      • AppsFlyer
      • Adjust
      • Branch.io
      • Kochava
      • Tenjin
      • Tune (MAT)
      • Singular
      • Custom postback API
      • Facebook Ads referral decryption
    • App Marketplace Data
      • App Store Connect Stats
      • App Store Subscriptions
      • Google Play Console Stats
      • Google Play Subscriptions
      • AppGallery Connect Stats
    • Ad revenue
      • AdColony
      • AdMob
      • Facebook
      • MoPub
      • Unity Ads
      • Vungle
      • Ad revenue API
    • Cohort export
  • Reports and Functionality
    • Space-related Reports and Functionality
      • Overview
      • Custom dashboards & Reports
      • SQL
        • SQL tips
        • SQL Query examples
      • Audience overlap
    • Project-related Reports and Functionality
      • Overview
        • Real-Time Dashboard
        • Acquisition reports
        • Engagement reports
        • Monetization reports
        • In-game analysis reports
        • Cohort analysis
      • Reports
      • Push Notifications
        • Android Notifications
        • IOS Notifications
        • Windows Notifications
        • Button Templates
      • Predictions
      • Users & Segments
      • Filters
      • A/B Testing
      • Tuning
      • Settings
  • Metrics and Glossary
    • Ad networks metrics
    • Market Metrics
    • Prediction Metrics
    • SDK Metrics
    • Subscription metrics
  • Space Management
  • User Profile Management
  • Limits
  • Scenarios and Best Practices
    • Analytics use cases
    • Match-3
    • MMORPG Games
    • Hyper-Casual games
    • Social Casino
    • RPG games
    • Farming games
    • Non-gaming app
    • Acquisition Example
  • FAQ
    • Identification
    • Raw Data
    • All about data discrepancies
  • Slack
Powered by GitBook
On this page
  • Initial referrer tracking
  • Connecting to social networks
  • Posting to social networks
  • OpenUdid
  • ODIN1
  • UUID
  • Debug mode
  • Forced sending
  • Current SDK version
  • Set app version
  • Tracking state (GDPR)

Was this helpful?

Export as PDF
  1. Integration
  2. Integration of SDK 1.0+ (deprecated)
  3. Setting up Events

Secondary methods

PreviousBasic methodsNextUser profile

Last updated 17 days ago

Was this helpful?

This generation of SDK is deprecated and is no longer supported. Information about the .

Initial referrer tracking

Unfortunately, Apple does not provide any capability to pass a referrer string through to your app from a link to the App Store. But if you have a referral info, you can set it using the method below:

/**
 * Tracks user's referral data
 * ### Usage:
 *    [DevToDev referrer:@{
 *       RFSource: @"adwords",
 *       RFMedium: @"cpi",
 *       RFContent: @"Snow Boots",
 *       RFCampaign: @"Warm Snow Boots",
 *       RFTerm: @"snow boots"
 *    }];
 * 
 * @param NSDictionary<ReferralProperty*, NSString*> utm - Dictionary with referrer values
 */
[DevToDev referrer: (NSDictionary<ReferralProperty*, NSString*> *) utm];

The list of predefined keys:

//To identify a search engine, newsletter name, or other source.
// (for example 'AdWords', 'Bing', 'E-Mail Newsletter')
ReferralProperty * RFSource;

//To identify a medium such as email or cost-per-install.
// (for example 'CPI')
ReferralProperty * RFMedium;

//To identify a specific product promotion or strategic campaign.
//(for example 'Snow Boots')
ReferralProperty * RFCampaign;

//To differentiate ads or links that point to the same URL.
//(for example some ads might advertise 'Warm Snow Boots' and others might advertise 'Durable Snow Boots')
ReferralProperty * RFContent;

//To note the keywords for this ad.
// for example 'shoes+boots')
ReferralProperty * RFTerm;

//To add a custom key
[ReferralProperty Custom:@"your_key_name"];

Unfortunately, Windows Store does not provide any capability to pass a referrer string through to your app from a link to the store. But if you have a referral info, you can set it using the method below:

/**
 * ### Usage:
 *     Dictionary<ReferralProperty, string> referralData = new Dictionary<ReferralProperty, string>();
 *     referralData.Add(ReferralProperty.Source, "source");
 *     referralData.Add(ReferralProperty.Medium, "medium");
 *     referralData.Add(ReferralProperty.Content, "content");
 *     referralData.Add(ReferralProperty.Campaign, "campaign");
 *     referralData.Add(ReferralProperty.Term, "term");
 *     referralData.Add(ReferralProperty.Custom("site"), "site");
 *     DevToDev.SDK.Referral(referralData);
 *
 * <param name="referralData">Dictionary with referrer values</param>
 */
DevToDev.SDK.Referral(Dictionary<ReferralProperty, string> referralData);

The list of predefined keys:

//To identify a search engine, newsletter name, or other source.
// (for example 'AdWords', 'Bing', 'E-Mail Newsletter')
ReferralProperty.Source;

//To identify a medium such as email or cost-per-install.
// (for example 'CPI')
ReferralProperty.Medium;

//To identify a specific product promotion or strategic campaign.
//(for example 'Snow Boots')
ReferralProperty.Campaign;

//To differentiate ads or links that point to the same URL.
//(for example some ads might advertise 'Warm Snow Boots' and others might advertise 'Durable Snow Boots')
ReferralProperty.Content;

//To note the keywords for this ad.
// for example 'shoes+boots')
ReferralProperty.Term;

//To add a custom key
ReferralProperty.Custom("your_key_name");

Automated referral parameters are available on Android platform. Unfortunately, other platforms do not provide any capability to pass a referrer string through to your app from a link to the store. But if you have a referral info, you can set it using the method below:

/// <summary> Initial referrer tracking <summary>
/// <example> Usage:
/// 
///     Dictionary<ReferralProperty, string> referralData = new Dictionary<ReferralProperty, string>();
///     referralData.Add(ReferralProperty.Source, "source");
///     referralData.Add(ReferralProperty.Medium, "medium");
///     referralData.Add(ReferralProperty.Content, "content");
///     referralData.Add(ReferralProperty.Campaign, "campaign");
///     referralData.Add(ReferralProperty.Term, "term");
///     referralData.Add(ReferralProperty.Custom("site"), "site");
///     DevToDev.Analytics.Referral(referralData);
/// 
/// </example>
/// <param name="referralData"> Dictionary with referrer values </param>
DevToDev.Analytics.Referral(Dictionary<ReferralProperty, string> referralData);

The list of predefined keys:

// To identify a search engine, newsletter name, or other source.
// (for example 'AdWords', 'Bing', 'E-Mail Newsletter')
ReferralProperty.Source;

// To identify a medium such as email or cost-per-install.
// (for example 'CPI')
ReferralProperty.Medium;

// To identify a specific product promotion or strategic campaign.
// (for example 'Snow Boots')
ReferralProperty.Campaign;

// To differentiate ads or links that point to the same URL.
//(for example some ads might advertise 'Warm Snow Boots' and others might advertise 'Durable Snow Boots')
ReferralProperty.Content;

// To note the keywords for this ad.
// (for example 'shoes+boots')
ReferralProperty.Term;

// To add a custom key
ReferralProperty.Custom("your_key_name");

Unfortunately, Apple does not provide any capability to pass a referrer string through to your app from a link to the app store. But if you have a referral info, you can set it using the method below:

/**
 * Tracks user's referral data
 * ### Usage:
 *    [DevToDev referrer:@{
 *       RFSource: @"adwords",
 *       RFMedium: @"cpi",
 *       RFContent: @"Snow Boots",
 *       RFCampaign: @"Warm Snow Boots",
 *       RFTerm: @"snow boots"
 *    }];
 * 
 * @param NSDictionary<ReferralProperty*, NSString*> utm - Dictionary with referrer values
 */
[DevToDev referrer: (NSDictionary<ReferralProperty*, NSString*> *) utm];

The list of predefined keys:

//To identify a search engine, newsletter name, or other source.
// (for example 'AdWords', 'Bing', 'E-Mail Newsletter')
ReferralProperty * RFSource;

//To identify a medium such as email or cost-per-install.
// (for example 'CPI')
ReferralProperty * RFMedium;

//To identify a specific product promotion or strategic campaign.
//(for example 'Snow Boots')
ReferralProperty * RFCampaign;

//To differentiate ads or links that point to the same URL.
//(for example some ads might advertise 'Warm Snow Boots' and others might advertise 'Durable Snow Boots')
ReferralProperty * RFContent;

//To note the keywords for this ad.
// for example 'shoes+boots')
ReferralProperty * RFTerm;

//To add a custom key
[ReferralProperty Custom:@"your_key_name"];

Automated referral parameters is available on Android platform. Unfortunately, other platforms do not provide any capability to pass a referrer string through to your app from a link to the store. But if you have a referral info, you can set it using the method below:

/**
* ### Usage:
*     var referralData:Dictionary = new Dictionary();
*     referralData[ReferralProperty.Source] = "source";
*     referralData[ReferralProperty.Medium] = "medium";
*     referralData[ReferralProperty.Content] = "content";
*     referralData[ReferralProperty.Campaign] = "campaign";
*     referralData[ReferralProperty.Term] = "term";
*     referralData[ReferralProperty.Custom("site")] = "site";
*     DevToDev.referral(referralData);
*
* @ param referralData - dictionary with referrer values
*/
DevToDev.referral(referralData:Dictionary);
The list of predefined keys:
// To identify a search engine, newsletter name, or other source.
// (for example 'AdWords', 'Bing', 'E-Mail Newsletter')
ReferralProperty.Source;

// To identify a medium such as email or cost-per-install.
// (for example 'CPI')
ReferralProperty.Medium;

// To identify a specific product promotion or strategic campaign.
// (for example 'Snow Boots')
ReferralProperty.Campaign;

// To differentiate ads or links that point to the same URL.
// (for example some ads might advertise 'Warm Snow Boots' and others might advertise 'Durable Snow Boots')
ReferralProperty.Content;

// To note the keywords for this ad.
// (for example 'shoes+boots')
ReferralProperty.Term;

// To add a custom key
ReferralProperty.Custom("your_key_name");

Unfortunately, Apple does not provide any capability to pass a referrer string through to your app from a link to the app store. But if you have a referral info, you can set it using the method below:

Blueprint

Field

Type

Description

Source

FString

To identify a search engine, newsletter name, or other source. (for example 'AdWords', 'Bing', 'E-Mail Newsletter')

Medium

FString

To identify a medium such as email or cost-per-install. (for example 'CPI')

Campaign

FString

To identify a specific product promotion or strategic campaign. (for example 'Snow Boots')

Content

FString

To differentiate ads or links that point to the same URL. (for example some ads might advertise 'Warm Snow Boots' and others might advertise 'Durable Snow Boots')

Term

FString

To note the keywords for this ad. for example 'shoes+boots')

Code

UDevToDevBlueprintFunctionLibrary::Referrer(const TArray<FAnalyticsEventAttr>& Attributes);

Connecting to social networks

/**
* Tracks the existence of a connection with a social network. 
* Use pre-defined or custom values as an identifier.
* @param SocialNetwork socialNetwork - social network id
*/
[DevToDev socialNetworkConnect: (SocialNetwork *) socialNetwork];javascript:void(0)

Use the current constants to specify a social network:

Facebook
Twitter
GooglePlus
VK
//and so on...

Otherwise, create an object with the social network name you need.

SocialNetwork  socialNetwork = [SocialNetwork Custom: (NSString *) networkName]; (max. 24 symbols)
/**
* Tracks the existence of a connection with a social network.
* Use pre-defined or custom values as an identifier.
* @param SocialNetwork socialNetwork - social network id
*/
DevToDev.socialNetworkConnect(SocialNetwork socialNetwork);

Use the current constants to specify a social network:

  • SocialNetwork.Facebook

  • SocialNetwork.Twitter

  • SocialNetwork.GooglePlus

  • SocialNetwork.Vk

  • and so on...

Otherwise, create your own social network object.

/**
* Custom social network object
* @param networkName - social network name (max. 24 symbols)
*/
SocialNetwork socialNetwork = SocialNetwork.Custom(String networkName);
/**
* Tracks the existence of a connection with a social network.
* Use pre-defined or custom values as an identifier.
* <param name="socialNetwork"> Social network ID </param>
*/
DevToDev.SDK.SocialNetworkConnect(SocialNetwork socialNetwork);

Example:

DevToDev.SDK.SocialNetworkConnect(SocialNetwork.Facebook);

Use the current constants to specify social network:

SocialNetwork.Facebook SocialNetwork.Twitter SocialNetwork.GooglePlus SocialNetwork.Vk and so on...

Otherwise, create social network the object of your own:

SocialNetwork socialNetwork = SocialNetwork.Custom(string networkName); //(max. 24 symbols)
/**
* Tracks the existence of a connection with a social network.
* Use pre-defined or custom values as an identifier.
* @param {string} socialNetwork - social network id (max. 24 symbols)
**/

devtodev.socialNetworkConnect(socialNetwork);

We recommend using the following values for the most popular social networks:

Value

Social Network

Value

Social Network

en

Evernote

rt

Reddit

fb

Facebook

rr

Renren

gm

Google Mail

tb

Tumblr

gp

Google+

tw

Twitter

in

LinkedIn

vk

VK

ok

Odnoklassniki

vb

Viber

pi

Pinterest

wp

WhatsApp

qq

Qzone

/// <summary> Track the existence of a connection with a social network. 
/// Use pre-defined or custom values as an identifier.</summary>
/// <param name="socialNetwork"> Social network ID </param>
DevToDev.Analytics.SocialNetworkConnect(DevToDev.SocialNetwork socialNetwork);

Use the current constants to specify social network:

DevToDev.SocialNetwork.Facebook
DevToDev.SocialNetwork.Twitter
DevToDev.SocialNetwork.GooglePlus
DevToDev.SocialNetwork.Vk
// and so on...

Otherwise, create your own social network object.

DevToDev.SocialNetwork socialNetwork = DevToDev.SocialNetwork.Custom(string networkName); //(max. 24 symbols)
/**
* Tracks the existence of a connection with a social network. Use pre-defined or custom values as an identifier.
* @param SocialNetwork socialNetwork - social network id
*/
[DevToDev socialNetworkConnect: (SocialNetwork *) socialNetwork];

Use the current constants to specify social network:

Facebook
Twitter
GooglePlus
VK
//and so on...

Otherwise, create social network the object of your own.

SocialNetwork  socialNetwork = [SocialNetwork Custom: (NSString *) networkName]; //max. 24 symbols
/**
* Tracks the existence of a connection with a social network.
* Use pre-defined or custom values as an identifier.
* @param socialNetwork - social network id
*/
DevToDev.socialNetworkConnect(socialNetwork:SocialNetwork);

Use the current constants to specify social network:

SocialNetwork.VK;
SocialNetwork.TWITTER;
SocialNetwork.FACEBOOK;
SocialNetwork.GOOGLE_PLUS;
SocialNetwork.WHATS_APP;
SocialNetwork.VIBER;
SocialNetwork.EVERNOTE;
SocialNetwork.GOOGLE_MAIL;
SocialNetwork.LINKED_IN;
SocialNetwork.PINTEREST;
SocialNetwork.QZONE;
SocialNetwork.REDDIT;
SocialNetwork.RENREN;
SocialNetwork.TUMBLR;

Otherwise, create your own social network object:

/**
* Custom social network object
* @param networkName - social network name (max. 24 symbols)
*/
var socialNetwork:SocialNetwork = SocialNetwork.Custom(networkName:String);

Blueprint

Field

Type

Description

Social Name

FString

Social network Id

Code

// Tracks the existence of a connection with a social network.
// Use pre-defined or custom values as an identifier.
// FString socialNetwork - social network id (max. 24 symbols)

UDevToDevBlueprintFunctionLibrary::SocialNetworkConnect(const FString& socialNetwork);

We recommend using the following values for the most popular social networks:

Value

Social Network

Value

Social Network

en

Evernote

rt

Reddit

fb

Facebook

rr

Renren

gm

Google Mail

tb

Tumblr

gp

Google+

tw

Twitter

in

LinkedIn

vk

VK

ok

Odnoklassniki

vb

Viber

pi

Pinterest

wp

WhatsApp

qq

Qzone

Posting to social networks

Track publications in social networks and analyze the effectiveness of viral messages. The event is sent after a social network confirms the publication.

/**
* Tracks the existence of posts to a social network.
* @param socialNetwork - social network Id
* @param NSString reason - the reason of posting (max. 32 symbols)
*/
[DevToDev socialNetworkPost: (SocialNetwork *) socialNetwork withReason: (NSString *) reason];

As a 'reason' parameter we recommend you indicate actions which encourage users to make a publication.

For example:

  • Start playing

  • New level reached

  • New building

  • New ability

  • Quest completed

  • New item

  • Collection completed

  • Invitation

  • Asking for help

  • New Record

  • Achievement

  • URL sharing

  • Recommendation

  • Review

and so on...

Facebook
Twitter
GooglePlus
VK
//and so on...

Otherwise, create an object with the social network name you need.

SocialNetwork  socialNetwork = [SocialNetwork Custom: (NSString *) networkName];
// networkName (max. 24 symbols)
/**
* Tracks the existence of posts to a social network.
* @param socialNetwork - social network Id
* @param reason - the reason of posting (max. 32 symbols)
*/
DevToDev.socialNetworkPost(SocialNetwork socialNetwork, String reason);

As a «reason» parameter we recommend that you indicate actions which encourage users to make a publication.

For example:

  • Start playing

  • New level reached

  • New building

  • New ability

  • Quest completed

  • New item

  • Collection completed

  • Invitation

  • Asking for help

  • New Record

  • Acheivement

  • URL sharing

  • Recommendation

  • Review

  • and so on...

Use the current constants to specify a social network:

  • SocialNetwork.Facebook

  • SocialNetwork.Twitter

  • SocialNetwork.GooglePlus

  • SocialNetwork.Vk

  • and so on...

Otherwise, create your own social network object.

/**
* Custom social network object
* @param networkName - social network name (max. 24 symbols)
*/
SocialNetwork socialNetwork = SocialNetwork.Custom(String networkName);

The social network ID is the same as with DevToDev.SDK.SocialNetworkConnect(). It is possible to use pre-defined or custom values as the reason (pReason parameter) .

/**
*  <param name="networkName"> Social network ID </param>
*  <param name="reason"> The reason of posting. (max. 32 symbols)</param>
*/
DevToDev.SDK.SocialNetworkPost(SocialNetwork socialNetwork, String reason)

Example:

DevToDev.SDK.SocialNetworkPost(SocialNetwork.Facebook, "newLevelReached");

As a «reason» parameter we recommend that you indicate actions which encourage users to make publication.

For example:

  • Start playing

  • New level reached

  • New building

  • New ability

  • Quest completed

  • New item

  • Collection completed

  • Invitation

  • Asking for help

  • New Record

  • Acheivement

  • URL sharing

  • Recommendation

  • Review

and so on...

Use the current constants to specify social network:

SocialNetwork.Facebook SocialNetwork.Twitter SocialNetwork.GooglePlus SocialNetwork.Vk and so on...

Otherwise, create social network the object of your own:

SocialNetwork socialNetwork = SocialNetwork.Custom(string networkName); //(max. 24 symbols)
/**
* Tracks the existence of posts to a social network.
* @param {string} socialNetwork - social network Id (max. 24 symbols)
* @param {string} reason - the reason of posting (max. 32 symbols)
*/

devtodev.socialNetworkPost(socialNetwork, reason);

As a «reason» parameter we recommend that you indicate actions which encourage users to make publication.

For example:

  • Start playing

  • New level reached

  • New building

  • New ability

  • Quest completed

  • New item

  • Collection completed

  • Invitation

  • Asking for help

  • New Record

  • Achiеvement

  • URL sharing

  • Recommendation

  • Review

and so on...

Value

Social Network

Value

Social Network

en

Evernote

rt

Reddit

fb

Facebook

rr

Renren

gm

Google Mail

tb

Tumblr

gp

Google+

tw

Twitter

in

LinkedIn

vk

VK

ok

Odnoklassniki

vb

Viber

pi

Pinterest

wp

WhatsApp

qq

Qzone

/// <summary> Track the existence of posts to a social network. </summary>
/// <param name="networkName"> Social network ID </param>
/// <param name="reason"> The reason of posting. (max. 32 symbols)</param>
DevToDev.Analytics.SocialNetworkPost(DevToDev.SocialNetwork networkName, string reason);

As a «reason» parameter we recommend that you indicate actions which encourage users to make publication.

For example:

  • Start playing

  • New level reached

  • New building

  • New ability

  • Quest completed

  • New item

  • Collection completed

  • Invitation

  • Asking for help

  • New Record

  • Acheivement

  • URL sharing

  • Recommendation

  • Review

and so on...

Use the current constants to specify social network:

DevToDev.SocialNetwork.Facebook
DevToDev.SocialNetwork.Twitter
DevToDev.SocialNetwork.GooglePlus
DevToDev.SocialNetwork.Vk
// and so on...

Otherwise, create your own social network object.

DevToDev.SocialNetwork socialNetwork = DevToDev.SocialNetwork.Custom(string networkName); //(max. 24 symbols)
/**
* Tracks the existence of posts to a social network.
* @param socialNetwork - social network Id
* @param reason - the reason of posting (max. 32 symbols)
*/
[DevToDev socialNetworkPost: (SocialNetwork *) socialNetwork withReason: (NSString *) reason];

As a «reason» parameter we recommend that you indicate actions which encourage users to make publication.

For example:

  • Start playing

  • New level reached

  • New building

  • New ability

  • Quest completed

  • New item

  • Collection completed

  • Invitation

  • Asking for help

  • New Record

  • Achievement

  • URL sharing

  • Recommendation

  • Review

and so on...

Use the current constants to specify social network:

Facebook
Twitter
GooglePlus
VK
//and so on...

Otherwise, create social network the object of your own.

SocialNetwork  socialNetwork = [SocialNetwork Custom: (NSString *) networkName]; //max. 24 symbols
/**
* Tracks the existence of posts to a social network.
* @param socialNetwork - social network Id
* @param reason - the reason of posting (max. 32 symbols)
*/
DevToDev.socialNetworkPost(socialNetwork:SocialNetwork, reason:String);

As a «reason» parameter we recommend that you indicate actions which encourage users to make publication.

For example:

  • Start playing

  • New level reached

  • New building

  • New ability

  • Quest completed

  • New item

  • Collection completed

  • Invitation

  • Asking for help

  • New Record

  • Acheivement

  • URL sharing

  • Recommendation

  • Review

  • and so on...

Use the current constants to specify social network:

SocialNetwork.VK;
SocialNetwork.TWITTER;
SocialNetwork.FACEBOOK;
SocialNetwork.GOOGLE_PLUS;
SocialNetwork.WHATS_APP;
SocialNetwork.VIBER;
SocialNetwork.EVERNOTE;
SocialNetwork.GOOGLE_MAIL;
SocialNetwork.LINKED_IN;
SocialNetwork.PINTEREST;
SocialNetwork.QZONE;
SocialNetwork.REDDIT;
SocialNetwork.RENREN;
SocialNetwork.TUMBLR;

Otherwise, create your own social network object:

/**
* Custom social network object
* @param networkName - social network name (max. 24 symbols)
*/
var socialNetwork:SocialNetwork = SocialNetwork.Custom(networkName:String);

Blueprint

Field

Type

Description

Social Name

FString

Social network Id

Reason

FString

The reason of posting (max. 32 symbols)

Code

// Tracks the existence of posts to a social network.
// FString socialNetwork - social network Id
// FString reason - the reason of posting (max. 32 symbols)

UDevToDevBlueprintFunctionLibrary::SocialNetworkPost(const FString& socialNetwork, const FString& reason);

As a «reason» parameter we recommend that you indicate actions which encourage users to make publication.

For example:

  • Start playing

  • New level reached

  • New building

  • New ability

  • Quest completed

  • New item

  • Collection completed

  • Invitation

  • Asking for help

  • New Record

  • Achievement

  • URL sharing

  • Recommendation

  • Review

and so on...

Value

Social Network

Value

Social Network

en

Evernote

rt

Reddit

fb

Facebook

rr

Renren

gm

Google Mail

tb

Tumblr

gp

Google+

tw

Twitter

in

LinkedIn

vk

VK

ok

Odnoklassniki

vb

Viber

pi

Pinterest

wp

WhatsApp

qq

Qzone

OpenUdid

Property allows to get UDID:

/**
* @return OpenUdid
*/
[DevToDev getOpenUdid];
/**
* @return Open Udid
*/
DevToDev.getOpenUdid();
DevToDev.SDK.OpenUdid

DevToDev.Analytics.OpenUdid
/**
* @return Open Udid
*/
[DevToDev getOpenUdid];

ODIN1

Property allows to get ODIN:

/**
* @return ODIN1
*/
[DevToDev getOdin1];
/**
* @return ODIN1
*/
DevToDev.getOdin1();
DevToDev.SDK.ODIN

DevToDev.Analytics.Odin1
/**
* @return ODIN1
*/
[DevToDev getOdin1];
/**
* @return ODIN1
*/
DevToDev.getOdin1();

UUID

Property allows to get UUID:

/**
* @return UUID
*/
[DevToDev getUUID];
/**
* @return UUID
*/
DevToDev.getUUID();

/**
* @return UUID
*/
[DevToDev getUUID];

Debug mode

To enable the debug mode and make SDK notifications displayed in the console use this method:

/**
* @param BOOL isActive
*/
[DevToDev setActiveLog: (BOOL) isActive];
/**
* @param logLevel
*/
DevToDev.setLogLevel(LogLevel logLevel);
//to enable logging
DevToDev.SDK.LogEnabled = true;

//to disable loging
DevToDev.SDK.LogEnabled = false;
/**
* Activates console log
* @param {boolean} status
*/

devtodev.setDebugLog(status);
/// <summary> Enable/Disable log</summary>
/// <param name="isEnabled">Enabled/Disabled log</param>
DevToDev.Analytics.SetActiveLog(bool isEnabled);
/**
* @param BOOL isActive
*/
[DevToDev setActiveLog: (BOOL) isActive];
/**
* @param logLevel (set logLevel=1 to enable log, 0 to disable)
*/
DevToDev.setLogLevel(logLevel:int);

Forced sending

To send events pack before it is filled or before its formation period, you can use immediate dispatch:

[DevToDev sendBufferedEvents];
DevToDev.sendBufferedEvents();
DevToDev.SDK.sendBufferedEvents();
/**
* Sends event packet immediately
*/

devtodev.sendBufferedEvents();
DevToDev.Analytics.SendBufferedEvents();
[DevToDev sendBufferedEvents];
DevToDev.sendBufferedEvents();

Code

// Sends events pack before it is filled or before its formation period

FAnalytics::Get().GetDefaultConfiguredProvider()->FlushEvents();

To identify a specific product promotion or strategic campaign. (for example 'Snow Boots')

Current SDK version

To get the version of integrated SDK, use the following method:

/**
* @return SDKVersion
*/
[DevToDev sdkVersion];
/**
* @return SDKVersion
*/
DevToDev.getSdkVersion();
DevToDev.SDK.GetSdkVersion();
/**
* Returns SDK version
*/

devtodev.getSdkVersion();

/**
* @return SDKVersion
*/
[DevToDev sdkVersion];
/**
* @return SDKVersion
*/
DevToDev.getSdkVersion();

Set app version

To set set current application version in WEB and Windows Standalone apps use this property:

/// <summary>  Property allows to set current application version.
/// Attention! This property is necessary for WEB and Windows Standalone apps only.
/// It will be ignored on other platforms.
/// </summary>
/// <param name="version"> Current version of your application </param>
DevToDev.Analytics.ApplicationVersion = version;

Tracking state (GDPR)

The method of limiting the processing of user data. The right to be forgotten.

This method is implemented in accordance with the GDPR requirements.

In case a user doesn’t want their data to be sent and processed in the devtodev system, a developer must send a ’false’ value to this method.

When calling the method setTrackingAvailability with a ‘false’ value, SDK sends a command to the server to delete all user’s personal data that has been collected by devtodev from this app and a command to block the collection of any data of this user in future, and then stops sending any messages to the devtodev system.

The user will remain listed as an impersonal unit in previously aggregated metrics.

When sending a ‘true’ value, the permission to block data collection is removed.

/**
* The method of limiting the processing of user data. The right to be forgotten.
* @param BOOL trackingAvailable - use 'false' to erase user's personal data and stop collecting data of this user.
* 'true' if you want to resume data collection.
*/
[DevToDev setTrackingAvailability: (BOOL) trackingAvailable];

When calling the method setTrackingAvailability with a ‘false’ value, SDK sends a command to the server to delete all user’s personal data that has been collected by devtodev from this app and a command to block the collection of any data of this user in future, and then stops sending any messages to the devtodev system.

The user will remain listed as an impersonal unit in previously aggregated metrics.

When sending a ‘true’ value, the permission to block data collection is removed.

/**
* The method of limiting the processing of user data. The right to be forgotten.
* @param isAvailable - send 'false' to erase user's personal data and stop collecting data of this user.
* Send 'true' if you want to resume data collection.
*/
DevToDev.setTrackingAvailability(boolean isAvailable);

In the case of using TrackingAvailability property with a ‘false’ value, SDK sends a command to the server to delete all user’s personal data that has been collected by devtodev from this app and a command to block the collection of any data of this user in future, and then stops sending any messages to the devtodev system.

The user will remain listed as an impersonal unit in previously aggregated metrics.

In the case of using TrackingAvailability property with a ‘true’ value, the permission to block data collection is removed.

/// <summary> The Property of limiting the processing of user data. The right to be forgotten.
/// Use 'false' to erase user's personal data and stop collecting data of this user or 'true'
/// if you want to resume data collection.</summary>

DevToDev.SDK.TrackingAvailability = false/true;

When calling the method setTrackingAvailability with a ‘false’ value, SDK sends a command to the server to delete all user’s personal data that has been collected by devtodev from this app and a command to block the collection of any data of this user in future, and then stops sending any messages to the devtodev system.

The user will remain listed as an impersonal unit in previously aggregated metrics.

When sending a ‘true’ value, the permission to block data collection is removed.

/**
* The method of limiting the processing of user data. The right to be forgotten.
* @param {boolean} status - send 'false' to erase user's personal data and stop collecting data of this user.
* Send 'true' if you want to resume data collection.
*/
devtodev.setTrackingAvailability(status);

In the case of using TrackingAvailability property with a ‘false’ value, SDK sends a command to the server to delete all user’s personal data that has been collected by devtodev from this app and a command to block the collection of any data of this user in future, and then stops sending any messages to the devtodev system.

The user will remain listed as an impersonal unit in previously aggregated metrics.

In the case of using TrackingAvailability property with a ‘true’ value, the permission to block data collection is removed.

/**
* The property of limiting the processing of user data. The right to be forgotten.
* Use 'false' to erase user's personal data and stop collecting data of this user or 'true'
* if you want to resume data collection.</summary>
*/
DevToDev.Analytics.TrackingAvailability = false/true;

When calling the method setTrackingAvailability with a ‘false’ value, SDK sends a command to the server to delete all user’s personal data that has been collected by devtodev from this app and a command to block the collection of any data of this user in future, and then stops sending any messages to the devtodev system.

The user will remain listed as an impersonal unit in previously aggregated metrics.

When sending a ‘true’ value, the permission to block data collection is removed.

/**
* The method of limiting the processing of user data. The right to be forgotten.
* @param BOOL trackingAvailable - use 'false' to erase user's personal data and stop collecting data of this user.
* 'true' if you want to resume data collection.
*/
[DevToDev setTrackingAvailability: (BOOL) trackingAvailable];

When calling the method setTrackingAvailability with a ‘false’ value, SDK sends a command to the server to delete all user’s personal data that has been collected by devtodev from this app and a command to block the collection of any data of this user in future, and then stops sending any messages to the devtodev system.

The user will remain listed as an impersonal unit in previously aggregated metrics.

When sending a ‘true’ value, the permission to block data collection is removed.

/**
* The method of limiting the processing of user data. The right to be forgotten.
* @param isTrackingAvailable - send 'false' to erase user's personal data and stop collecting data of this user.
* Send 'true' if you want to resume data collection.
*/
DevToDev.setTrackingAvailability(isTrackingAvailable:Boolean)

current version can be found here