Compartir a través de


Asignación de identificadores de usuario en Android

Nota:

Esta oferta está actualmente en Alfa y está sujeta a cambios o desuso sin previo aviso.

Información general

Xandr le ofrece la opción de enviar identificadores de primer fabricante del publicador e id. de usuario desde orígenes de terceros en solicitudes de anuncios. Son configuraciones globales y basta con establecer los identificadores de usuario una vez por sesión de aplicación, ya que estos valores se usarían en todas las solicitudes de anuncios consecutivas de la misma sesión. Tenga en cuenta que, Xandr no almacena estos valores en diferentes sesiones de aplicaciones.

Estructura del SDK móvil

Id. de primera entidad del publicador

Nota:

Aviso de desuso:

Los métodos setExternalUid y getExternalUid disponibles en las clases NativeAdRequest, VideoAd, BannerAdView e InterstitialAdView están en desuso . En su lugar, puede usar setPublisherUserId y getPublisherUserId que se describen a continuación en la clase SDKSettings . Los métodos en desuso se quitarán en SDK v8.0.

Puede establecer el identificador de usuario de Publisher(First Party) mediante el método de la setPublisherUserId clase SDKSettings en mobile SDK API. GetPublisherUserId devuelve el conjunto de valores que es el identificador de usuario del publicador para el usuario de la aplicación actual.

/**
 * Specifies a string that corresponds to the Publisher(First Party) User ID for the current application user.
 * @param publisherUserId
 */
SDKSettings.setPublisherUserId(String publisherUserId);
 
/**
 * Returns the Publisher User Id for the current application user, initially added using {@link #setPublisherUserId(String)}
 * @@return publisherUserId as String.
 */
SDKSettings.getPublisherUserId();

Id. de usuario

Nota:

Aviso de desuso:

Los métodos setExternalUserIds y getExternalUserIds disponibles en las clases SDKSettings y ANExternalUserIdSource ahora están en desuso y se quitarán en SDK v8.0. Puede usar los métodos setUserIds y getUserIds en la clase SDKSettings y la clase ANUserId que se describen a continuación en su lugar como reemplazo.

Xandr admite los identificadores de usuario de los orígenes siguientes:

  • Criteo
  • El departamento de comercio
  • NetID
  • LiveRamp
  • UID 2.0
  • Id. proporcionado por el publicador/PPID (los editores pueden registrar su propio origen a través de la API y pueden pasar el identificador de usuario)

Puede establecer el id. de usuario mediante

  • crear una lista de objetos ANUserId y

  • asignar el método List al método setUserIds() en ANSDKSettings.

  • El getUserIds()método devuelve los valores establecidos como list para el usuario actual.

     /**
       * A Map containing objects that hold External UserId parameters for the current application user.
       * @param userIdList
       */
      public static void setUserIds(List<ANUserId> userIdList){
          Settings.getSettings().userIds = userIdList;
      }
      /**
       * Returns the Map that hold External UserId parameters for the current application user, initially added using {@link #setExternalUserIds(Map<ANExternalUserIdSource,String>)}
       * @@return externalUserIds as Map.
       */
      public static List<ANUserId> getUserIds() {
          return Settings.getSettings().userIds;
      }
  // In ANUserId.java
  package com.appnexus.opensdk;
    
  public class ANUserId {
    
      public enum Source {
          CRITEO,
          THE_TRADE_DESK,
          NETID,
          LIVERAMP,
          UID2
      }
       
      public ANUserId(String source, String userId){};
    
      public ANUserId(ANUserId.Source source, String userId) {};
   
    
      public String getUserId() {
          return userId;
      }
    
      public String getSource() {
          return source;
      }
  }

Ejemplos

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
 
import com.appnexus.opensdk.ANExtendedUserIdSource;
import com.appnexus.opensdk.BannerAdView;
import com.appnexus.opensdk.SDKSettings;
 
import java.util.HashMap;
import java.util.Map;
 
public class MyActivity extends Activity {
 
    Context context;
    BannerAdView bav;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        context = this;
 
        List<ANUserId> userIds = new ArrayList<>();
        ANUserId tradeDeskUserID = new ANUserId(ANUserId.Source.THE_TRADE_DESK, "userid-ttd-foobar");
        userIds.add(tradeDeskUserID);
        ANUserId criteoUserId = new ANUserId(ANUserId.Source.CRITEO, "userid-Criteo-foobar");
        userIds.add(criteoUserId);
        ANUserId netIdUserID = new ANUserId(ANUserId.Source.NETID, "userid-netid-foobar");
        userIds.add(netIdUserID);
        ANUserId liveRampUserID = new ANUserId(ANUserId.Source.LIVERAMP, "userid-liveramp-foobar");
        userIds.add(liveRampUserID);
        ANUserId UID2UserId = new ANUserId(ANUserId.Source.UID2, "userid-uid2-foobar");
        userIds.add(UID2UserId);
        ANUserId genericUserID = new ANUserId("Generic Source", "userid-generic-foobar");
        userIds.add(genericUserID);
 
        SDKSettings.setUserIds(userIds);          // Set User Id from External Sources
 
        // Setting Publisher First Party Id
        SDKSettings.setPublisherUserId("PublisherUserId-foobar");
 
        // Load Banner Ad
        // Create the AdView and set its placement ID.  Tweak a few other settings.
        bav = new BannerAdView(context);
        bav.setPlacementID("Placement");
        bav.setAdSize(300, 50);
        bav.setAdListener(adListener);
 
        //If auto-refresh is enabled
        bav.loadAd();
    }
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
    }
}