// method to set the richRelevance configuration
public static void initializeRichRelevance(Context context) {
final SharedPreference sharedPreference = SharedPreference.getInstance(context);
ClientConfiguration config = new ClientConfiguration(APIKEY, CLIENTKEY);
config.setApiClientSecret("");
Log.e("Member_ID",getStringValue(sharedPreference.getSharedPref("member_id")));
config.setUserId(getStringValue(sharedPreference.getSharedPref("member_id")));
config.setSessionId(UUID.randomUUID().toString());
RichRelevance.init(context, config);
// Enable all logging
RichRelevance.setLoggingLevel(RRLog.VERBOSE);
Logger.logDebug("RichRelevance", "initilization Done...");
}
// method to fetch recommended product from richRelevance
private void initRichRelevance() {
RichRelevance.setLoggingLevel(RRLog.VERBOSE);
Placement placement = new Placement(Placement.PlacementType.ITEM, "recs_2mh");
PlacementsRecommendationsBuilder placementsRecommendationsBuilder = new PlacementsRecommendationsBuilder();
placementsRecommendationsBuilder.setPlacements(placement);
placementsRecommendationsBuilder.setProductIds(idProduct);
placementsRecommendationsBuilder.setCallback(new Callback<PlacementResponseInfo>() {
@Override
public void onResult(PlacementResponseInfo placementResponseInfo) {
JSONObject jsonObject = null;
if (placementResponseInfo != null && placementResponseInfo.getPlacements() != null) {
try {
jsonObject = new JSONObject(placementResponseInfo.getRawJson().toString());
requestAPI(jsonObject);
} catch (JSONException e) {
Utils.logExceptionCrashLytics(e);
Logger.logError("JsonException", e.getMessage());
}
}
}
@Override
public void onError(com.richrelevance.Error error) {
Log.e(getClass().getSimpleName(), "Error: " + error.getMessage());
}
}).execute();
}
致命异常:java.lang.NullPointerException 在com.richrelevance.internal.net.HttpUrlConnectionExecutor.getConnection(HttpUrlConnectionExecutor.java:87) 在com.richrelevance.internal.net.HttpUrlConnectionExecutor.execute(HttpUrlConnectionExecutor.java:40) 在com.richrelevance.internal.net.WebRequestManager.execute(WebRequestManager.java:172) 在com.richrelevance.internal.net.WebRequestManager $ 1.run(WebRequestManager.java:193) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:587) 在com.richrelevance.internal.net.WebRequestManager $ 2 $ 1.run(WebRequestManager.java:219) 在java.lang.Thread.run(Thread.java:841)