当前位置: 首页>>代码示例>>Java>>正文


Java AttributionIdentifiers类代码示例

本文整理汇总了Java中com.facebook.internal.AttributionIdentifiers的典型用法代码示例。如果您正苦于以下问题:Java AttributionIdentifiers类的具体用法?Java AttributionIdentifiers怎么用?Java AttributionIdentifiers使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


AttributionIdentifiers类属于com.facebook.internal包,在下文中一共展示了AttributionIdentifiers类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getSessionEventsState

import com.facebook.internal.AttributionIdentifiers; //导入依赖的package包/类
private static SessionEventsState getSessionEventsState(Context context, AccessTokenAppIdPair accessTokenAppId) {
    // Do this work outside of the lock to prevent deadlocks in implementation of
    //  AdvertisingIdClient.getAdvertisingIdInfo, because that implementation blocks waiting on the main thread,
    //  which may also grab this staticLock.
    SessionEventsState state = stateMap.get(accessTokenAppId);
    AttributionIdentifiers attributionIdentifiers = null;
    if (state == null) {
        // Retrieve attributionId, but we will only send it if attribution is supported for the app.
        attributionIdentifiers = AttributionIdentifiers.getAttributionIdentifiers(context);
    }

    synchronized (staticLock) {
        // Check state again while we're locked.
        state = stateMap.get(accessTokenAppId);
        if (state == null) {
            state = new SessionEventsState(attributionIdentifiers, context.getPackageName(), getAnonymousAppDeviceGUID(context));
            stateMap.put(accessTokenAppId, state);
        }
        return state;
    }
}
 
开发者ID:dannegm,项目名称:BrillaMXAndroid,代码行数:22,代码来源:AppEventsLogger.java

示例2: getSessionEventsState

import com.facebook.internal.AttributionIdentifiers; //导入依赖的package包/类
private static SessionEventsState getSessionEventsState(Context context, AccessTokenAppIdPair accessTokenAppId) {
    // Do this work outside of the lock to prevent deadlocks in implementation of
    //  AdvertisingIdClient.getAdvertisingIdInfo, because that implementation blocks waiting on the main thread,
    //  which may also grab this staticLock.
    SessionEventsState state = stateMap.get(accessTokenAppId);
    AttributionIdentifiers attributionIdentifiers = null;
    if (state == null) {
        // Retrieve attributionId, but we will only send it if attribution is supported for the app.
        attributionIdentifiers = AttributionIdentifiers.getAttributionIdentifiers(context);
    }

    synchronized (staticLock) {
        // Check state again while we're locked.
        state = stateMap.get(accessTokenAppId);
        if (state == null) {
            state = new SessionEventsState(attributionIdentifiers, context.getPackageName(), hashedDeviceAndAppId);
            stateMap.put(accessTokenAppId, state);
        }
        return state;
    }
}
 
开发者ID:jacquesgiraudel,项目名称:TP-Formation-Android,代码行数:22,代码来源:AppEventsLogger.java

示例3: getSessionEventsState

import com.facebook.internal.AttributionIdentifiers; //导入依赖的package包/类
private static SessionEventsState getSessionEventsState(
        Context context,
        AccessTokenAppIdPair accessTokenAppId) {
    // Do this work outside of the lock to prevent deadlocks in implementation of
    // AdvertisingIdClient.getAdvertisingIdInfo, because that implementation blocks waiting on
    // the main thread, which may also grab this staticLock.
    SessionEventsState state = stateMap.get(accessTokenAppId);
    AttributionIdentifiers attributionIdentifiers = null;
    if (state == null) {
        // Retrieve attributionId, but we will only send it if attribution is supported for the
        // app.
        attributionIdentifiers = AttributionIdentifiers.getAttributionIdentifiers(context);
    }

    synchronized (staticLock) {
        // Check state again while we're locked.
        state = stateMap.get(accessTokenAppId);
        if (state == null) {
            state = new SessionEventsState(
                    attributionIdentifiers,
                    context.getPackageName(),
                    getAnonymousAppDeviceGUID(context));
            stateMap.put(accessTokenAppId, state);
        }
        return state;
    }
}
 
开发者ID:eviltnan,项目名称:kognitivo,代码行数:28,代码来源:AppEventsLogger.java

示例4: SessionEventsState

import com.facebook.internal.AttributionIdentifiers; //导入依赖的package包/类
public SessionEventsState(
        AttributionIdentifiers identifiers,
        String packageName,
        String anonymousGUID) {
    this.attributionIdentifiers = identifiers;
    this.packageName = packageName;
    this.anonymousAppDeviceGUID = anonymousGUID;
}
 
开发者ID:eviltnan,项目名称:kognitivo,代码行数:9,代码来源:AppEventsLogger.java

示例5: newCustomAudienceThirdPartyIdRequest

import com.facebook.internal.AttributionIdentifiers; //导入依赖的package包/类
public static Request newCustomAudienceThirdPartyIdRequest(Session paramSession, Context paramContext, String paramString, Callback paramCallback)
{
  if (paramSession == null)
    paramSession = Session.getActiveSession();
  if ((paramSession != null) && (!paramSession.isOpened()))
    paramSession = null;
  if (paramString == null)
    if (paramSession != null)
      paramString = paramSession.getApplicationId();
    else
      paramString = Utility.getMetadataApplicationId(paramContext);
  if (paramString == null)
    throw new FacebookException("Facebook App ID cannot be determined");
  String str1 = paramString + "/custom_audience_third_party_id";
  AttributionIdentifiers localAttributionIdentifiers = AttributionIdentifiers.getAttributionIdentifiers(paramContext);
  Bundle localBundle = new Bundle();
  if (paramSession == null)
  {
    String str2;
    if (localAttributionIdentifiers.getAttributionId() != null)
      str2 = localAttributionIdentifiers.getAttributionId();
    else
      str2 = localAttributionIdentifiers.getAndroidAdvertiserId();
    if (localAttributionIdentifiers.getAttributionId() != null)
      localBundle.putString("udid", str2);
  }
  if ((Settings.getLimitEventAndDataUsage(paramContext)) || (localAttributionIdentifiers.isTrackingLimited()))
    localBundle.putString("limit_event_usage", "1");
  HttpMethod localHttpMethod = HttpMethod.GET;
  return new Request(paramSession, str1, localBundle, localHttpMethod, paramCallback);
}
 
开发者ID:mmmsplay10,项目名称:QuizUpWinner,代码行数:32,代码来源:Request.java

示例6: publishInstallAndWaitForResponse

import com.facebook.internal.AttributionIdentifiers; //导入依赖的package包/类
static Response publishInstallAndWaitForResponse(
        final Context context,
        final String applicationId,
        final boolean isAutoPublish) {
    try {
        if (context == null || applicationId == null) {
            throw new IllegalArgumentException("Both context and applicationId must be non-null");
        }
        AttributionIdentifiers identifiers = AttributionIdentifiers.getAttributionIdentifiers(context);
        SharedPreferences preferences = context.getSharedPreferences(ATTRIBUTION_PREFERENCES, Context.MODE_PRIVATE);
        String pingKey = applicationId+"ping";
        String jsonKey = applicationId+"json";
        long lastPing = preferences.getLong(pingKey, 0);
        String lastResponseJSON = preferences.getString(jsonKey, null);

        // prevent auto publish from occurring if we have an explicit call.
        if (!isAutoPublish) {
            setShouldAutoPublishInstall(false);
        }

        GraphObject publishParams = GraphObject.Factory.create();
        publishParams.setProperty(ANALYTICS_EVENT, MOBILE_INSTALL_EVENT);

        Utility.setAppEventAttributionParameters(publishParams,
                identifiers,
                Utility.getHashedDeviceAndAppID(context, applicationId),
                getLimitEventAndDataUsage(context));
        publishParams.setProperty(AUTO_PUBLISH, isAutoPublish);
        publishParams.setProperty("application_package_name", context.getPackageName());

        String publishUrl = String.format(PUBLISH_ACTIVITY_PATH, applicationId);
        Request publishRequest = Request.newPostRequest(null, publishUrl, publishParams, null);

        if (lastPing != 0) {
            GraphObject graphObject = null;
            try {
                if (lastResponseJSON != null) {
                    graphObject = GraphObject.Factory.create(new JSONObject(lastResponseJSON));
                }
            }
            catch (JSONException je) {
                // return the default graph object if there is any problem reading the data.
            }
            if (graphObject == null) {
                return Response.createResponsesFromString("true", null, new RequestBatch(publishRequest), true).get(0);
            } else {
                return new Response(null, null, null, graphObject, true);
            }
        } else if (identifiers.getAndroidAdvertiserId() == null && identifiers.getAttributionId() == null) {
            throw new FacebookException("No attribution id available to send to server.");
        } else {
            if (!Utility.queryAppSettings(applicationId, false).supportsAttribution()) {
                throw new FacebookException("Install attribution has been disabled on the server.");
            }

            Response publishResponse = publishRequest.executeAndWait();

            // denote success since no error threw from the post.
            SharedPreferences.Editor editor = preferences.edit();
            lastPing = System.currentTimeMillis();
            editor.putLong(pingKey, lastPing);

            // if we got an object response back, cache the string of the JSON.
            if (publishResponse.getGraphObject() != null &&
                publishResponse.getGraphObject().getInnerJSONObject() != null) {
                editor.putString(jsonKey, publishResponse.getGraphObject().getInnerJSONObject().toString());
            }
            editor.commit();

            return publishResponse;
        }
    } catch (Exception e) {
        // if there was an error, fall through to the failure case.
        Utility.logd("Facebook-publish", e);
        return new Response(null, null, new FacebookRequestError(null, e));
    }
}
 
开发者ID:MobileDev418,项目名称:AndroidBackendlessChat,代码行数:78,代码来源:Settings.java

示例7: SessionEventsState

import com.facebook.internal.AttributionIdentifiers; //导入依赖的package包/类
public SessionEventsState(AttributionIdentifiers identifiers, String packageName, String anonymousGUID) {
    this.attributionIdentifiers = identifiers;
    this.packageName = packageName;
    this.anonymousAppDeviceGUID = anonymousGUID;
}
 
开发者ID:dannegm,项目名称:BrillaMXAndroid,代码行数:6,代码来源:AppEventsLogger.java

示例8: publishInstallAndWaitForResponse

import com.facebook.internal.AttributionIdentifiers; //导入依赖的package包/类
static Response publishInstallAndWaitForResponse(
        final Context context,
        final String applicationId) {
    try {
        if (context == null || applicationId == null) {
            throw new IllegalArgumentException("Both context and applicationId must be non-null");
        }
        AttributionIdentifiers identifiers = AttributionIdentifiers.getAttributionIdentifiers(context);
        SharedPreferences preferences = context.getSharedPreferences(ATTRIBUTION_PREFERENCES, Context.MODE_PRIVATE);
        String pingKey = applicationId+"ping";
        String jsonKey = applicationId+"json";
        long lastPing = preferences.getLong(pingKey, 0);
        String lastResponseJSON = preferences.getString(jsonKey, null);

        GraphObject publishParams = GraphObject.Factory.create();
        publishParams.setProperty(ANALYTICS_EVENT, MOBILE_INSTALL_EVENT);

        Utility.setAppEventAttributionParameters(
                publishParams,
                identifiers,
                AppEventsLogger.getAnonymousAppDeviceGUID(context),
                getLimitEventAndDataUsage(context));
        publishParams.setProperty("application_package_name", context.getPackageName());

        String publishUrl = String.format(PUBLISH_ACTIVITY_PATH, applicationId);
        Request publishRequest = Request.newPostRequest(null, publishUrl, publishParams, null);

        if (lastPing != 0) {
            GraphObject graphObject = null;
            try {
                if (lastResponseJSON != null) {
                    graphObject = GraphObject.Factory.create(new JSONObject(lastResponseJSON));
                }
            }
            catch (JSONException je) {
                // return the default graph object if there is any problem reading the data.
            }
            if (graphObject == null) {
                return Response.createResponsesFromString("true", null, new RequestBatch(publishRequest), true).get(0);
            } else {
                return new Response(null, null, null, graphObject, true);
            }

        } else {

            Response publishResponse = publishRequest.executeAndWait();

            // denote success since no error threw from the post.
            SharedPreferences.Editor editor = preferences.edit();
            lastPing = System.currentTimeMillis();
            editor.putLong(pingKey, lastPing);

            // if we got an object response back, cache the string of the JSON.
            if (publishResponse.getGraphObject() != null &&
                publishResponse.getGraphObject().getInnerJSONObject() != null) {
                editor.putString(jsonKey, publishResponse.getGraphObject().getInnerJSONObject().toString());
            }
            editor.apply();

            return publishResponse;
        }
    } catch (Exception e) {
        // if there was an error, fall through to the failure case.
        Utility.logd("Facebook-publish", e);
        return new Response(null, null, new FacebookRequestError(null, e));
    }
}
 
开发者ID:dannegm,项目名称:BrillaMXAndroid,代码行数:68,代码来源:Settings.java

示例9: SessionEventsState

import com.facebook.internal.AttributionIdentifiers; //导入依赖的package包/类
public SessionEventsState(AttributionIdentifiers identifiers, String packageName, String hashedDeviceAndAppId) {
    this.attributionIdentifiers = identifiers;
    this.packageName = packageName;
    this.hashedDeviceAndAppId = hashedDeviceAndAppId;
}
 
开发者ID:jacquesgiraudel,项目名称:TP-Formation-Android,代码行数:6,代码来源:AppEventsLogger.java

示例10: publishInstallAndWaitForResponse

import com.facebook.internal.AttributionIdentifiers; //导入依赖的package包/类
static Response publishInstallAndWaitForResponse(
        final Context context,
        final String applicationId,
        final boolean isAutoPublish) {
    try {
        if (context == null || applicationId == null) {
            throw new IllegalArgumentException("Both context and applicationId must be non-null");
        }
        AttributionIdentifiers identifiers = AttributionIdentifiers.getAttributionIdentifiers(context);
        SharedPreferences preferences = context.getSharedPreferences(ATTRIBUTION_PREFERENCES, Context.MODE_PRIVATE);
        String pingKey = applicationId+"ping";
        String jsonKey = applicationId+"json";
        long lastPing = preferences.getLong(pingKey, 0);
        String lastResponseJSON = preferences.getString(jsonKey, null);

        // prevent auto publish from occurring if we have an explicit call.
        if (!isAutoPublish) {
            setShouldAutoPublishInstall(false);
        }

        GraphObject publishParams = GraphObject.Factory.create();
        publishParams.setProperty(ANALYTICS_EVENT, MOBILE_INSTALL_EVENT);

        Utility.setAppEventAttributionParameters(publishParams,
                identifiers,
                Utility.getHashedDeviceAndAppID(context, applicationId),
                getLimitEventAndDataUsage(context));
        publishParams.setProperty(AUTO_PUBLISH, isAutoPublish);
        publishParams.setProperty("application_package_name", context.getPackageName());

        String publishUrl = String.format(PUBLISH_ACTIVITY_PATH, applicationId);
        Request publishRequest = Request.newPostRequest(null, publishUrl, publishParams, null);

        if (lastPing != 0) {
            GraphObject graphObject = null;
            try {
                if (lastResponseJSON != null) {
                    graphObject = GraphObject.Factory.create(new JSONObject(lastResponseJSON));
                }
            }
            catch (JSONException je) {
                // return the default graph object if there is any problem reading the data.
            }
            if (graphObject == null) {
                return Response.createResponsesFromString("true", null, new RequestBatch(publishRequest), true).get(0);
            } else {
                return new Response(null, null, null, graphObject, true);
            }
        } else if (identifiers == null ||
                   (identifiers.getAndroidAdvertiserId() == null && identifiers.getAttributionId() == null)) {
            throw new FacebookException("No attribution id available to send to server.");
        } else {
            if (!Utility.queryAppSettings(applicationId, false).supportsAttribution()) {
                throw new FacebookException("Install attribution has been disabled on the server.");
            }

            Response publishResponse = publishRequest.executeAndWait();

            // denote success since no error threw from the post.
            SharedPreferences.Editor editor = preferences.edit();
            lastPing = System.currentTimeMillis();
            editor.putLong(pingKey, lastPing);

            // if we got an object response back, cache the string of the JSON.
            if (publishResponse.getGraphObject() != null &&
                publishResponse.getGraphObject().getInnerJSONObject() != null) {
                editor.putString(jsonKey, publishResponse.getGraphObject().getInnerJSONObject().toString());
            }
            editor.apply();

            return publishResponse;
        }
    } catch (Exception e) {
        // if there was an error, fall through to the failure case.
        Utility.logd("Facebook-publish", e);
        return new Response(null, null, new FacebookRequestError(null, e));
    }
}
 
开发者ID:jacquesgiraudel,项目名称:TP-Formation-Android,代码行数:79,代码来源:Settings.java

示例11: publishInstallAndWaitForResponse

import com.facebook.internal.AttributionIdentifiers; //导入依赖的package包/类
static Response publishInstallAndWaitForResponse(
        final Context context,
        final String applicationId,
        final boolean isAutoPublish) {
    try {
        if (context == null || applicationId == null) {
            throw new IllegalArgumentException("Both context and applicationId must be non-null");
        }
        AttributionIdentifiers identifiers = AttributionIdentifiers.getAttributionIdentifiers(context);
        SharedPreferences preferences = context.getSharedPreferences(ATTRIBUTION_PREFERENCES, Context.MODE_PRIVATE);
        String pingKey = applicationId+"ping";
        String jsonKey = applicationId+"json";
        long lastPing = preferences.getLong(pingKey, 0);
        String lastResponseJSON = preferences.getString(jsonKey, null);

        // prevent auto publish from occurring if we have an explicit call.
        if (!isAutoPublish) {
            setShouldAutoPublishInstall(false);
        }

        GraphObject publishParams = GraphObject.Factory.create();
        publishParams.setProperty(ANALYTICS_EVENT, MOBILE_INSTALL_EVENT);

        Utility.setAppEventAttributionParameters(publishParams,
                identifiers,
                Utility.getHashedDeviceAndAppID(context, applicationId),
                getLimitEventAndDataUsage(context));
        publishParams.setProperty(AUTO_PUBLISH, isAutoPublish);
        publishParams.setProperty("application_package_name", context.getPackageName());

        String publishUrl = String.format(PUBLISH_ACTIVITY_PATH, applicationId);
        Request publishRequest = Request.newPostRequest(null, publishUrl, publishParams, null);

        if (lastPing != 0) {
            GraphObject graphObject = null;
            try {
                if (lastResponseJSON != null) {
                    graphObject = GraphObject.Factory.create(new JSONObject(lastResponseJSON));
                }
            }
            catch (JSONException je) {
                // return the default graph object if there is any problem reading the data.
            }
            if (graphObject == null) {
                return Response.createResponsesFromString("true", null, new RequestBatch(publishRequest), true).get(0);
            } else {
                return new Response(null, null, null, graphObject, true);
            }
        } else if (identifiers == null ||
                   (identifiers.getAndroidAdvertiserId() == null && identifiers.getAttributionId() == null)) {
            throw new FacebookException("No attribution id available to send to server.");
        } else {
            if (!Utility.queryAppSettings(applicationId, false).supportsAttribution()) {
                throw new FacebookException("Install attribution has been disabled on the server.");
            }

            Response publishResponse = publishRequest.executeAndWait();

            // denote success since no error threw from the post.
            SharedPreferences.Editor editor = preferences.edit();
            lastPing = System.currentTimeMillis();
            editor.putLong(pingKey, lastPing);

            // if we got an object response back, cache the string of the JSON.
            if (publishResponse.getGraphObject() != null &&
                publishResponse.getGraphObject().getInnerJSONObject() != null) {
                editor.putString(jsonKey, publishResponse.getGraphObject().getInnerJSONObject().toString());
            }
            editor.commit();

            return publishResponse;
        }
    } catch (Exception e) {
        // if there was an error, fall through to the failure case.
        Utility.logd("Facebook-publish", e);
        return new Response(null, null, new FacebookRequestError(null, e));
    }
}
 
开发者ID:bdentino,项目名称:Qtino.SharingKit,代码行数:79,代码来源:Settings.java


注:本文中的com.facebook.internal.AttributionIdentifiers类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。