Initialize the SDK

You need to initialize the adjoe SDK before you can use any of its features. To do this, call window.AdjoePlugin.initinitialize(String, Object, function, function) when your app is starting. The initialization will run asynchronously in the background and notify you when it is finished by invoking one of the callback methods. After one successful initialization all following calls to window.AdjoePlugin.initialize will immediately invoke the success callback until your app is removed from the heap. The SDK initialization should be started as soon as possible after the app starts to make sure that all adjoe features are available when you want to use them.

Best practices for the SDK initialization:

  • Initialize early: You should initialize the SDK as soon as possible after your app starts to make sure that all adjoe features are available when you want to use them.

  • Initialize after your app authentication: You should initialize the SDK (again) with up-to-date details as soon as your user has signed up/signed in to the app so to update the userId.

  • Initialize regularly: For the best user experience, we highly recommend to call this method every time your app comes to the foreground. This should not be noticeable in your app's performance.

  • Initialization triggers: Good places to call this method are the app start and resume.


// General idea
Adjoe.init('sdkHash', options, success, error);
// A complete example
        'user_id': getUserId(),
        'adjoe_params': {
                'uaNetwork': "uaNetwork_value",
          	'uaChannel': "uaChannel_value",
          	'uaSubPublisherCleartext': "uaSubPublisherCleartext_value",
          	'uaSubPublisherEncrypted': "uaSubPublisherEncrypted_value",
          	'placement': 'placement_value'
        'adjoe_extension': {
                'subId1': "RN_subId1",
                'subId2': "RN_subId2",
                'subId3': "RN_subId3",
                'subId4': "RN_subId4",
                'subId5': "RN_subId5"
        'user_profile': {
                'gender': 'male',
                'birthdate': "2023-07-17T22:25:00.000Z"
  function() {
      // the adjoe plugin was initialized successfully
  function(err) {
      // an error occurred while initializing the adjoe plugin.

The parameters to this call are as follows:

  • String sdkHash: You adjoe API key.

  • Object options: An object for passing additional values to the initialization of adjoe. Currently the following options are supported:

    • string user_id: A custom identifier that you wish to assign to this user. If you don't have an identifier for your user already, the adjoe SDK will generate one. You can then access it by calling window.AdjoePlugin.getUserId(function, function). Only this ID will allow you to match the payouts to your users in the process of Server-to-server payout.

    • {} adjoeParams: A table containing User Acquisition and Playtime placement information.

    • {} adjoeUserProfile: This contains the birthday and the gender of the user using the App. Using this adjoe can provide a more suitable advertising campaign for the user.

    • {} adjoeExtension: This object contains additional optional five string identifiers that i.e would have a meaning in your system and they will be provided back in the Server-to-server payout.

If you want to use S2S payout, you have to set the user id in order to match the payout to your user.