public static void DispatchEventWithResponseCallback(ACPExtensionEvent acpExtensionEvent, AdobeEventCallback responseCallback, AdobeExtensionErrorCallback errorCallback) { if (acpExtensionEvent == null) { Debug.Log("Unable to perform DispatchEventWithResponseCallback, acpExtensionEvent is null"); return; } #if UNITY_ANDROID && !UNITY_EDITOR AndroidJavaObject eventObj = ACPHelpers.GetAdobeEventFromACPExtensionEvent(acpExtensionEvent); mobileCore.CallStatic <Boolean>("dispatchEventWithResponseCallback", eventObj, new EventCallback(responseCallback), new ExtensionErrorCallback(errorCallback)); #elif UNITY_IPHONE && !UNITY_EDITOR if (acpExtensionEvent.eventName == null || acpExtensionEvent.eventType == null || acpExtensionEvent.eventSource == null) { Debug.Log("Unable to perform DispatchEventWithResponseCallback, input params are null"); return; } string jsonDataEvent = ACPHelpers.JsonStringFromDictionary(acpExtensionEvent.eventData); if (jsonDataEvent == null) { Debug.Log("Unable to perform DispatchEventWithResponseCallback, invalid event data"); return; } acp_DispatchEventWithResponseCallback(acpExtensionEvent.eventName, acpExtensionEvent.eventType, acpExtensionEvent.eventSource, jsonDataEvent, responseCallback, errorCallback); #endif }
public static void DispatchResponseEvent(ACPExtensionEvent responseEvent, ACPExtensionEvent requestEvent, AdobeExtensionErrorCallback errorCallback) { if (responseEvent == null || requestEvent == null) { Debug.Log("Unable to perform DispatchResponseEvent, responseEvent or requestEvent is null"); return; } #if UNITY_ANDROID && !UNITY_EDITOR AndroidJavaObject responseEventObject = ACPHelpers.GetAdobeEventFromACPExtensionEvent(responseEvent); AndroidJavaObject requestEventObject = ACPHelpers.GetAdobeEventFromACPExtensionEvent(requestEvent); mobileCore.CallStatic <Boolean>("dispatchResponseEvent", responseEventObject, requestEventObject, new ExtensionErrorCallback(errorCallback)); #elif UNITY_IPHONE && !UNITY_EDITOR if (responseEvent.eventName == null || responseEvent.eventType == null || responseEvent.eventSource == null || requestEvent.eventName == null || requestEvent.eventType == null || requestEvent.eventSource == null) { Debug.Log("Unable to perform DispatchResponseEvent, input params are null"); return; } string responseJsonDataEvent = ACPHelpers.JsonStringFromDictionary(responseEvent.eventData); string requestJsonDataEvent = ACPHelpers.JsonStringFromDictionary(requestEvent.eventData); if (responseJsonDataEvent == null || requestJsonDataEvent == null) { Debug.Log("Unable to perform DispatchResponseEvent, responseEventData or requestEventData is invalid"); return; } acp_DispatchResponseEvent(responseEvent.eventName, responseEvent.eventType, responseEvent.eventSource, responseJsonDataEvent, requestEvent.eventName, requestEvent.eventType, requestEvent.eventSource, requestJsonDataEvent, errorCallback); #endif }
protected internal static AndroidJavaObject GetAdobeEventFromACPExtensionEvent(ACPExtensionEvent acpExtensionEvent) { if (acpExtensionEvent == null) { return(null); } using (AndroidJavaObject eventBuilder = new AndroidJavaObject("com.adobe.marketing.mobile.Event$Builder", acpExtensionEvent.eventName, acpExtensionEvent.eventType, acpExtensionEvent.eventSource)) { if (acpExtensionEvent.eventData != null) { using (var hashmap = GetHashMapFromDictionary(acpExtensionEvent.eventData)) { eventBuilder.Call <AndroidJavaObject>("setEventData", hashmap); } } AndroidJavaObject eventObj = eventBuilder.Call <AndroidJavaObject>("build"); return(eventObj); } }