deepwall
HomeContact UsLogin
  • Overview
  • System Components
  • Key Concepts
  • How It Works
  • Sign In
  • πŸš€GETTING STARTED
  • App Registration
  • Configure In-App Products
  • Paywall Setup
    • Create A Paywall
    • Configure Look & Feel
    • Texts and Translations
  • Displaying Paywalls
    • Activate Default Displays
    • Create Targeted Displays
    • Display Priorities
    • Display Reports
    • Edit Displays
    • Display Rules
    • On Close Paywalls
  • Store Configuration
  • Attributions Configuration
  • App Status and Settings
  • βš™οΈ SDK Framework
    • SDK Installation
      • iOS SDK
      • Android SDK
      • React Native SDK
      • Flutter SDK
      • Cordova SDK
      • Unity SDK
    • Using the SDKs
      • Initialization
      • Configuration
      • Listening SDK Events
      • Requesting Paywalls
      • Closing a Paywall
      • Validating Receipts
      • Making Purchases
      • Upgrades and Downgrades
      • Non-subscription Purchases
      • Restoring Purchases
      • Transition To Another Paywall
  • πŸ§ͺEXPERIMENTS
    • Experiments Overview
    • Create Experiments
    • Experiment Reports
    • Manual Traffic Allocation
    • Update Experiments
    • How Optimization Works?
  • πŸ“¦Integrations
    • Integrations Overview
    • Events List
    • Adjust
      • Get App Token
      • Create Adjust Events
    • AppsFlyer
      • Get Dev Key
    • Webhooks
    • OneSignal
  • ο£Ώ App Tracking (iOS 14.5)
    • App Tracking Overview
    • Configure In-app Actions
    • Create ATT Prompt
    • Displaying ATT Prompts
    • Experiments
  • πŸ“ˆDASHBOARD
    • App Overview
    • Invite Members
    • Access Management
  • GUIDES
    • Apple
      • Getting the App Credentials
      • Setup In-App Products
      • Getting the Shared Secret
      • Server to server notifications
    • Google
      • Getting App Credentials
      • Setup In-App Products
      • Create Service Account Key
      • Developer Notifications
    • Huawei
      • Getting App Credentials
      • Setup In-App Products
      • Developer Notifications
  • πŸ”Testing
    • Test Flows
    • Troubleshooting
    • Sandbox Testing
      • Apple App Store
      • Google Play Store
  • πŸ”—SDK Links
  • iOS SDK
  • Android SDK
  • React Native SDK
  • Flutter SDK
  • Cordova SDK
  • Unity SDK
Powered by GitBook
On this page
  • Set User Properties
  • Update User Properties

Was this helpful?

  1. βš™οΈ SDK Framework
  2. Using the SDKs

Configuration

Instructions for configuring Deepwall SDKs

You need to provide the user properties to Deepwall at the time of configuration, and you should also send an update whenever these properties change.

Following user properties are needed:

User Id

User Id is an identifier for the current user and it is required. We recommend using UUID as a standard for user identification.

It is important that the User Ids you send should be unique for each user, and always the same user id is always sent as long as the same user is using the app.

User Country

Country is the country code of the current user and it is required. Deepwall uses ISO 3166-1 alpha-2 two-letter country codes defined in ISO 3166-1, part of the ISO 3166 standard.

Deepwall uses the country information for geographically targeting users and for country-based analytics and optimization.

If the country code is not sent correctly, users' country will be set as unknown.

User Language

Language is the language code of the current user and it is required. Deepwall uses two-letter language codes defined in ISO 639-1.

Deepwall uses language information for targeting users with their language and displaying the paywalls in users' own language.

You can send the device language if there is no language selection in your application. But if your app has language selection options, then we recommend you to send the language information that the user has selected in your app.

If the language code is not sent correctly, users language will be set as unknown and the paywall will be displayed in the apps primary language instead of users' own language.

Environment Style

Deepwall can display the dark appearance of the paywalls for dark mode enabled users. For this, Deepwall uses the environment style property. Default value for environment style is .automatic , which means Deepwall recognizes users' system preferences for dark or light appearance. If your app does not support both modes, you can set the environment style as .light or .dark for your users.

You need to design your paywalls for dark and light appearance while you are creating the paywalls.

You can see the guide to learn more about designing paywalls for dark mode :

Debug Advertising Attiributions (Optional)

This property can be used for debugging purposes in iOS apps, while the environment has been set as sandbox, and it can help you to debug attribution targeting without configuring an attribution provider. Set .debug_campaign_attribution if you want to debug your app for users coming from an ad channel, and set .debug_attribution if you want to debug your app for organic users.

Set User Properties

You need to set the following user properties and you must call setUserProperties method before requesting any paywalls.

let userProperties = DeepWallUserProperties(uuid: uuid, country: country, language: language, debugAdvertiseAttributions: debugAttributions)
DeepWall.shared.setUserProperties(userProperties)
DeepWall.setUserProperties( 
deviceId = androidId, 
languageCode = DeepWallLanguage.getLanguageCodeByName(DeepWallLanguage.TURKISH), 
countryCode = DeepWallCountry.getCountryCodeByName(DeepWallCountry.TURKEY),
environmentStyle = DeepWallEnvironmentStyle.DARK )
import DeepWall, { DeepWallUserProperties } from 'deepwall-react-native-sdk';

DeepWall.getInstance().setUserProperties(
  new DeepWallUserProperties({
    uuid: 'UNIQUE_DEVICE_ID_HERE (UUID)',
    country: 'US',
    language: 'EN-US',
  }),
);
import​ ​'package:deepwall_flutter_plugin/deepwall_flutter_plugin.dart'​;
DeepwallFlutterPlugin.setUserProperties(​'UNIQUE_DEVICE_ID_HERE (UUID)'​,​'en-us'​,​'us'​);
cordova.DeepwallCordovaPlugin.setUserProperties('UNIQUE_DEVICE_ID_HERE (UUID)','US','EN-US', EnvironmentStyles.LIGHT, function(response){
    console.log(response);
}, function(error){
    console.log(error);
});
myUserProperty = new DeepWallUserProperty("UNIQUE_DEVICE_ID_HERE (UUID)", "US", "EN-US");
//or
myUserProperty = new DeepWallUserProperty("UNIQUE_DEVICE_ID_HERE (UUID)", "US", "EN-US", DeepWallEnvironmentStyle.DARK);

DeepWall.SetUserProperties(myUserProperty);

Update User Properties

You should send an update whenever the user properties change, like language preferences change in the app.

func updateUserProperties(country: DeepWallCountry? = nil,
			  language: DeepWallLanguage? = nil,
			  environmentStyle: DeepWallEnvironmentStyle? = nil,
			  debugAdvertiseAttributions: DeepWallAdvertiseAttributions = nil)
DeepWall.updateUserProperties(
languageCode = "EN-US", 
countryCode = "US"
environmentStyle = DeepWallEnvironmentStyle.DARK  
)
DeepWall.getInstance().updateUserProperties({
  language: 'EN-US',
});
DeepwallFlutterPlugin.updateUserProperties(​'US'​,​'EN-US'​);
cordova.DeepwallCordovaPlugin.updateUserProperties('US','EN-US',EnvironmentStyles.LIGHT, function(response){
    console.log(response);
}, function(error){
    console.log(error);
});
myUserProperty.Country = "US";
myUserProperty.Language = "EN-US";
myUserProperty.EnvironmentStyle = DeepWallEnvironmentStyle.DARK;

DeepWall.UpdateUserProperties(myUserProperty);
PreviousInitializationNextListening SDK Events

Last updated 3 years ago

Was this helpful?

Configure Look & Feel